STORMM Source Documentation
Loading...
Searching...
No Matches
atomgraph_analysis.h
1// -*-c++-*-
2#ifndef STORMM_ATOMGRAPH_ANALYSIS_H
3#define STORMM_ATOMGRAPH_ANALYSIS_H
4
5#include <cmath>
6#include <vector>
7#include "copyright.h"
8#include "Accelerator/hybrid.h"
9#include "Constants/behavior.h"
10#include "Constants/scaling.h"
11#include "Potential/energy_enumerators.h"
12#include "Reporting/error_format.h"
13#include "atomgraph.h"
14#include "atomgraph_abstracts.h"
15#include "lennard_jones_analysis.h"
16
17namespace stormm {
18namespace topology {
19
20using card::Hybrid;
21using constants::ExceptionResponse;
22using energy::VdwCombiningRule;
23
28WaterModel identifyWaterModel(const AtomGraph &ag);
29
41std::string listVirtualSiteFrameTypes(const AtomGraph &ag);
42
43std::string listVirtualSiteFrameTypes(const AtomGraph *ag);
44
45std::string listVirtualSiteFrameTypes(const int* vs_types, int nsite);
47
60int colorConnectivity(const NonbondedKit<double> &nbk, const ChemicalDetailsKit &cdk,
61 int atom_i, int atom_j, std::vector<uint> *marked, bool *ring_report);
62
74std::vector<int> mapRotatingGroup(const NonbondedKit<double> &nbk, const ChemicalDetailsKit &cdk,
75 const int atom_i, const int atom_j, const std::string &filename,
76 ExceptionResponse policy = ExceptionResponse::WARN);
77
92std::vector<int> selectRotatingAtoms(const AtomGraph &ag, int atom_i, int atom_j,
93 ExceptionResponse policy = ExceptionResponse::WARN);
94
95std::vector<int> selectRotatingAtoms(const AtomGraph *ag, int atom_i, int atom_j,
96 ExceptionResponse policy = ExceptionResponse::WARN);
98
115VdwCombiningRule inferCombiningRule(const AtomGraph *ag,
116 ExceptionResponse policy = ExceptionResponse::WARN,
117 bool seek_prevalent = false);
118
119VdwCombiningRule inferCombiningRule(const AtomGraph &ag,
120 ExceptionResponse policy = ExceptionResponse::WARN,
121 bool seek_prevalent = false);
123
138int getConstrainedDegreesOfFreedom(const AtomGraph *ag, int low_atom_index = 0,
139 int high_atom_index = 0);
140
141int getConstrainedDegreesOfFreedom(const AtomGraph &ag, int low_atom_index = 0,
142 int high_atom_index = 0);
144
145} // namespace topology
146} // namespace stormm
147
148#endif
A struct to hold information relating to an Amber topology. This struct's member functions are limite...
Definition atomgraph.h:50
Information on atoms and residues which may be useful for applying atom masks or identifying specific...
Definition atomgraph_abstracts.h:382
Information needed for non-bonded real-space calculations. Templating is used as above,...
Definition atomgraph_abstracts.h:287