Loading...
Searching...
No Matches
bop.hpp File Reference

File for the bond order parameter analysis. More...

#include <array>
#include <cmath>
#include <complex>
#include <string>
#include <generic.hpp>
#include <mol_sys.hpp>
#include <neighbours.hpp>
#include <seams_output.hpp>

Go to the source code of this file.

Classes

struct  chill::YlmAtom
 This contains a complex vector of length \(2l+1\). More...
struct  chill::QlmAtom
 This is the local orientational bond order parameter \(q_{lm}\), of length \(2l+1\). More...
struct  chill::BondClassifier
 One rule set for classifying bond correlations \(c_{ij}\). More...
struct  chill::SteinhardtQl
 Per-particle Steinhardt order parameters of a single degree \(l\). More...

Namespaces

namespace  chill
 CHILL and CHILL+ structure classification.
namespace  sph
 Functions used for spherical harmonics.

Functions

BondClassifier chill::chillRule ()
BondClassifier chill::chillPlusRule ()
BondClassifier chill::bondClassifier (const std::string &name)
void chill::registerBondClassifier (const std::string &name, const BondClassifier &rule)
std::vector< std::string > chill::bondClassifierNames ()
 Names of every registered rule set.
void chill::classifyBonds (molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, const BondClassifier &rule, bool isSlice=false)
void chill::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 \(c_{ij}\) (or \(a_{ij}\) in some treatments) according to the CHILL algorithm.
void chill::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 algorithm.
void chill::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 algorithm.
void chill::getCorrelPlus (molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, bool isSlice=false, int coordinationNumber=4)
void chill::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.
void chill::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.
std::vector< double > chill::getq6 (molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, bool isSlice=false)
void chill::reclassifyWater (molSys::PointCloud< molSys::Point< double >, double > &yCloud, std::vector< double > &q6)
int chill::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.
bool chill::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)
int chill::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.
SteinhardtQl chill::steinhardtQl (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &nList, int orderL)
std::vector< std::complex< double > > sph::spheriHarmo (int orderL, std::array< double, 2 > radialCoord)
std::array< double, 2 > sph::radialCoord (std::array< double, 3 > cartCoord)
std::vector< std::complex< double > > sph::lookupTableQ3Vec (std::array< double, 2 > angles)
 Lookup table for Q3.
std::complex< double > sph::lookupTableQ3 (int m, std::array< double, 2 > angles)
 Lookup table for Q3 (m=0 to m=6).
std::vector< std::complex< double > > sph::lookupTableQ4Vec (std::array< double, 2 > angles)
 Lookup table for Q4.
std::complex< double > sph::lookupTableQ4 (int m, std::array< double, 2 > angles)
 Lookup table for Q4 (m=0 to m=8).
std::vector< std::complex< double > > sph::lookupTableQ6Vec (std::array< double, 2 > angles)
 Lookup table for Q6.
std::vector< std::complex< double > > sph::lookupTableQ8Vec (std::array< double, 2 > angles)
 Lookup table for Q8.
std::complex< double > sph::lookupTableQ8 (int m, std::array< double, 2 > angles)
 Lookup table for Q8 (m=0 to m=16).
std::complex< double > sph::lookupTableQ6 (int m, std::array< double, 2 > angles)
 Lookup table for Q6 (m=0 to m=12).

Detailed Description

File for the bond order parameter analysis.

Definition in file bop.hpp.