mod minima_db¶
- module minima_db¶
Action-outcome models for cost-aware global-minimum information. Durable corpus of quenched minima, one trajectory per system, temperature and seed, on readcon-db.
Every search run leaves its validated minima here rather than in a log: the structure, its plain energy to full precision, the system it belongs to, the temperature of the walk that found it and the seed. A trajectory per seed keeps concurrent seeds from contending on one trajectory, and a system-and-temperature query folds the seeds back together. Energies are stored as exact bit patterns beside the CON energy field, so a minimum read back is the one written.
Enums
- enum MinimaDbError¶
Errors of the minima corpus.
- Database(readcon_db::Error)¶
The underlying corpus failed.
- InvalidRecord(String)¶
A record could not be encoded or decoded.
- Json(serde_json::Error)¶
Metadata serialization failed.
Structs and Unions
- struct MinimaCorpus¶
A readcon-db corpus of minima.
Implementations
- impl MinimaCorpus¶
Functions
- fn distinct_energies(&self, system: &str, temperature: f64, tolerance: f64) -> Result<Vec<f64>, MinimaDbError>¶
Distinct energies of one system at one temperature, folded across seeds at
tolerance, lowest first.
- fn minima(&self, system: &str, temperature: f64) -> Result<Vec<StoredMinimum>, MinimaDbError>¶
Every stored minimum of one system at one temperature, across seeds, sorted by energy.
- fn open(root: impl AsRef<Path>, signature_digest: SignatureDigest) -> Result<Self, MinimaDbError>¶
Open or create the corpus below
root, in the directory named by the canonical system-signature digest. A second open of that exact system in one process shares the first environment.
- fn path(&self) -> &Path¶
Where the corpus lives.
- fn record(&self, set: &MinimaSet, species: &[u32], units: &MinimaUnits, entries: &[(f64, ArrayView1<'_, f64>)], energy_tolerance: f64, provenance: serde_json::Value) -> Result<usize, MinimaDbError>¶
Append the distinct minima of one run.
Exact repeated coordinates whose energies differ by at most
energy_toleranceare stored once within a call. Equal energy alone is not a structure identity test. Returns how many frames were appended.
- fn signature_digest(&self) -> SignatureDigest¶
Canonical PES identity bound to this corpus environment.
- struct MinimaSet¶
Which run a set of minima came from.
- system: String¶
System name, such as
lj75orwater6-gfn2.
- temperature: f64¶
Metropolis temperature of the walk, in the objective’s energy units.
- seed: u64¶
Seed of the run.
Implementations
- impl MinimaSet¶
Functions
- fn trajectory_id(&self, signature_digest: SignatureDigest) -> u64¶
The trajectory this set writes to.