cluster.hpp
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------------
2 // d-SEAMS is free software: you can redistribute it and/or modify
3 // it under the terms of the GNU General Public License as published by
4 // the Free Software Foundation, either version 3 of the License, or
5 // (at your option) any later version.
6 //
7 // A copy of the GNU General Public License is available at
8 // http://www.gnu.org/licenses/
9 //-----------------------------------------------------------------------------------
10 
11 #ifndef __CLUSTER_H_
12 #define __CLUSTER_H_
13 
14 #include <array>
15 #include <boost/geometry.hpp>
16 #include <boost/math/special_functions/spherical_harmonic.hpp>
17 #include <bop.hpp>
18 #include <cmath>
19 #include <complex>
20 #include <generic.hpp>
21 #include <iostream>
22 #include <math.h>
23 #include <mol_sys.hpp>
24 #include <neighbours.hpp>
25 #include <seams_output.hpp>
26 
59 namespace clump {
60 
64  molSys::PointCloud<molSys::Point<double>, double> *iceCloud,
66  std::vector<int> *clusterID, std::vector<int> *nClusters,
67  std::unordered_map<int, int> *indexNumber, int firstFrame);
68 
72  molSys::PointCloud<molSys::Point<double>, double> *iceCloud,
73  std::vector<std::vector<int>> nList, std::vector<int> *linkedList);
74 
79  molSys::PointCloud<molSys::Point<double>, double> *iceCloud,
82  std::vector<std::vector<int>> &iceNeighbourList,
83  double cutoff, int firstFrame,
84  std::string bopAnalysis = "q6");
85 
88  molSys::PointCloud<molSys::Point<double>, double> *iceCloud,
90 
91 } // namespace clump
92 
93 #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:394
int singleClusterLinkedList(molSys::PointCloud< molSys::Point< double >, double > *iceCloud, std::vector< std::vector< int >> nList, std::vector< int > *linkedList)
Definition: cluster.cpp:233
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:36
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:308
The main molecular system handler.
Clustering functions. This namespace contains functions that are used in the for clustering ice-like ...
Definition: cluster.hpp:59
Header file for neighbour list generation.
This contains a collection of points; contains information for a particular frame.
Definition: mol_sys.hpp:166
This contains per-particle information.
Definition: mol_sys.hpp:145