STORMM Source Documentation
|
A class to hold the details of multiple BackgroundMesh objects taking the same molecular basis. It is termed a composition, not a synthesis, as it deals with multiple aspects of a single system (or multiple aspects of many snapshots of the same system), not a series of many systems. More...
#include <background_mesh_composition.h>
Public Member Functions | |
void | setRulers () |
Refresh the rulers for the A, B, and C axes of the underlying meshes. This must be called explicitly if manipulating the measurements via a pointer to the measurements member variable. This will be called implicity if submitting an entire new MeshParameters object to reset measurements. The internal measurements will be referenced when setting tick_marks. | |
void | setForceField (const AtomGraphSynthesis &poly_ag) |
Set the object's non-bonded model based on a series of topologies, a particular combining rule, and a specific interpolation scheme. If provided, record the specific mesh indices referenced by each atom type. This is also the means to set the type of representation: for occlusion meshes, provide the list of specific probe radii (all atoms will access the mesh index most appropriate for their Lennard-Jones sigma self interactions). If modeling a nonbonded field, electrostatics will implicitly be calculated as part of the model. | |
BackgroundMeshComposition (const MeshFoundation &basis_in, const MeshParameters &measurements_in, const MeshRulers &tick_marks, const GridDetail purpose_in, const std::vector< double > probe_radii, VdwCombiningRule lj_rule_in, double clash_forgiveness, const std::vector< PairLJInteraction > &edits) | |
The constructor takes various components (composition in the C++ sense of the word) and will immediately allocate. If the developer wishes to modify any of the components post-facto, the meshes will likely need to be re-allocated but this is a valid way to construct the composition of meshes and the defaults do not imply a large amount of memory to allocate. All of the constructors will build the nonbonded model based on information provided in submitted topologies or other arrays, although it remains possible to build the nonbonded_model member variable by direct developer intervention after the initial construction. The calculation each mesh in the composition will not happen until the evaluate() member function is called. | |
BackgroundMeshComposition (const MeshFoundation &basis_in, const MeshParameters &measurements_in, const MeshRulers &tick_marks, GridDetail purpose_in, const AtomGraph &ag_other, VdwCombiningRule lj_rule_in, double clash_ratio_in, double clash_distance_in, const std::vector< PairLJInteraction > &edits) | |
BackgroundMeshComposition (const MeshFoundation &basis_in, const MeshParameters &measurements_in, const MeshRulers &tick_marks, GridDetail purpose_in, const AtomGraphSynthesis &poly_ag_other, VdwCombiningRule lj_rule_in, double clash_ratio_in, double clash_distance_in, const std::vector< PairLJInteraction > &edits) | |
BackgroundMeshComposition (const BackgroundMeshComposition &original)=default | |
With no POINTER-kind Hybrid objects or other pointers to repair, the default copy and move constructors are valid. With no const member variables, the default copy and move assignment operators are valid. | |
BackgroundMeshComposition (BackgroundMeshComposition &&original)=default | |
BackgroundMeshComposition & | operator= (const BackgroundMeshComposition &original)=default |
BackgroundMeshComposition & | operator= (BackgroundMeshComposition &&original)=default |
const MeshFoundation & | getMolecularBasis () const |
Get the molecular basis of the meshes. | |
MeshFoundation * | getMolecularBasis () |
const MeshParameters & | getDimensions () const |
Get the dimensions, boundaries, and other settings for all of the meshes contained within this object. | |
MeshParameters * | getDimensions () |
void | setMeasurements () |
Set the dimensions, boundaries, and other details common to all meshes contained within this object. This will automatically refresh the rulers (tick_marks member variable). | |
void | setMeasurements (const MeshParameters &measurements_in) |
A class to hold the details of multiple BackgroundMesh objects taking the same molecular basis. It is termed a composition, not a synthesis, as it deals with multiple aspects of a single system (or multiple aspects of many snapshots of the same system), not a series of many systems.
stormm::structure::BackgroundMeshComposition< T >::BackgroundMeshComposition | ( | const MeshFoundation & | basis_in, |
const MeshParameters & | measurements_in, | ||
const MeshRulers & | tick_marks, | ||
const GridDetail | purpose_in, | ||
const std::vector< double > | probe_radii, | ||
VdwCombiningRule | lj_rule_in, | ||
double | clash_forgiveness, | ||
const std::vector< PairLJInteraction > & | edits ) |
The constructor takes various components (composition in the C++ sense of the word) and will immediately allocate. If the developer wishes to modify any of the components post-facto, the meshes will likely need to be re-allocated but this is a valid way to construct the composition of meshes and the defaults do not imply a large amount of memory to allocate. All of the constructors will build the nonbonded model based on information provided in submitted topologies or other arrays, although it remains possible to build the nonbonded_model member variable by direct developer intervention after the initial construction. The calculation each mesh in the composition will not happen until the evaluate() member function is called.
purpose_in | Indicate the type of representation to build in a series of meshes |
probe_radii_in | Radii of occlusion probes to use. The length of this list will determine the number of meshes produced. |
ag_other | Topology of the system that will interact with the meshes, given when a nonbonded field is to be created |
poly_ag_other | The synthesis of topologies that will interact with the meshes, given when a nonbonded field is to be created |
lj_rule_in | Indicate the manner in which probe radii or Lennard-Jones parameters from supplied topologies will interact with those of atoms in the meshes' underlying topology (as specified in basis_in) |
clash_forgiveness | Constant ratio scaling all probe : atom interactions when creating occlusion meshes |
clash_ratio_in | The ratio of sigma parameters at which the Lennard-Jones potential hands off to a softcore polynomial |
clash_distance_in | The absolute distance at which electrostatic interactions transition to a softcore polynomial |
|
default |
With no POINTER-kind Hybrid objects or other pointers to repair, the default copy and move constructors are valid. With no const member variables, the default copy and move assignment operators are valid.
original | The original object to copy or move |
other | Another object placed on the right hand side of an assignment statement |
const MeshParameters & stormm::structure::BackgroundMeshComposition< T >::getDimensions | ( | ) | const |
Get the dimensions, boundaries, and other settings for all of the meshes contained within this object.
Overloaded:
const MeshFoundation & stormm::structure::BackgroundMeshComposition< T >::getMolecularBasis | ( | ) | const |
Get the molecular basis of the meshes.
Overloaded:
void stormm::structure::BackgroundMeshComposition< T >::setForceField | ( | const AtomGraphSynthesis & | poly_ag | ) |
Set the object's non-bonded model based on a series of topologies, a particular combining rule, and a specific interpolation scheme. If provided, record the specific mesh indices referenced by each atom type. This is also the means to set the type of representation: for occlusion meshes, provide the list of specific probe radii (all atoms will access the mesh index most appropriate for their Lennard-Jones sigma self interactions). If modeling a nonbonded field, electrostatics will implicitly be calculated as part of the model.
Overloaded:
ag | |
poly_ag | |
lj_rule | |
probe_radii | |
well_depths |
void stormm::structure::BackgroundMeshComposition< T >::setMeasurements | ( | ) |
Set the dimensions, boundaries, and other details common to all meshes contained within this object. This will automatically refresh the rulers (tick_marks member variable).
Overloaded:
measurements_in | The measurements to set |