Loading...
Searching...
No Matches
sout Namespace Reference

Functions

int makePath (const std::string &path)
 Inline function for creating the desired directory (and parents).
int writeRings (const std::vector< std::vector< int > > &rings, std::string filename="rings.dat")
 Function for printing out ring info, when there is no volume slice.
int writePrismNum (std::string path, const std::vector< int > &nPrisms, const std::vector< int > &nDefPrisms, const std::vector< double > &heightPercent, int maxDepth, int currentFrame, int firstFrame)
int writeRingNum (std::string path, int currentFrame, const std::vector< int > &nRings, const std::vector< double > &coverageAreaXY, const std::vector< double > &coverageAreaXZ, const std::vector< double > &coverageAreaYZ, int maxDepth, int firstFrame)
int writeRingNumBulk (std::string path, int currentFrame, const std::vector< int > &nRings, int maxDepth, int firstFrame)
int printRDF (std::string fileName, std::vector< double > &rdfValues, double binwidth, int nbin)
 Function for printing out the RDF, given the filename.
int writeTopoBulkData (std::string path, int currentFrame, int numHC, int numDDC, int mixedRings, int basalRings, int prismaticRings, int firstFrame)
int writePrisms (std::vector< int > &basal1, std::vector< int > &basal2, int prismNum, const molSys::PointCloud< molSys::Point< double >, double > &yCloud)
 Function for writing out each prism.
int writeClusterStats (std::string path, int currentFrame, int largestCluster, int numOfClusters, int smallestCluster, double avgClusterSize, int firstFrame)
 Function for writing out cluster statistics.
int writeMoleculeIDsInSlice (std::string path, const molSys::PointCloud< molSys::Point< double >, double > &yCloud)
int writeMoleculeIDsExpressionSelectOVITO (std::string path, const molSys::PointCloud< molSys::Point< double >, double > &yCloud)
int writeLAMMPSdata (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, std::vector< std::vector< int > > rings, std::vector< std::vector< int > > bonds, std::string filename="system-rings.data")
 Write a data file for rings.
int writeLAMMPSdumpINT (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< double > &rmsdPerAtom, const std::vector< int > &atomTypes, int maxDepth, std::string path)
 Write out a LAMMPS dump file containing the RMSD per atom.
int writeLAMMPSdumpSlice (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, std::string path)
int writeLAMMPSdumpCages (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< double > &rmsdPerAtom, const std::vector< int > &atomTypes, std::string path, int firstFrame)
 Write out a LAMMPS dump file containing the RMSD per atom for bulk ice.
int writeLAMMPSdataAllPrisms (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, const std::vector< int > &atomTypes, int maxDepth, std::string path, bool doShapeMatching=false)
 Write a data file for prisms of every type.
int writeLAMMPSdataAllRings (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, const std::vector< int > &atomTypes, int maxDepth, std::string path, bool isMonolayer=true)
 Write a data file for rings of every type for a monolayer.
int writeLAMMPSdataTopoBulk (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, const std::vector< cage::iceType > &atomTypes, std::string path, bool bondsBetweenDummy=false)
int writeLAMMPSdataPrisms (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &rings, bool useBondFile, std::string bondFile, const std::vector< int > &listPrism, const std::vector< std::vector< int > > &nList, std::string filename="system-prisms.data")
 Write a data file for prisms of a single type.
int writeLAMMPSdataCages (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &rings, std::vector< cage::Cage > &cageList, cage::cageType type, int numCages, std::string filename="system-cages.data")
int writeAllCages (std::string path, std::vector< cage::Cage > &cageList, const std::vector< std::vector< int > > &rings, const std::vector< std::vector< int > > &nList, const molSys::PointCloud< molSys::Point< double >, double > &yCloud, int currentFrame)
int writeEachCage (const std::vector< int > &currentCage, int cageNum, cage::cageType type, const std::vector< std::vector< int > > &rings, const molSys::PointCloud< molSys::Point< double >, double > &yCloud)
 Write out a particular cage to a file.
int writeBasalRingsHex (const std::vector< int > &currentCage, int cageNum, const std::vector< std::vector< int > > &nList, const std::vector< std::vector< int > > &rings)
 Write out the basal rings of a particular Hexagonal cage.
int writeBasalRingsPrism (std::vector< int > &basal1, std::vector< int > &basal2, int prismNum, const std::vector< std::vector< int > > &nList, const molSys::PointCloud< molSys::Point< double >, double > &yCloud, bool isDeformed)
 Write out the basal rings for a particular prism.
int writeDump (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, std::string path, std::string outFile)
 Generic function for writing out to a dump file.
int writeHisto (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, const std::vector< double > &avgQ6)
int writeCluster (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, std::string fileName="cluster.txt", bool isSlice=false, int largestIceCluster=0)
 Function for printing the largest ice cluster.
int writeXYZcluster (std::string path, const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< int > &atoms, int clusterID, cage::cageType type)
 Function for writing out the XYZ files for each cluster.

Function Documentation

◆ makePath()

int sout::makePath ( const std::string & path)
inlinenodiscard

Inline function for creating the desired directory (and parents).

Uses std::filesystem for portability.

Parameters
[in]pathThe path of the directory
Returns
0 on success, 1 on failure

Definition at line 36 of file seams_output.hpp.

36 {
37 std::error_code ec;
38 if (fs::is_directory(path)) {
39 return 0;
40 }
41 if (fs::create_directories(path, ec)) {
42 return 0;
43 }
44 return ec ? 1 : 0;
45}

◆ printRDF()

int sout::printRDF ( std::string fileName,
std::vector< double > & rdfValues,
double binwidth,
int nbin )
nodiscard

Function for printing out the RDF, given the filename.

◆ writeAllCages()

int sout::writeAllCages ( std::string path,
std::vector< cage::Cage > & cageList,
const std::vector< std::vector< int > > & rings,
const std::vector< std::vector< int > > & nList,
const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
int currentFrame )
nodiscard

Write out all cages of all types into a folder called cages inside the output directory

◆ writeBasalRingsHex()

int sout::writeBasalRingsHex ( const std::vector< int > & currentCage,
int cageNum,
const std::vector< std::vector< int > > & nList,
const std::vector< std::vector< int > > & rings )
nodiscard

Write out the basal rings of a particular Hexagonal cage.

◆ writeBasalRingsPrism()

int sout::writeBasalRingsPrism ( std::vector< int > & basal1,
std::vector< int > & basal2,
int prismNum,
const std::vector< std::vector< int > > & nList,
const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
bool isDeformed )
nodiscard

Write out the basal rings for a particular prism.

◆ writeCluster()

int sout::writeCluster ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
std::string fileName = "cluster.txt",
bool isSlice = false,
int largestIceCluster = 0 )
nodiscard

Function for printing the largest ice cluster.

◆ writeClusterStats()

int sout::writeClusterStats ( std::string path,
int currentFrame,
int largestCluster,
int numOfClusters,
int smallestCluster,
double avgClusterSize,
int firstFrame )
nodiscard

Function for writing out cluster statistics.

◆ writeDump()

int sout::writeDump ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
std::string path,
std::string outFile )
nodiscard

Generic function for writing out to a dump file.

◆ writeEachCage()

int sout::writeEachCage ( const std::vector< int > & currentCage,
int cageNum,
cage::cageType type,
const std::vector< std::vector< int > > & rings,
const molSys::PointCloud< molSys::Point< double >, double > & yCloud )
nodiscard

Write out a particular cage to a file.

◆ writeHisto()

int sout::writeHisto ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const std::vector< std::vector< int > > & nList,
const std::vector< double > & avgQ6 )
nodiscard

Function for printing out Q6, Cij and averaged Q3 values as single columns to text files The file names are cij, q6, q3

◆ writeLAMMPSdata()

int sout::writeLAMMPSdata ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
std::vector< std::vector< int > > rings,
std::vector< std::vector< int > > bonds,
std::string filename = "system-rings.data" )
nodiscard

Write a data file for rings.

◆ writeLAMMPSdataAllPrisms()

int sout::writeLAMMPSdataAllPrisms ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const std::vector< std::vector< int > > & nList,
const std::vector< int > & atomTypes,
int maxDepth,
std::string path,
bool doShapeMatching = false )
nodiscard

Write a data file for prisms of every type.

◆ writeLAMMPSdataAllRings()

int sout::writeLAMMPSdataAllRings ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const std::vector< std::vector< int > > & nList,
const std::vector< int > & atomTypes,
int maxDepth,
std::string path,
bool isMonolayer = true )
nodiscard

Write a data file for rings of every type for a monolayer.

◆ writeLAMMPSdataCages()

int sout::writeLAMMPSdataCages ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const std::vector< std::vector< int > > & rings,
std::vector< cage::Cage > & cageList,
cage::cageType type,
int numCages,
std::string filename = "system-cages.data" )
nodiscard

Write out a lammps data file for DDCs or HCs, assuming that there is no slice

◆ writeLAMMPSdataPrisms()

int sout::writeLAMMPSdataPrisms ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const std::vector< std::vector< int > > & rings,
bool useBondFile,
std::string bondFile,
const std::vector< int > & listPrism,
const std::vector< std::vector< int > > & nList,
std::string filename = "system-prisms.data" )
nodiscard

Write a data file for prisms of a single type.

◆ writeLAMMPSdataTopoBulk()

int sout::writeLAMMPSdataTopoBulk ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const std::vector< std::vector< int > > & nList,
const std::vector< cage::iceType > & atomTypes,
std::string path,
bool bondsBetweenDummy = false )
nodiscard

Write a data file for a particular frame, writing out topological bulk ice structures (DDCs/HCs)

◆ writeLAMMPSdumpCages()

int sout::writeLAMMPSdumpCages ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const std::vector< double > & rmsdPerAtom,
const std::vector< int > & atomTypes,
std::string path,
int firstFrame )
nodiscard

Write out a LAMMPS dump file containing the RMSD per atom for bulk ice.

◆ writeLAMMPSdumpINT()

int sout::writeLAMMPSdumpINT ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const std::vector< double > & rmsdPerAtom,
const std::vector< int > & atomTypes,
int maxDepth,
std::string path )
nodiscard

Write out a LAMMPS dump file containing the RMSD per atom.

◆ writeLAMMPSdumpSlice()

int sout::writeLAMMPSdumpSlice ( const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
std::string path )
nodiscard

Write out a LAMMPS dump file containing the inSlice value for each atom for a user-defined slice

◆ writeMoleculeIDsExpressionSelectOVITO()

int sout::writeMoleculeIDsExpressionSelectOVITO ( std::string path,
const molSys::PointCloud< molSys::Point< double >, double > & yCloud )
nodiscard

Function for printing out the molecule IDs present in the slice (compatible with the OVITO Expression Select command

◆ writeMoleculeIDsInSlice()

int sout::writeMoleculeIDsInSlice ( std::string path,
const molSys::PointCloud< molSys::Point< double >, double > & yCloud )
nodiscard

Function for printing out the molecule IDs present in the slice (compatible with the LAMMPS group command

◆ writePrismNum()

int sout::writePrismNum ( std::string path,
const std::vector< int > & nPrisms,
const std::vector< int > & nDefPrisms,
const std::vector< double > & heightPercent,
int maxDepth,
int currentFrame,
int firstFrame )
nodiscard

Function for printing out the number of prism blocks, with or without slices. Be careful when using slices!

◆ writePrisms()

int sout::writePrisms ( std::vector< int > & basal1,
std::vector< int > & basal2,
int prismNum,
const molSys::PointCloud< molSys::Point< double >, double > & yCloud )
nodiscard

Function for writing out each prism.

◆ writeRingNum()

int sout::writeRingNum ( std::string path,
int currentFrame,
const std::vector< int > & nRings,
const std::vector< double > & coverageAreaXY,
const std::vector< double > & coverageAreaXZ,
const std::vector< double > & coverageAreaYZ,
int maxDepth,
int firstFrame )
nodiscard

Function for printing out the coverage area and the number of rings of each type

◆ writeRingNumBulk()

int sout::writeRingNumBulk ( std::string path,
int currentFrame,
const std::vector< int > & nRings,
int maxDepth,
int firstFrame )
nodiscard

Function for printing out the number of rings of each type in a bulk system

◆ writeRings()

int sout::writeRings ( const std::vector< std::vector< int > > & rings,
std::string filename = "rings.dat" )
nodiscard

Function for printing out ring info, when there is no volume slice.

◆ writeTopoBulkData()

int sout::writeTopoBulkData ( std::string path,
int currentFrame,
int numHC,
int numDDC,
int mixedRings,
int basalRings,
int prismaticRings,
int firstFrame )
nodiscard

Function for printing out the number of DDCs, HCs, mixed rings, basal and prismatic rings

◆ writeXYZcluster()

int sout::writeXYZcluster ( std::string path,
const molSys::PointCloud< molSys::Point< double >, double > & yCloud,
const std::vector< int > & atoms,
int clusterID,
cage::cageType type )
nodiscard

Function for writing out the XYZ files for each cluster.