chemparseplot.parse.eon.dimer_trajectory#

Dimer/saddle search trajectory parser for eOn output.

Reads structured per-iteration data from climb.dat (TSV) and concatenated trajectory from climb.con (movie file), as produced by eOn with write_movies=true.

.. versionadded:: 1.5.0

Module Contents#

Classes#

DimerTrajectoryData

Container for a dimer/saddle search trajectory.

Functions#

parse_climb_dat

Read the structured climb.dat TSV file.

parse_climb_con

Read concatenated structures from the climb.con movie file.

_load_mode_dat

Load eigenvector from mode.dat (Nx3 whitespace-separated).

table_from_dimer_metadata

Reconstruct climb metrics from per-frame CON metadata.

load_dimer_trajectory

Load a complete dimer/saddle search trajectory from an eOn job directory.

Data#

API#

chemparseplot.parse.eon.dimer_trajectory.log#

‘getLogger(…)’

chemparseplot.parse.eon.dimer_trajectory.DIMER_METADATA_COLUMNS#

(‘frame_index’, ‘step_size’, ‘delta_e’, ‘convergence’, ‘eigenvalue’, ‘torque’, ‘angle’, ‘rotations’)

class chemparseplot.parse.eon.dimer_trajectory.DimerTrajectoryData#

Container for a dimer/saddle search trajectory.

Attributes

atoms_list Per-iteration structures from the movie file. dat_df Polars DataFrame with per-iteration metrics from climb.dat. initial_atoms Starting structure (from reactant.con or pos.con). saddle_atoms Final saddle point structure (from saddle.con), or None. mode_vector Eigenvector at the saddle (from mode.dat), or None.

atoms_list: list[ase.Atoms]#

None

dat_df: polars.DataFrame#

None

initial_atoms: ase.Atoms#

None

saddle_atoms: ase.Atoms | None#

None

mode_vector: numpy.ndarray | None#

None

chemparseplot.parse.eon.dimer_trajectory.parse_climb_dat(path: pathlib.Path) polars.DataFrame#

Read the structured climb.dat TSV file.

Parameters

path Path to the climb.dat file.

Returns

pl.DataFrame DataFrame with columns matching the TSV header.

chemparseplot.parse.eon.dimer_trajectory.parse_climb_con(path: pathlib.Path) list[ase.Atoms]#

Read concatenated structures from the climb.con movie file.

Parameters

path Path to the climb or climb.con file.

Returns

list[Atoms] List of ASE Atoms objects, one per iteration.

chemparseplot.parse.eon.dimer_trajectory._load_mode_dat(path: pathlib.Path) numpy.ndarray | None#

Load eigenvector from mode.dat (Nx3 whitespace-separated).

chemparseplot.parse.eon.dimer_trajectory.table_from_dimer_metadata(frames: list[readcon.ConFrame]) polars.DataFrame#

Reconstruct climb metrics from per-frame CON metadata.

chemparseplot.parse.eon.dimer_trajectory.load_dimer_trajectory(job_dir: pathlib.Path) chemparseplot.parse.eon.dimer_trajectory.DimerTrajectoryData#

Load a complete dimer/saddle search trajectory from an eOn job directory.

Expects the job to have been run with write_movies=true.

Parameters

job_dir Path to the eOn job output directory containing climb, climb.dat, saddle.con, etc.

Returns

DimerTrajectoryData Combined trajectory data.

Raises

FileNotFoundError If required files (climb, climb.dat) are missing.