Reaction Paths (NEB)
A nudged-elastic-band calculation produces an ordered chain of images between two minima. Unlike a trajectory these are not frames in time: the x-axis is a reaction coordinate, and the quantities of interest are the forward and reverse barriers, the reaction energy, and the location of the saddle.
The path shown below is synthetic: no DFT, NEB or MD code produced it. The
geometries are an ideal rocksalt MgO cell with one Li interstitial walked along a hand-chosen
route, the energies come from E(u) = A·sin²(πu) + 0.18·u eV shifted by a constant −284.317 eV so they read
like VASP totals, and the forces are that expression's analytic −dE/ds. Every number on this
page exercises the viewer; none of them describes Li migration in MgO.
Why the reaction coordinate must be minimum-image
The migrating Li leaves the cell through the +z face and re-enters at −z. Taking raw coordinate differences turns that one 0.287 Å step into a 3.93 Å jump across almost the whole cell, and inflates the path with it:
- Minimum-image arc length
- 1.988 Å
- Raw coordinate subtraction
- 5.628 Å
- Inflation factor
- 2.83×
Fitted saddle versus highest image
The highest computed image is #3, at 0.8339 eV above the initial state. The force-hermite fit places the saddle 0.00691 eV higher, between images #3 and #4. Quoting the fitted value as if an image sat there is a real reporting error, so the two are always reported separately.
Comparing mechanisms
Both paths in this fixture connect the same endpoints, so they must share a reaction energy of +0.18 eV; only the barrier distinguishes them. The direct hop carries forces and is fitted with the force-projected spline, the curved hop has energies only and falls back to a natural cubic.
Input format
Reaction paths are read from matterviz-reaction-path JSON. Drop a file onto
the viewer above, or drop a multi-frame extended-XYZ file (what ase.io.write("neb.xyz", images) writes) — energies come from the energy= key on each comment line and forces from a forces block in Properties=. Loose single-structure files dropped
together are assembled into one path in drop order and must each carry a numeric properties.energy.
{
"format": "matterviz-reaction-path",
"version": 1,
"energy_unit": "eV",
"paths": {
"direct hop": {
"label": "direct hop",
"images": [
{
"energy": -284.317,
"label": "image 0",
"forces": [[0.0, 0.0, -0.09], ...],
"structure": { "lattice": { "matrix": [[4.21, 0, 0], ...] }, "sites": [...] }
}
]
}
}
} A single path may replace paths with a top-level images array. A
browser cannot read a directory from a plain drop, so a VASP 00/, 01/ … layout has to be converted to one of these formats first.