rgpycrumbs.eon.seed_dimers¶
Seed eOn dimer (min-mode) saddle searches from a converged NEB band.
Reads a converged NEB band (neb.con), locates every interior local maximum
of the per-image energy profile, and writes one eOn job=saddle_search seed
directory per peak. Each seed dir holds the peak geometry (pos.con), an
initial unstable mode (direction.dat), a finite-difference displaced
geometry (displacement.con), and a dimer config.ini.
The initial mode prefers a matching eOn peak{MM}_mode.dat (paired by RMSD of
peak{MM}_pos.con against the peak frame) when peak_files_dir is given;
otherwise it uses the normalized NEB tangent pos[i+1] - pos[i-1].
Added in version 1.8.0.
Changed in version 1.9.x: Seed config.ini is a minimal explicit section map written with eon_schema write_ini (validated L0 keys; no full L1 dump).
Attributes¶
Classes¶
Summary of one seed directory created for a NEB peak. |
Functions¶
|
Return per-image energies, falling back to a sibling |
|
Normalized central-difference tangent |
|
Return the eOn mode whose |
|
Minimal eOn dimer saddle-search INI sections (explicit keys only). |
|
Return interior local-maximum image indices (endpoints excluded). |
|
Write one eOn dimer saddle-search seed dir per interior NEB peak. |
|
Write slim seed config.ini via eon-schema write_ini (+ L0 validate). |
Module Contents¶
- class rgpycrumbs.eon.seed_dimers.PeakSeed[source]¶
Summary of one seed directory created for a NEB peak.
Added in version 1.8.0.
- seed_dir: pathlib.Path[source]¶
- rgpycrumbs.eon.seed_dimers._image_energies(frames, neb_con: pathlib.Path) numpy.ndarray[source]¶
Return per-image energies, falling back to a sibling
neb.dat.
- rgpycrumbs.eon.seed_dimers._neb_tangent(frames, idx: int) numpy.ndarray[source]¶
Normalized central-difference tangent
pos[i+1] - pos[i-1].
- rgpycrumbs.eon.seed_dimers._match_eon_mode(peak_atoms, peak_files_dir: pathlib.Path, rmsd_tol: float) numpy.ndarray | None[source]¶
Return the eOn mode whose
peak*_pos.conbest matchespeak_atoms.Pairs by direct (non-aligned) RMSD of atom positions; eOn peak geometries share atom ordering and frame with the NEB band, so no reordering is needed.
- rgpycrumbs.eon.seed_dimers._dimer_config_sections(settings_name: str, socket: str) dict[str, dict[str, object]][source]¶
Minimal eOn dimer saddle-search INI sections (explicit keys only).
Aligns improved-dimer with L2
DimerSpec(method=improved). Written viaeon_schema.config.write_iniwith L0 key validation on covered sections. Requireseon-schema>=0.2.
- rgpycrumbs.eon.seed_dimers.find_neb_peaks(energies: numpy.ndarray, prominence: float) list[int][source]¶
Return interior local-maximum image indices (endpoints excluded).
Added in version 1.8.0.
- rgpycrumbs.eon.seed_dimers.seed_dimers_from_peaks(neb_con, out_dir, settings_name: str, socket: str, peak_files_dir=None, prominence: float = 0.02, rmsd_tol: float = 0.1) tuple[list[pathlib.Path], list[PeakSeed]][source]¶
Write one eOn dimer saddle-search seed dir per interior NEB peak.
Parameters¶
- neb_con:
Path to the converged NEB band (
neb.con). Per-image energies are read fromreadcon.ConFrameenergy; if absent a siblingneb.datis used.- out_dir:
Parent directory; each peak gets
out_dir/peak_<NN>/.- settings_name:
Name of the NWChem
.nwisettings fragment referenced by config.ini.- socket:
Unix socket path/name for
[SocketNWChemPot].- peak_files_dir:
Optional directory holding eOn
peak{MM}_pos.con+peak{MM}_mode.datpairs; the matching mode (by RMSD) seedsdirection.datwhen found.- prominence:
scipy.signal.find_peaksprominence threshold on the energy profile.- rmsd_tol:
Max RMSD (Angstrom) for an eOn peak geometry to count as a match.
Returns¶
- seed_dirs, summary:
List of created seed directories and a list of
PeakSeed.
Added in version 1.8.0.