STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::energy::ConvolutionManager Class Reference

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 PMIGridgetPMIGridPointer () const
 Get the Particle-Mesh Ewald grid dimensions for any one system.
 
const AtomGraphSynthesisgetTopologySynthesisPointer () 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)
 
ConvolutionManageroperator= (const ConvolutionManager &other)
 
ConvolutionManageroperator= (ConvolutionManager &&other)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ConvolutionManager()

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.

Parameters
originalThe original object to copy or move
otherAnother object placed on the right hand side of the assignment operation

Member Function Documentation

◆ getSelfEcorr()

std::vector< double > stormm::energy::ConvolutionManager::getSelfEcorr ( PrecisionModel prec) const

Report the self energies of charges for each system, for inspection.

Parameters
precIndicate whether to draw from the SINGLE- or DOUBLE-precision array

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