chemparseplot.parse.orca.neb.opi_parser

Parse ORCA NEB calculations using OPI (ORCA Python Interface).

Requires ORCA 6.1+ and the orca-pi package. Falls back to legacy parsing for older ORCA versions.

Returns data in format compatible with chemparseplot.plot.neb plotting functions.

Added in version 0.2.0.

Module Contents

Functions

_get_opi_output

Get OPI Output class, installing if needed.

parse_orca_neb

Parse ORCA NEB calculation using OPI.

_calculate_rmsd

Calculate RMSD between two ASE Atoms objects (simple, no alignment).

_compute_synthetic_gradients

Compute synthetic gradients for landscape plotting.

parse_orca_neb_fallback

Parse ORCA NEB using legacy regex parsing (ORCA < 6.1).

Data

_opi_output

HAS_OPI

API

chemparseplot.parse.orca.neb.opi_parser._opi_output

None

chemparseplot.parse.orca.neb.opi_parser._get_opi_output()

Get OPI Output class, installing if needed.

chemparseplot.parse.orca.neb.opi_parser.HAS_OPI

True

chemparseplot.parse.orca.neb.opi_parser.parse_orca_neb(basename: str, working_dir: pathlib.Path | None = None) dict[str, Any]

Parse ORCA NEB calculation using OPI.

Returns data compatible with chemparseplot.plot.neb functions:

  • energies: array of energies in eV

  • rmsd_r, rmsd_p: RMSD from reactant/product (if geometries available)

  • grad_r, grad_p: gradients (if forces available)

  • converged: bool

  • n_images: number of images

Parameters

basename ORCA job basename (without extension) working_dir Working directory containing ORCA output files

Returns

dict Structured NEB data compatible with plot_neb_profile() and plot_neb_landscape()

Example

from chemparseplot.parse.orca.neb import parse_orca_neb from chemparseplot.plot.neb import plot_energy_path, plot_landscape_path_overlay data = parse_orca_neb(“job”, Path(“calc”))

Use with existing plotting functions

chemparseplot.parse.orca.neb.opi_parser._calculate_rmsd(ref: Any, mobile: Any) float

Calculate RMSD between two ASE Atoms objects (simple, no alignment).

chemparseplot.parse.orca.neb.opi_parser._compute_synthetic_gradients(rmsd_r, rmsd_p, forces, atoms_list)

Compute synthetic gradients for landscape plotting.

chemparseplot.parse.orca.neb.opi_parser.parse_orca_neb_fallback(basename: str, working_dir: pathlib.Path | None = None) dict[str, Any] | None

Parse ORCA NEB using legacy regex parsing (ORCA < 6.1).

Falls back to parsing .interp files if OPI is not available.

Returns

dict or None NEB data if successful, None if parsing fails