147 std::vector<std::complex<double>>
ylm;
211 const std::vector<std::vector<int>> &nList,
231 const std::vector<std::vector<int>> &nList,
bool isSlice =
false,
232 int coordinationNumber = 4);
243 const std::vector<std::vector<int>> &nList,
bool isSlice =
false);
260 const std::vector<std::vector<int>> &nList, std::string path,
261 int firstFrame,
bool isSlice =
false,
262 std::string outputFileName =
"chill.txt");
269 const std::vector<std::vector<int>> &nList,
bool isSlice =
false,
270 int coordinationNumber = 4);
275 const std::vector<std::vector<int>> &nList, std::string path,
276 int firstFrame,
bool isSlice =
false,
277 std::string outputFileName =
"chillPlus.txt");
283 const std::vector<std::vector<int>> &nList,
bool isSlice =
false);
289 const std::vector<std::vector<int>> &nList,
bool isSlice =
false);
297 std::vector<double> &q6);
301 std::string path,
int firstFrame,
bool isSlice =
false,
302 std::string outputFileName =
"superChill.txt");
308 const std::vector<std::vector<int>> &nList,
int iatom,
309 int num_staggrd,
int num_eclipsd,
bool chillPlus =
false);
313 const std::vector<std::vector<int>> &nList,
int jatom);
323 std::vector<double>
ql;
335 const std::vector<std::vector<int>> &nList,
int orderL);
354std::vector<std::complex<double>>
357std::array<double, 2>
radialCoord(std::array<double, 3> cartCoord);
360std::vector<std::complex<double>>
367std::vector<std::complex<double>>
374std::vector<std::complex<double>>
378std::vector<std::complex<double>>
File for containing generic or common functions.
void getCorrelPlus(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, bool isSlice=false, int coordinationNumber=4)
std::vector< std::complex< double > > lookupTableQ6Vec(std::array< double, 2 > angles)
Lookup table for Q6.
void getIceTypePlusNoPrint(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, bool isSlice=false)
CHILL+ ice types on the cloud. Does not write a file.
double eclipsedMin
c_ij at or below this is staggered
std::vector< std::complex< double > > lookupTableQ3Vec(std::array< double, 2 > angles)
Lookup table for Q3.
int printIceType(molSys::PointCloud< molSys::Point< double >, double > &yCloud, std::string path, int firstFrame, bool isSlice=false, std::string outputFileName="superChill.txt")
Prints out the iceType for a particular frame onto the terminal.
BondClassifier chillRule()
std::vector< std::complex< double > > ylm
void getCorrel(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, bool isSlice=false, int coordinationNumber=4)
Function for getting the bond order correlations (or in some treatments) according to the CHILL alg...
std::vector< YlmAtom > ptq
std::vector< std::complex< double > > lookupTableQ4Vec(std::array< double, 2 > angles)
Lookup table for Q4.
std::array< double, 2 > radialCoord(std::array< double, 3 > cartCoord)
std::complex< double > lookupTableQ6(int m, std::array< double, 2 > angles)
Lookup table for Q6 (m=0 to m=12).
std::vector< std::string > bondClassifierNames()
Names of every registered rule set.
void getIceTypeNoPrint(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, bool isSlice=false)
Function that classifies every particle's molSys::atom_state_type ice type, according to the CHILL al...
void classifyBonds(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, const BondClassifier &rule, bool isSlice=false)
int coordinationNumber
Upper edge of the eclipsed band.
void getIceType(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, std::string path, int firstFrame, bool isSlice=false, std::string outputFileName="chill.txt")
Function that classifies every particle's molSys::atom_state_type ice type, according to the CHILL al...
bool isInterfacial(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, int iatom, int num_staggrd, int num_eclipsd, bool chillPlus=false)
std::vector< double > getq6(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, bool isSlice=false)
std::vector< std::complex< double > > spheriHarmo(int orderL, std::array< double, 2 > radialCoord)
double eclipsedMax
Lower edge of the eclipsed band.
void reclassifyWater(molSys::PointCloud< molSys::Point< double >, double > &yCloud, std::vector< double > &q6)
int numStaggered(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, int jatom)
Finds the number of staggered bonds for a given atom of index jatom.
BondClassifier chillPlusRule()
BondClassifier bondClassifier(const std::string &name)
std::complex< double > lookupTableQ8(int m, std::array< double, 2 > angles)
Lookup table for Q8 (m=0 to m=16).
std::complex< double > lookupTableQ3(int m, std::array< double, 2 > angles)
Lookup table for Q3 (m=0 to m=6).
std::vector< double > qlBar
Local .
SteinhardtQl steinhardtQl(const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, int orderL)
std::vector< std::complex< double > > lookupTableQ8Vec(std::array< double, 2 > angles)
Lookup table for Q8.
void getIceTypePlus(molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, std::string path, int firstFrame, bool isSlice=false, std::string outputFileName="chillPlus.txt")
Classifies each atom according to the CHILL+ algorithm.
std::complex< double > lookupTableQ4(int m, std::array< double, 2 > angles)
Lookup table for Q4 (m=0 to m=8).
void registerBondClassifier(const std::string &name, const BondClassifier &rule)
The main molecular system handler.
CHILL and CHILL+ structure classification.
Functions used for spherical harmonics.
Header file for neighbour list generation.
One rule set for classifying bond correlations .
This is the local orientational bond order parameter , of length .
Per-particle Steinhardt order parameters of a single degree .
This contains a complex vector of length .
This contains a collection of points; contains information for a particular frame.
This contains per-particle information.