cluster.hpp
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------------
2 // d-SEAMS - Deferred Structural Elucidation Analysis for Molecular Simulations
3 //
4 // Copyright (c) 2018--present d-SEAMS core team
5 //
6 // This program is free software: you can redistribute it and/or modify
7 // it under the terms of the MIT License as published by
8 // the Open Source Initiative.
9 //
10 // A copy of the MIT License is included in the LICENSE file of this repository.
11 // You should have received a copy of the MIT License along with this program.
12 // If not, see <https://opensource.org/licenses/MIT>.
13 //-----------------------------------------------------------------------------------
14 
15 #ifndef __CLUSTER_H_
16 #define __CLUSTER_H_
17 
18 #include <array>
19 #include <boost/geometry.hpp>
20 #include <boost/math/special_functions/spherical_harmonic.hpp>
21 #include <bop.hpp>
22 #include <cmath>
23 #include <complex>
24 #include <generic.hpp>
25 #include <iostream>
26 #include <math.h>
27 #include <mol_sys.hpp>
28 #include <neighbours.hpp>
29 #include <seams_output.hpp>
30 
63 namespace clump {
64 
68  molSys::PointCloud<molSys::Point<double>, double> *iceCloud,
70  std::vector<int> *clusterID, std::vector<int> *nClusters,
71  std::unordered_map<int, int> *indexNumber, int firstFrame);
72 
76  molSys::PointCloud<molSys::Point<double>, double> *iceCloud,
77  std::vector<std::vector<int>> nList, std::vector<int> *linkedList);
78 
83  molSys::PointCloud<molSys::Point<double>, double> *iceCloud,
86  std::vector<std::vector<int>> &iceNeighbourList,
87  double cutoff, int firstFrame,
88  std::string bopAnalysis = "q6");
89 
92  molSys::PointCloud<molSys::Point<double>, double> *iceCloud,
94 
95 } // namespace clump
96 
97 #endif // __CLUSTER_H_
File for the bond order parameter analysis.
File for containing generic or common functions.
int recenterClusterCloud(molSys::PointCloud< molSys::Point< double >, double > *iceCloud, std::vector< std::vector< int >> nList)
Recenters the coordinates of a pointCloud.
Definition: cluster.cpp:398
int singleClusterLinkedList(molSys::PointCloud< molSys::Point< double >, double > *iceCloud, std::vector< std::vector< int >> nList, std::vector< int > *linkedList)
Definition: cluster.cpp:237
int 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.
Definition: cluster.cpp:40
int 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")
Definition: cluster.cpp:312
The main molecular system handler.
Clustering functions. This namespace contains functions that are used in the for clustering ice-like ...
Definition: cluster.hpp:63
Header file for neighbour list generation.
This contains a collection of points; contains information for a particular frame.
Definition: mol_sys.hpp:170
This contains per-particle information.
Definition: mol_sys.hpp:149