bond.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 __BONDING_H_
16 #define __BONDING_H_
17 
18 #include <algorithm>
19 #include <array>
20 #include <fstream>
21 #include <iostream>
22 #include <iterator>
23 #include <math.h>
24 #include <memory>
25 #include <sstream>
26 #include <string>
27 #include <sys/stat.h>
28 #include <vector>
29 
30 // Internal
31 #include <cage.hpp>
32 #include <mol_sys.hpp>
33 #include <seams_input.hpp>
34 
69 namespace bond {
70 
78  std::vector<std::vector<int>> nList, int targetFrame, int Htype);
79 
84 // ! The H atom PointCloud should be for the entire system
89 
92 double
95  int oAtomIndex, int hAtomIndex);
96 
102  molSys::PointCloud<molSys::Point<double>, double> *yCloud);
103 
110  molSys::PointCloud<molSys::Point<double>, double> *yCloud,
111  std::vector<cage::iceType> atomTypes);
112 
117  std::vector<cage::Cage> *cageList, cage::cageType type,
118  int *nRings);
119 
122 
123 } // namespace bond
124 
125 #endif // __BONDING_H_
File for cage types for topological network criteria.
std::vector< std::vector< int > > populateHbonds(std::string filename, molSys::PointCloud< molSys::Point< double >, double > *yCloud, std::vector< std::vector< int >> nList, int targetFrame, int Htype)
Definition: bond.cpp:174
std::vector< std::vector< int > > populateHbondsWithInputClouds(molSys::PointCloud< molSys::Point< double >, double > *yCloud, molSys::PointCloud< molSys::Point< double >, double > *hCloud, std::vector< std::vector< int >> nList)
Definition: bond.cpp:343
std::vector< std::vector< int > > trimBonds(std::vector< std::vector< int >> bonds)
Remove duplicate bonds.
Definition: bond.cpp:600
std::vector< std::vector< int > > populateBonds(std::vector< std::vector< int >> nList, molSys::PointCloud< molSys::Point< double >, double > *yCloud)
Definition: bond.cpp:26
double getHbondDistanceOH(molSys::PointCloud< molSys::Point< double >, double > *oCloud, molSys::PointCloud< molSys::Point< double >, double > *hCloud, int oAtomIndex, int hAtomIndex)
Definition: bond.cpp:498
std::vector< std::vector< int > > createBondsFromCages(std::vector< std::vector< int >> rings, std::vector< cage::Cage > *cageList, cage::cageType type, int *nRings)
Definition: bond.cpp:529
cageType
Definition: cage.hpp:54
The main molecular system handler.
Functions for bond-related analyses.
Definition: bond.hpp:69
File for functions that read in files).
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