Namespaces | |
| namespace | sinp |
| Functions for the d-SEAMS readers. | |
Functions | |
| std::vector< std::string > | sinp::getInpFileList (std::string inputFolder) |
| Get file list inside the input folder. | |
| int | sinp::nLammpsFrames (const std::string &filename) |
| void | sinp::dropLammpsDumpIndex (const std::string &filename) |
| Drop a cached dump session (tests that rewrite a path in place). | |
| void | sinp::forEachLammpsFrame (const std::string &filename, int first, int last, int typeFilter, const std::function< void(int, molSys::PointCloud< molSys::Point< double >, double > &)> &fn, int nThreads=0, int part=0, int parts=1) |
| molSys::PointCloud< molSys::Point< double >, double > | sinp::readLammpsTrj (std::string filename, int targetFrame, molSys::PointCloud< molSys::Point< double >, double > &yCloud, bool isSlice=false, std::array< double, 3 > coordLow=std::array< double, 3 >{0, 0, 0}, std::array< double, 3 > coordHigh=std::array< double, 3 >{0, 0, 0}) |
| molSys::PointCloud< molSys::Point< double >, double > | sinp::readLammpsTrjO (std::string filename, int targetFrame, molSys::PointCloud< molSys::Point< double >, double > &yCloud, int typeO, bool isSlice=false, std::array< double, 3 > coordLow=std::array< double, 3 >{0, 0, 0}, std::array< double, 3 > coordHigh=std::array< double, 3 >{0, 0, 0}) |
| molSys::PointCloud< molSys::Point< double >, double > | sinp::readLammpsTrjreduced (std::string filename, int targetFrame, molSys::PointCloud< molSys::Point< double >, double > &yCloud, int typeI, bool isSlice=false, std::array< double, 3 > coordLow=std::array< double, 3 >{0, 0, 0}, std::array< double, 3 > coordHigh=std::array< double, 3 >{0, 0, 0}) |
| molSys::PointCloud< molSys::Point< double >, double > | sinp::readXYZ (std::string filename) |
| Function for reading in atom coordinates from an XYZ file. | |
| std::vector< std::vector< int > > | sinp::readBonds (std::string filename) |
| Reads bonds into a vector of vectors from a file with a specific format. | |
| bool | sinp::atomInSlice (double x, double y, double z, std::array< double, 3 > coordLow, std::array< double, 3 > coordHigh) |
|
inline |
True when each component lies in [lo, hi], or that axis has lo == hi (unconstrained). ([0,0,0], [50,0,0]) is x in [0, 50], y and z open.
If this is 3 then the particle is inside the volume slice
Definition at line 153 of file seams_input.hpp.
| void sinp::dropLammpsDumpIndex | ( | const std::string & | filename | ) |
Drop a cached dump session (tests that rewrite a path in place).
| void sinp::forEachLammpsFrame | ( | const std::string & | filename, |
| int | first, | ||
| int | last, | ||
| int | typeFilter, | ||
| const std::function< void(int, molSys::PointCloud< molSys::Point< double >, double > &)> & | fn, | ||
| int | nThreads = 0, | ||
| int | part = 0, | ||
| int | parts = 1 ) |
Call fn(frame, cloud) for each frame from max(first, 1) to last (1-based, inclusive) that falls to part of parts. last <= 0 means every ITEM: TIMESTEP. Frames are dealt in rounds of parts, in serpentine order (part p takes slot p of even rounds and slot parts - 1 - p of odd ones), so a cost that drifts or alternates along the run reaches every part. typeFilter <= 0 keeps every atom. nThreads <= 0 uses the OpenMP default; 1 is serial. Each worker opens its own handle and seeks the shared offset table. Incremental RingUpdater / AffiliationUpdater state cannot be shared across workers: use the batch classifiers.
| std::vector< std::string > sinp::getInpFileList | ( | std::string | inputFolder | ) |
Get file list inside the input folder.
| int sinp::nLammpsFrames | ( | const std::string & | filename | ) |
Number of ITEM: TIMESTEP frames in a LAMMPS dump, or 0 if the file cannot be read. The first full count per path walks the file once and later reads seek, matching chemfiles Trajectory::nsteps and readcon's frame-offset table. Sequential load_frame walks reuse a live cursor the way LAMMPS ReaderNative does on rerun.
| std::vector< std::vector< int > > sinp::readBonds | ( | std::string | filename | ) |
Reads bonds into a vector of vectors from a file with a specific format.
| molSys::PointCloud< molSys::Point< double >, double > sinp::readLammpsTrj | ( | std::string | filename, |
| int | targetFrame, | ||
| molSys::PointCloud< molSys::Point< double >, double > & | yCloud, | ||
| bool | isSlice = false, | ||
| std::array< double, 3 > | coordLow = std::array< double, 3 >{0, 0, 0}, | ||
| std::array< double, 3 > | coordHigh = std::array< double, 3 >{0, 0, 0} ) |
Function for reading in a specified frame (frame number and not timestep value)
| molSys::PointCloud< molSys::Point< double >, double > sinp::readLammpsTrjO | ( | std::string | filename, |
| int | targetFrame, | ||
| molSys::PointCloud< molSys::Point< double >, double > & | yCloud, | ||
| int | typeO, | ||
| bool | isSlice = false, | ||
| std::array< double, 3 > | coordLow = std::array< double, 3 >{0, 0, 0}, | ||
| std::array< double, 3 > | coordHigh = std::array< double, 3 >{0, 0, 0} ) |
One LAMMPS dump frame, one atom type. The type argument is any LAMMPS type (the O in the name is historical). If isSlice is true, each kept point gets inSlice set; atoms outside the box stay in the cloud. nop is the type-filtered count.
| molSys::PointCloud< molSys::Point< double >, double > sinp::readLammpsTrjreduced | ( | std::string | filename, |
| int | targetFrame, | ||
| molSys::PointCloud< molSys::Point< double >, double > & | yCloud, | ||
| int | typeI, | ||
| bool | isSlice = false, | ||
| std::array< double, 3 > | coordLow = std::array< double, 3 >{0, 0, 0}, | ||
| std::array< double, 3 > | coordHigh = std::array< double, 3 >{0, 0, 0} ) |
One LAMMPS dump frame, one atom type, dropping atoms outside the slice when isSlice is true. nop is the kept count. An axis with lo == hi is unconstrained.
| molSys::PointCloud< molSys::Point< double >, double > sinp::readXYZ | ( | std::string | filename | ) |
Function for reading in atom coordinates from an XYZ file.