Loading...
Searching...
No Matches
ConFileIO.cpp File Reference
#include "eon/ConFileIO.h"
#include "eon/Eigen.h"
#include "eon/EonLogger.h"
#include "eon/HelperFunctions.h"
#include "eon/Matter.h"
#include "eon/SafeMath.h"
#include <algorithm>
#include <atomic>
#include <cmath>
#include <cstdint>
#include <cstring>
#include <filesystem>
#include <format>
#include <fstream>
#include <mutex>
#include <numeric>
#include <optional>
#include <stdexcept>
#include <string>
#include <system_error>
#include <unordered_map>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  eonc
 RAII resource manager for the ARTn C library with global synchronization.
namespace  eonc::io

Functions

readcon::ConFrame eonc::io::matterToConFrame (Matter &m, const ConFrameMetadata *metadata=nullptr)
 Build a single stamped ConFrame from Matter (same builder as matter2con).
void eonc::io::set_write_con_forces (bool enabled) noexcept
 Whether written .con frames carry "Forces of Component" sections.
bool eonc::io::write_con_forces () noexcept
ConFrameMetadata eonc::io::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 > > eonc::io::cell_to_lengths_angles (const Matter &m)
void eonc::io::resetConAppendState ()
 Drop the per-path bookkeeping that lets append-mode writes skip re-parsing frames this process wrote.
IoStatus eonc::io::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 eonc::io::con2matter (Matter &m, std::string filename)
IoStatus eonc::io::con2matter (Matter &m, const readcon::ConFrame &frame, ConFrameMetadata *out_metadata)
IoStatus eonc::io::matter2convel (Matter &m, std::string filename)
IoStatus eonc::io::convel2matter (Matter &m, std::string filename)
IoStatus eonc::io::matter2xyz (Matter &m, std::string filename, bool append=false)
 Write one extended-XYZ frame: Lattice= cell and 17-digit coordinates.
IoStatus eonc::io::writeTibble (Matter &m, std::string filename)
 Debug table (positions, optional cached forces). Not a structure format.
std::vector< readcon::ConFrame > eonc::io::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 eonc::io::writeConFrames (std::string filename, const std::vector< readcon::ConFrame > &frames)
 Write already-built ConFrames to a multi-frame .con (temp or durable).
IoStatus eonc::io::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().