chemparseplot.parse.neb_utils

Shared NEB analysis utilities.

Added in version 1.2.0.

Functions common to all NEB trajectory sources (eOn, extxyz, etc.): RMSD landscape coordinate calculation, synthetic 2D gradient projection, and landscape DataFrame construction.

Module Contents

Functions

calculate_landscape_coords

Calculate 2D landscape coordinates (RMSD-A, RMSD-B) for a path.

compute_synthetic_gradients

Project parallel force onto the 2D RMSD coordinate system.

create_landscape_dataframe

Build a landscape DataFrame with the standard schema.

Data

log

API

chemparseplot.parse.neb_utils.log

‘getLogger(…)’

chemparseplot.parse.neb_utils.calculate_landscape_coords(atoms_list: list[ase.Atoms], ira_instance, ira_kmax: float, ref_a: ase.Atoms | None = None, ref_b: ase.Atoms | None = None) tuple[numpy.ndarray, numpy.ndarray]

Calculate 2D landscape coordinates (RMSD-A, RMSD-B) for a path.

Added in version 1.2.0.

Changed in version 1.5.0: Added ref_a and ref_b parameters for explicit reference structures.

Parameters:
  • atoms_list – List of ASE Atoms objects representing the path.

  • ira_instance – An instantiated IRA object (or None).

  • ira_kmax – kmax factor for IRA.

  • ref_a – Reference structure A. Defaults to atoms_list[0].

  • ref_b – Reference structure B. Defaults to atoms_list[-1].

Returns:

A tuple of (rmsd_a, rmsd_b) arrays.

chemparseplot.parse.neb_utils.compute_synthetic_gradients(rmsd_r: numpy.ndarray, rmsd_p: numpy.ndarray, f_para: numpy.ndarray) tuple[numpy.ndarray, numpy.ndarray]

Project parallel force onto the 2D RMSD coordinate system.

Added in version 1.2.0.

Computes synthetic gradients by projecting the NEB parallel force component along the tangent direction in (RMSD-R, RMSD-P) space.

Parameters:
  • rmsd_r – RMSD from reactant for each image.

  • rmsd_p – RMSD from product for each image.

  • f_para – Force component parallel to the path for each image.

Returns:

(grad_r, grad_p) arrays.

chemparseplot.parse.neb_utils.create_landscape_dataframe(rmsd_r: numpy.ndarray, rmsd_p: numpy.ndarray, grad_r: numpy.ndarray, grad_p: numpy.ndarray, z: numpy.ndarray, step: int) polars.DataFrame

Build a landscape DataFrame with the standard schema.

Added in version 1.2.0.

Parameters:
  • rmsd_r – RMSD from reactant.

  • rmsd_p – RMSD from product.

  • grad_r – Synthetic gradient in R direction.

  • grad_p – Synthetic gradient in P direction.

  • z – Energy (or eigenvalue) data.

  • step – Step index for this path segment.

Returns:

Polars DataFrame with columns [r, p, grad_r, grad_p, z, step].