STORMM Source Documentation
|
Collect elements for performing the reciprocal space convolution in many systems. This class works most directly in conjunction with a PMIGrid object, and is expected to reference the same PhaseSpaceSynthesis and CellGrid objects. This object will also point to the underlying AtomGraphSynthesis (topology synthesis). Terminology in this object follows from the 1995 Smooth Particle Mesh Ewald publication: More...
#include <convolution_manager.h>
Public Member Functions | |
int | getSystemCount () const |
Get the number of systems in the associated synthesis. | |
double | getEwaldCoefficient () const |
Get the Ewald coefficient used by the convolution. | |
double | getCoulombConstant () const |
Get the definition of Coulomb's constant used by the convolution. This will return Coulomb's constant as defined in the associated topology synthesis. | |
const PMIGrid * | getPMIGridPointer () const |
Get the Particle-Mesh Ewald grid dimensions for any one system. | |
const AtomGraphSynthesis * | getTopologySynthesisPointer () const |
Get a pointer to the topology synthesis. | |
std::vector< double > | getSelfEcorr (PrecisionModel prec) const |
Report the self energies of charges for each system, for inspection. | |
ConvolutionManager (const PMIGrid *pmig_in, const double ewald_coefficient_in) | |
The constructor depends on a PMIGrid and will refer back to the PMIGrid's associated CellGrid object to retrieve the pointer to its topology synthesis. | |
ConvolutionManager (const PMIGrid &pmig_in, const double ewald_coefficient_in) | |
ConvolutionManager (const ConvolutionManager &original) | |
The copy and move constructors, as well as copy andmove assignemnt operators, must all be given explicit definitions due to the presence of POINTER-kind Hybrid objects. | |
ConvolutionManager (ConvolutionManager &&original) | |
ConvolutionManager & | operator= (const ConvolutionManager &other) |
ConvolutionManager & | operator= (ConvolutionManager &&other) |
Collect elements for performing the reciprocal space convolution in many systems. This class works most directly in conjunction with a PMIGrid object, and is expected to reference the same PhaseSpaceSynthesis and CellGrid objects. This object will also point to the underlying AtomGraphSynthesis (topology synthesis). Terminology in this object follows from the 1995 Smooth Particle Mesh Ewald publication:
Ulrich Essmann, Lalith Perera, Max L. Berkowitz, Tom Darden, Hsing Lee, and Lee G. Pedersen. (1995) "A Smooth Particle Mesh Ewald Method." Journal of Chemical Physics, 103:8577-8593.
stormm::energy::ConvolutionManager::ConvolutionManager | ( | const ConvolutionManager & | original | ) |
The copy and move constructors, as well as copy andmove assignemnt operators, must all be given explicit definitions due to the presence of POINTER-kind Hybrid objects.
original | The original object to copy or move |
other | Another object placed on the right hand side of the assignment operation |
std::vector< double > stormm::energy::ConvolutionManager::getSelfEcorr | ( | PrecisionModel | prec | ) | const |
Report the self energies of charges for each system, for inspection.
prec | Indicate whether to draw from the SINGLE- or DOUBLE-precision array |