Classes | |
| struct | ConMetadataValue |
| struct | ConMetadataText |
| struct | ConFrameMetadata |
Enumerations | |
| enum class | IoStatus : std::uint8_t { Ok = 0 , ReadError = 1 , WriteError = 2 , AppendError = 3 , OpenError = 4 , InvalidArgument = 5 } |
| Structured I/O result for the client surface (nanobind-friendly). More... | |
Functions | |
| readcon::ConFrame | matterToConFrame (Matter &m, const ConFrameMetadata *metadata=nullptr) |
| Build a single stamped ConFrame from Matter (same builder as matter2con). | |
| void | set_write_con_forces (bool enabled) noexcept |
| Whether written .con frames carry "Forces of Component" sections. | |
| bool | write_con_forces () noexcept |
| ConFrameMetadata | metadata_from_frame (const readcon::ConFrame &frame) |
| Extract known frame-level fields from a parsed readcon frame. | |
| std::pair< std::array< double, 3 >, std::array< double, 3 > > | cell_to_lengths_angles (const Matter &m) |
| void | resetConAppendState () |
| Drop the per-path bookkeeping that lets append-mode writes skip re-parsing frames this process wrote. | |
| IoStatus | matter2con (Matter &m, std::string filename, bool append=false, const ConFrameMetadata *metadata=nullptr) |
| Append a frame to a .con, or truncate and write one frame. | |
| IoStatus | con2matter (Matter &m, std::string filename) |
| IoStatus | con2matter (Matter &m, const readcon::ConFrame &frame, ConFrameMetadata *out_metadata) |
| IoStatus | matter2convel (Matter &m, std::string filename) |
| IoStatus | convel2matter (Matter &m, std::string filename) |
| IoStatus | matter2xyz (Matter &m, std::string filename, bool append=false) |
| Write one extended-XYZ frame: Lattice= cell and 17-digit coordinates. | |
| IoStatus | writeTibble (Matter &m, std::string filename) |
| Debug table (positions, optional cached forces). Not a structure format. | |
| std::vector< readcon::ConFrame > | buildNebPathFrames (const std::vector< std::shared_ptr< Matter > > &path, const std::vector< ConFrameMetadata > &metadata_per_image) |
| Build NEB band ConFrames without writing (clone builder path of writeNebPath). | |
| IoStatus | writeConFrames (std::string filename, const std::vector< readcon::ConFrame > &frames) |
| Write already-built ConFrames to a multi-frame .con (temp or durable). | |
| IoStatus | writeNebPath (std::string filename, const std::vector< std::shared_ptr< Matter > > &path, const std::vector< ConFrameMetadata > &metadata_per_image) |
| Write a full NEB path as one multi-frame .con using ConFrameBuilder::clone(). | |
| constexpr bool | io_ok (IoStatus s) noexcept |
| constexpr const char * | io_status_name (IoStatus s) noexcept |
| Human-readable label for logging / bindings. | |
|
strong |
Structured I/O result for the client surface (nanobind-friendly).
Prefer comparing to IoStatus::Ok rather than treating as bool.
| Enumerator | |
|---|---|
| Ok | |
| ReadError | |
| WriteError | |
| AppendError | |
| OpenError | |
| InvalidArgument | |
Definition at line 29 of file ConFileIO.h.
|
nodiscard |
Build NEB band ConFrames without writing (clone builder path of writeNebPath).
Empty vector on invalid input.
| path | length must equal metadata_per_image (endpoints included) |
Definition at line 872 of file ConFileIO.cpp.
| std::pair< std::array< double, 3 >, std::array< double, 3 > > eonc::io::cell_to_lengths_angles | ( | const Matter & | m | ) |
Definition at line 515 of file ConFileIO.cpp.
|
nodiscard |
Definition at line 615 of file ConFileIO.cpp.
Definition at line 604 of file ConFileIO.cpp.
Definition at line 762 of file ConFileIO.cpp.
|
nodiscardconstexprnoexcept |
Definition at line 38 of file ConFileIO.h.
|
nodiscardconstexprnoexcept |
Human-readable label for logging / bindings.
Definition at line 43 of file ConFileIO.h.
|
nodiscard |
Append a frame to a .con, or truncate and write one frame.
With append, an uncompressed target is extended in place: the new frame is serialized on its own and concatenated, so N appends cost N frame writes rather than N(N+1)/2. Earlier frames are never re-serialized, and the file is flushed before the call returns, so every intermediate state on disk is a complete multi-frame .con.
A target that eOn did not write, or that changed size or mtime since eOn last wrote it, is parsed once before anything is added; an unparseable target yields IoStatus::AppendError with its bytes untouched. Gzip and zstd targets keep the read-all-and-rewrite path because a compressed member cannot be extended in place.
Definition at line 541 of file ConFileIO.cpp.
Definition at line 746 of file ConFileIO.cpp.
Write one extended-XYZ frame: Lattice= cell and 17-digit coordinates.
append concatenates another frame. A target whose last frame has a different atom count yields InvalidArgument and is left unchanged. Chemfiles in readcon is ingress (XYZ/PDB/GRO into ConFrame), not XYZ egress, so this writer emits the Lattice= comment ASE and chemfiles already read.
Definition at line 773 of file ConFileIO.cpp.
|
nodiscard |
Build a single stamped ConFrame from Matter (same builder as matter2con).
Does not write to disk.
Definition at line 485 of file ConFileIO.cpp.
| ConFrameMetadata eonc::io::metadata_from_frame | ( | const readcon::ConFrame & | frame | ) |
Extract known frame-level fields from a parsed readcon frame.
Definition at line 498 of file ConFileIO.cpp.
| void eonc::io::resetConAppendState | ( | ) |
Drop the per-path bookkeeping that lets append-mode writes skip re-parsing frames this process wrote.
Appends already re-parse a target whose size or mtime moved, so this only matters when a file is replaced with different content of the same size inside one filesystem timestamp tick.
Definition at line 536 of file ConFileIO.cpp.
|
noexcept |
Whether written .con frames carry "Forces of Component" sections.
Force sections enable force+energy co-loading on re-read (warm NEB restarts without re-evaluating the potential) but are not part of the classic con layout: external readers such as ASE's eon parser reject frames that carry them. Off unless [Main] write_con_forces enables it. A ConFrameMetadata.write_con_forces value, then the Matter Parameters field, override this process-wide flag for a single write. Reading force-bearing frames is always supported regardless of this flag.
Definition at line 490 of file ConFileIO.cpp.
|
nodiscardnoexcept |
Definition at line 494 of file ConFileIO.cpp.
|
nodiscard |
Write already-built ConFrames to a multi-frame .con (temp or durable).
Definition at line 921 of file ConFileIO.cpp.
|
nodiscard |
Write a full NEB path as one multi-frame .con using ConFrameBuilder::clone().
Seeds identity (symbols/fixed/mass/id/cell headers) from path[0] only, then for each image clones that template and bulk-updates positions/forces + metadata. Images must share atom count and topology with path[0] (standard NEB band invariant); heterogeneous multi-frame movies should not use this. Avoids re-reading the output file per image (legacy append path).
| path | length must be numImages+2 (endpoints included) |
| metadata_per_image | length must equal path.size() |
Definition at line 939 of file ConFileIO.cpp.
Debug table (positions, optional cached forces). Not a structure format.
Definition at line 829 of file ConFileIO.cpp.