cluster.hpp
Go to the documentation of this file.
Code
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
63namespace clump {
64
67 std::string path, molSys::PointCloud<molSys::Point<double>, double> *yCloud,
69 std::vector<std::vector<int>> nList, std::vector<bool> *isIce,
70 std::vector<int> *clusterID, std::vector<int> *nClusters,
71 std::unordered_map<int, int> *indexNumber, int firstFrame);
72
77 std::vector<std::vector<int>> nList, std::vector<int> *linkedList);
78
82int clusterAnalysis(std::string path,
85 std::vector<std::vector<int>> nList,
86 std::vector<std::vector<int>> &iceNeighbourList,
87 double cutoff, int firstFrame,
88 std::string bopAnalysis = "q6");
89
93 std::vector<std::vector<int>> nList);
94
95} // namespace clump
96
97#endif // __CLUSTER_H_
File for the bond order parameter analysis.
File for containing generic or common functions.
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 singleClusterLinkedList(molSys::PointCloud< molSys::Point< double >, double > *iceCloud, std::vector< std::vector< int > > nList, std::vector< int > *linkedList)
Definition cluster.cpp:237
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 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