STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::topology::ConstraintTable Struct Reference

Unguarded struct to hold the results of a constraint analysis. Constraint groups as well as fast, rigid waters will be selected. All atoms that might participate in constraints will be selected and drawn into groups; whether those groups are applied is a matter for input parameters to decide further on in the program. More...

#include <atomgraph_refinement.h>

Public Member Functions

 ConstraintTable (const std::vector< int > &atomic_numbers, const std::vector< double > &atomic_masses, const std::vector< int > &mol_limits, const std::vector< int > &mol_contents, const std::vector< int > &mol_home, const BasicValenceTable &bvt, const Map1234 &all_nb_excl, const std::vector< double > &bond_equilibria, const std::vector< double > &angl_equilibria)
 The constructor handles all allocations based on its input arguments.
 

Public Attributes

int cnst_group_count
 Number of constraint groups found.
 
int settle_group_count
 Number of SETTLE-suitable fast rigid waters found.
 
int cnst_parameter_count
 
int settle_parameter_count
 
std::vector< int > cnst_group_list
 Concatenated list of atoms in all constraint groups.
 
std::vector< int > cnst_group_bounds
 Bounds array for cnst_group_list.
 
std::vector< int > cnst_group_param_idx
 
std::vector< int > settle_ox_atoms
 
std::vector< int > settle_h1_atoms
 
std::vector< int > settle_h2_atoms
 
std::vector< int > settle_param_idx
 
std::vector< double2cnst_parameter_list
 
std::vector< int > cnst_parameter_bounds
 Bounds array for constraint_group_parameters.
 
std::vector< SettleParmsettle_measurements
 

Detailed Description

Unguarded struct to hold the results of a constraint analysis. Constraint groups as well as fast, rigid waters will be selected. All atoms that might participate in constraints will be selected and drawn into groups; whether those groups are applied is a matter for input parameters to decide further on in the program.

Constructor & Destructor Documentation

◆ ConstraintTable()

stormm::topology::ConstraintTable::ConstraintTable ( const std::vector< int > & atomic_numbers,
const std::vector< double > & atomic_masses,
const std::vector< int > & mol_limits,
const std::vector< int > & mol_contents,
const std::vector< int > & mol_home,
const BasicValenceTable & bvt,
const Map1234 & all_nb_excl,
const std::vector< double > & bond_equilibria,
const std::vector< double > & angl_equilibria )

The constructor handles all allocations based on its input arguments.

Parameters
atomic_numbersAtomic numbers of all atoms in the system (0 for virtual sites)
atomic_massMasses of all atoms, in atomic mass units (Daltons)
mol_limitsStarting an ending bounds for reading the contents of each molecule in mol_contents
mol_contentsTopological atom indices indicating the contents of each molecule
mol_homeMolecules to which each atom belongs, the kth element of the array being the molecule home of atom k in the topology
all_nb_exclConnectivity information can be inferred by examining the 1:2 exclusion information, which is reflexive within this object (if atom j excludes atom i, then atom i also excludes atom j)
bond_equilibriaEquilibrium lengths of all harmonic bond parameters
angl_equilibriaEquilibrium lengths of all harmonic angle parameters

Member Data Documentation

◆ cnst_group_param_idx

std::vector<int> stormm::topology::ConstraintTable::cnst_group_param_idx

Indices into the list of constraint group parameter sets for each constraint group

◆ cnst_parameter_count

int stormm::topology::ConstraintTable::cnst_parameter_count

Number of unique constraint group parameters sets. A constraint group parameter set consists of the masses of every atom and the bond lengths between the central atom and each of its subsidiary hydrogens, in order. Every constraint group of unique size, i.e. one central atom with three subsidiaries, will have at least one unique parameter set.

◆ cnst_parameter_list

std::vector<double2> stormm::topology::ConstraintTable::cnst_parameter_list

Parameters for constraint groups–each stretch of the array is one parameter set, with demarcations provided by the following bounds array. Each tuple encodes an inverse atom mass in the x member and a target bond length in the y member. The order of these tuples follows the order of atoms in each constraint group: central heavy atom, followed by a series of bound hydrogen atoms. The bond length assigned to the central heavy atom is meaningless.

◆ settle_h1_atoms

std::vector<int> stormm::topology::ConstraintTable::settle_h1_atoms

Topological indices of the first "hydrogen" atoms in SETTLE groups

◆ settle_h2_atoms

std::vector<int> stormm::topology::ConstraintTable::settle_h2_atoms

Topological indices of the second "hydrogen" atoms in SETTLE groups

◆ settle_ox_atoms

std::vector<int> stormm::topology::ConstraintTable::settle_ox_atoms

Topological indices of "oxygen" atoms in SETTLE groups (this can also include other residues that match the "one heavy atom, two symmetric light atoms" shape requirements of the SETTLE algorithm)

◆ settle_param_idx

std::vector<int> stormm::topology::ConstraintTable::settle_param_idx

Indices into the lists of SETTLE constraint group parameter sets

◆ settle_parameter_count

int stormm::topology::ConstraintTable::settle_parameter_count

Number of unique SETTLE parameter sets (a SETTLE parameter set consists of the masses of "oxygen" and "hydrogen" atoms plus the bond lengths between any pair of the three atoms–five numbers in all)


The documentation for this struct was generated from the following files: