bond.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 __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
69namespace bond {
70
75std::vector<std::vector<int>>
76populateHbonds(std::string filename,
78 std::vector<std::vector<int>> nList, int targetFrame, int Htype);
79
84// ! The H atom PointCloud should be for the entire system
85std::vector<std::vector<int>>
88 std::vector<std::vector<int>> nList);
89
92double
95 int oAtomIndex, int hAtomIndex);
96
100std::vector<std::vector<int>>
101populateBonds(std::vector<std::vector<int>> nList,
103
108std::vector<std::vector<int>>
109populateBonds(std::vector<std::vector<int>> nList,
111 std::vector<cage::iceType> atomTypes);
112
115std::vector<std::vector<int>>
116createBondsFromCages(std::vector<std::vector<int>> rings,
117 std::vector<cage::Cage> *cageList, cage::cageType type,
118 int *nRings);
119
121std::vector<std::vector<int>> trimBonds(std::vector<std::vector<int>> bonds);
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 > > trimBonds(std::vector< std::vector< int > > bonds)
Remove duplicate bonds.
Definition bond.cpp:600
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 > > createBondsFromCages(std::vector< std::vector< int > > rings, std::vector< cage::Cage > *cageList, cage::cageType type, int *nRings)
Definition bond.cpp:529
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 > > populateBonds(std::vector< std::vector< int > > nList, molSys::PointCloud< molSys::Point< double >, double > *yCloud)
Definition bond.cpp:26
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