Loading...
Searching...
No Matches
Sinp

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)
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)

Detailed Description

Function Documentation

◆ atomInSlice()

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 129 of file seams_input.hpp.

131 {
132 int flag = 0;
133
134 if (((x >= coordLow[0]) && (x <= coordHigh[0])) ||
135 coordLow[0] == coordHigh[0]) {
136 flag++;
137 }
138 if (((y >= coordLow[1]) && (y <= coordHigh[1])) ||
139 coordLow[1] == coordHigh[1]) {
140 flag++;
141 }
142 if (((z >= coordLow[2]) && (z <= coordHigh[2])) ||
143 coordLow[2] == coordHigh[2]) {
144 flag++;
145 }
146
147 if (flag == 3) {
148 return true;
149 } else {
150 return false;
151 }
152}

◆ dropLammpsDumpIndex()

void sinp::dropLammpsDumpIndex ( const std::string & filename)

Drop a cached dump session (tests that rewrite a path in place).

◆ forEachLammpsFrame()

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 )

Call fn(frame, cloud) for each frame in [first, last] (1-based, inclusive). last <= 0 means every ITEM: TIMESTEP. 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.

◆ getInpFileList()

std::vector< std::string > sinp::getInpFileList ( std::string inputFolder)

Get file list inside the input folder.

◆ nLammpsFrames()

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.

◆ readBonds()

std::vector< std::vector< int > > sinp::readBonds ( std::string filename)

Reads bonds into a vector of vectors from a file with a specific format.

◆ readLammpsTrj()

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)

◆ readLammpsTrjO()

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.

◆ readLammpsTrjreduced()

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.

◆ readXYZ()

molSys::PointCloud< molSys::Point< double >, double > sinp::readXYZ ( std::string filename)

Function for reading in atom coordinates from an XYZ file.