plt-neb¶
Visualizing NEB Landscapes¶
This tool generates 2D energy landscape plots from NEB calculations using gradient-enhanced surface interpolation.
Method¶
The default grad_imq surface method uses gradient-enhanced Inverse Multiquadric interpolation on 2D RMSD projections.
This approach is described in:
R. Goswami, “Two-dimensional RMSD projections for reaction path visualization and validation,” MethodsX, p. 103851, Mar. 2026, doi: 10.1016/j.mex.2026.103851.
The method projects high-dimensional structures onto 2D RMSD coordinates (reactant distance r vs product distance p),
then fits a smooth surface using energy values and their gradients for enhanced accuracy.
Usage¶
To plot a specific range of neb_*.dat files and save the output:
To show the plot interactively without saving:
python -m rgpycrumbs.cli eon plt-neb --start 280
Troubleshooting¶
“No .dat files found” error¶
Problem: The script reports no input files matching the pattern.
Solution:
Verify the input pattern matches your files:
ls neb_*.datUse the
--input-patternflag to specify a custom pattern:python -m rgpycrumbs.cli eon plt-neb --input-pattern "path/to/neb_*.dat"
“Index out of range” error¶
Problem: The --start or --end indices are outside the available data range.
Solution:
Check available iterations:
ls -1 neb_*.dat | wc -lAdjust indices to be within range (0 to N-1 where N is the number of files)
Plot appears empty¶
Problem: The plot window opens but shows no data.
Solution:
Verify the .dat files contain valid energy data (column 2)
Check that the energy values are not all identical
Try with a smaller range first:
--start 0 --end 5
Force-corrected interpolation fails¶
Problem: Hermite spline interpolation produces warnings or errors.
Solution:
Ensure you have at least 3 data points
Check that force data (column 4 in .dat) is present
The script falls back to raw lines if spline fails - this is expected behavior
OCI-NEB/RONEB Options¶
MMF Peak Overlay¶
When eOn produces peak{NN}_pos.con files (from OCI-NEB mode-following), overlay them on the landscape:
rgpycrumbs eon plt-neb --plot-type landscape --mmf-peaks
Peaks are auto-detected in the current directory. Use --peak-dir to specify an explicit path:
rgpycrumbs eon plt-neb --plot-type landscape --mmf-peaks --peak-dir path/to/peaks/
Band Evolution¶
Show how the NEB band evolves across optimization iterations (requires write_movies=true data):
rgpycrumbs eon plt-neb --plot-type landscape --show-evolution
Older bands appear with lower opacity; the final band is most visible.
Structure Rendering¶
Rendering Backends¶
Four backends available via --strip-renderer:
Backend |
Install |
Style |
|---|---|---|
|
|
Ball-and-stick, paton preset |
|
Built-in |
Space-filling spheres |
|
|
PyVista ball-and-stick, transparent bg |
|
|
OVITO off-screen |
Viewing Angle¶
--rotation "0x,90y,0z" (default) sets the viewing angle for all backends. Uses
ASE-style rotation syntax.
Perspective Tilt¶
--perspective-tilt 8 applies a small Rodrigues off-axis rotation (8 degrees)
to reveal atoms hidden by orthographic projection overlap. Useful for ring
structures where H atoms hide behind carbons.
See Also¶
Plotting saddle search trajectories for dimer/single-ended visualization
Plotting minimization trajectories for minimization visualization
API Reference¶
For developer details and source code see
rgpycrumbs.eon.plt_neb.