eon.process_catalog

Process catalog for aKMC.

Frames live in the run’s readcon-db corpus. The barrier, the prefactor, the mode, and the frame keys live on amsel.KdbProcess. A good saddle is stored when it is registered. The next search of a matching state refines from the stored saddle, then a random displacement follows when no suggestion remains.

kdb_nf is the neighbor fudge (a fraction). kdb_dc is the distance cutoff in angstroms. kdb_mac is the minimum absolute cosine at which the stored mode is the refine direction; below it the direction is the reactant-to-saddle vector. Paths.kdb is the directory amsel.KdbStore opens.

Module Contents

Functions

pack_frame_key

12-byte readcon-db key: traj_id then frame index, both big-endian.

unpack_frame_key

env_hash

16-byte hash of element names and positions rounded to 1e-4 angstrom.

was_queried

insert

Store one good process. Returns True when the catalog accepted it.

query

Look up suggestions for state.

make_suggestion

Return one (displacement, mode) pair, or (None, None).

Data

API

eon.process_catalog.logger

‘getLogger(…)’

eon.process_catalog.pack_frame_key(traj_id: int, frame_idx: int) → bytes[source]

12-byte readcon-db key: traj_id then frame index, both big-endian.

eon.process_catalog.unpack_frame_key(blob: bytes) → tuple[int, int][source]
eon.process_catalog.env_hash(atoms) → bytes[source]

16-byte hash of element names and positions rounded to 1e-4 angstrom.

Rounding is finer than kdb_dc, so the same minimum matches and a real hop does not.

eon.process_catalog.was_queried(state, config) → bool[source]
eon.process_catalog.insert(state, process_id, config) → bool[source]

Store one good process. Returns True when the catalog accepted it.

Called from process registration. Confidence is not consulted: a process with zero repeats is stored.

eon.process_catalog.query(state, config) → bool[source]

Look up suggestions for state.

The state number is appended to queried only after lookup returns. An import failure or an open failure leaves that file unchanged, and does not delete another state’s SADDLE_ files.

eon.process_catalog.make_suggestion(config, state)[source]

Return one (displacement, mode) pair, or (None, None).

Pending SADDLE_ files for this state are read first. A process stored after the last query is materialized from amsel.KdbStore and the saddle frame is loaded from readcon-db. Each process is offered once; the caller then uses a random displacement.