Functions | |
int | clump::largestIceCluster (std::string path, molSys::PointCloud< molSys::Point< double >, double > *yCloud, molSys::PointCloud< molSys::Point< double >, double > *iceCloud, std::vector< std::vector< int >> nList, std::vector< bool > *isIce, std::vector< int > *clusterID, std::vector< int > *nClusters, std::unordered_map< int, int > *indexNumber, int firstFrame) |
Finds the largest ice cluster. More... | |
int | clump::singleClusterLinkedList (molSys::PointCloud< molSys::Point< double >, double > *iceCloud, std::vector< std::vector< int >> nList, std::vector< int > *linkedList) |
int | clump::clusterAnalysis (std::string path, molSys::PointCloud< molSys::Point< double >, double > *iceCloud, molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< std::vector< int >> nList, std::vector< std::vector< int >> &iceNeighbourList, double cutoff, int firstFrame, std::string bopAnalysis="q6") |
int | clump::recenterClusterCloud (molSys::PointCloud< molSys::Point< double >, double > *iceCloud, std::vector< std::vector< int >> nList) |
Recenters the coordinates of a pointCloud. More... | |
int clump::clusterAnalysis | ( | std::string | path, |
molSys::PointCloud< molSys::Point< double >, double > * | iceCloud, | ||
molSys::PointCloud< molSys::Point< double >, double > * | yCloud, | ||
std::vector< std::vector< int >> | nList, | ||
std::vector< std::vector< int >> & | iceNeighbourList, | ||
double | cutoff, | ||
int | firstFrame, | ||
std::string | bopAnalysis = "q6" |
||
) |
Does the cluster analysis of ice particles in the system. Returns a pointCloud of the largest ice cluster. The neighbour list returned is BY INDEX of the largest ice cluster pointCloud.
Does the cluster analysis of ice particles in the system. Returns a molSys::PointCloud of the largest ice cluster (using the \( q_6 \) parameter by default). Uses the full neighbour list (by ID) according to the full PointCloud yCloud. Returns a neighbour list by index, according to the largest ice cluster.
[in] | path | Output directory path, specified by the user |
[in,out] | iceCloud | The molSys::PointCloud for the largest ice cluster of the ice-like molecules |
[in] | yCloud | The molSys::PointCloud for all the particles in the frame, regardless of ice type |
[in] | nList | Row-ordered neighbour list by atom ID |
[in] | iceNeighbourList | Row-ordered neighbour list by atom index, not ID, according to the iceCloud atoms |
[in] | cutoff | Cutoff for the nearest neighbours |
[in] | firstFrame | First frame to be analyzed |
[in] | bopAnalysis | This determines which method to use for determining the ice-like nature of the particles. This can be "q6" or "chill", for using the \( q_6 \) parameter or CHILL algorithm, respectively |
Definition at line 312 of file cluster.cpp.
int clump::largestIceCluster | ( | std::string | path, |
molSys::PointCloud< molSys::Point< double >, double > * | yCloud, | ||
molSys::PointCloud< molSys::Point< double >, double > * | iceCloud, | ||
std::vector< std::vector< int >> | nList, | ||
std::vector< bool > * | isIce, | ||
std::vector< int > * | list, | ||
std::vector< int > * | nClusters, | ||
std::unordered_map< int, int > * | indexNumber, | ||
int | firstFrame | ||
) |
Finds the largest ice cluster.
Finds the number of particles in the largest ice cluster, for a given frame, using Stoddard's clustering algorithm (Stoddard J. Comp. Phys., 27, 291, 1977)](https://www.sciencedirect.com/science/article/pii/0021999178900116)
[in] | path | Output directory path, specified by the user |
[in] | yCloud | The molSys::PointCloud for all particles, regardless of type classification |
[in,out] | iceCloud | The molSys::PointCloud for the largest ice cluster of the ice-like molecules |
[in] | nList | Row-ordered neighbour list by atom ID |
[in] | isIce | Holds a bool value for each particle in yCloud. This is true for ice-like molecules and false otherwise |
[in] | list | Linked list created by the clustering algorithm. |
[in] | nClusters | Contains the number of particles in every ice-like cluster found |
[in] | indexNumber | Unordered map for mapping the cluster ID indices to the number in each cluster |
[in] | firstFrame | First frame to be analyzed |
Definition at line 40 of file cluster.cpp.
int clump::recenterClusterCloud | ( | molSys::PointCloud< molSys::Point< double >, double > * | iceCloud, |
std::vector< std::vector< int >> | nList | ||
) |
Recenters the coordinates of a pointCloud.
Recenters the largest ice cluster, by applying a transformation on the largest ice cluster coordinates. Requires the neighbour list BY INDEX.
[in] | iceCloud | The molSys::PointCloud for the largest ice cluster of the ice-like molecules |
[in] | nList | Row-ordered neighbour list by atom index, for the molSys::PointCloud iceCloud |
Definition at line 398 of file cluster.cpp.
int clump::singleClusterLinkedList | ( | molSys::PointCloud< molSys::Point< double >, double > * | iceCloud, |
std::vector< std::vector< int >> | nList, | ||
std::vector< int > * | linkedList | ||
) |
Get the linked list of a cluster, given by iceCloud, for a single cluster. Required for cluster re-centering
Get the linked list of a cluster, given by iceCloud, for a single cluster. Required for cluster re-centering
[in] | iceCloud | The molSys::PointCloud for the largest ice cluster of the ice-like molecules |
[in] | nList | Row-ordered neighbour list by atom index, not ID |
[in,out] | linkedList | Linked list created by the clustering algorithm for the largest ice cluster |
Definition at line 237 of file cluster.cpp.