2#ifndef STORMM_BACKGROUND_MESH_COMPOSITION_H
3#define STORMM_BACKGROUND_MESH_COMPOSITION_H
6#include "Synthesis/atomgraph_synthesis.h"
7#include "Topology/atomgraph.h"
8#include "Topology/atomgraph_abstracts.h"
9#include "Topology/combograph_ljmodel.h"
10#include "mesh_forcefield.h"
11#include "mesh_foundation.h"
12#include "mesh_parameters.h"
13#include "mesh_rulers.h"
14#include "structure_enumerators.h"
19using topology::ComboGraphLJModel;
20using topology::PairLJInteraction;
58 const MeshRulers &tick_marks,
const GridDetail purpose_in,
59 const std::vector<double> probe_radii, VdwCombiningRule lj_rule_in,
60 double clash_forgiveness,
const std::vector<PairLJInteraction> &edits);
63 const MeshRulers &tick_marks, GridDetail purpose_in,
64 const AtomGraph &ag_other, VdwCombiningRule lj_rule_in,
65 double clash_ratio_in,
double clash_distance_in,
66 const std::vector<PairLJInteraction> &edits);
69 const MeshRulers &tick_marks, GridDetail purpose_in,
71 double clash_ratio_in,
double clash_distance_in,
72 const std::vector<PairLJInteraction> &edits);
181 int electrostatic_mesh_index;
185 std::vector<NonbondedPotential> mesh_contents;
191 std::vector<double> probe_radii;
197 std::vector<double> well_depths;
211#include "background_mesh_composition.tpp"
An evolution of GpuBuffer in pmemd.cuda, the Composite array has elements that are accessible from ei...
Definition hybrid.h:202
void setMeasurements()
Set the dimensions, boundaries, and other details common to all meshes contained within this object....
void setRulers()
Refresh the rulers for the A, B, and C axes of the underlying meshes. This must be called explicitly ...
const MeshParameters & getDimensions() const
Get the dimensions, boundaries, and other settings for all of the meshes contained within this object...
const MeshFoundation & getMolecularBasis() const
Get the molecular basis of the meshes.
BackgroundMeshComposition(const BackgroundMeshComposition &original)=default
With no POINTER-kind Hybrid objects or other pointers to repair, the default copy and move constructo...
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 immediat...
void setForceField(const AtomGraphSynthesis &poly_ag)
Set the object's non-bonded model based on a series of topologies, a particular combining rule,...
A class to hold the rules by which the system underlying a mesh object interacts with its surrounding...
Definition mesh_forcefield.h:98
A small object to hold the essential descriptors of the molecule.
Definition mesh_foundation.h:50
Encode the critical dimensions of a regular, rectilinear mesh. The locations of mesh points as well a...
Definition mesh_parameters.h:121
A collection of coordinate vectors describing each axis of a mesh. If the mesh axes track Cartesian a...
Definition mesh_rulers.h:75
A collection of one or more AtomGraph objects, with similar components arranged in contiguous arrays ...
Definition atomgraph_synthesis.h:55
A struct to hold information relating to an Amber topology. This struct's member functions are limite...
Definition atomgraph.h:50