STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::energy::ConvolutionKit< T > Struct Template Reference

Any abstract of the convolution manager is read-only. More...

#include <convolution_manager.h>

Public Member Functions

 ConvolutionKit (int system_count_in, T ew_coeff_in, const int *sys_offsets_in, const T *self_ecorr_in, const T *bmesh_a_in, const T *bmesh_b_in, const T *bmesh_c_in, const T *mval_a_in, const T *mval_b_in, const T *mval_c_in, const T *msval_a_in, const T *msval_b_in, const T *msval_c_in, const T *cmesh_a_in, const T *cmesh_b_in, const T *cmesh_c_in)
 As with other abstracts, the convolution kit is constructed with a series of values for each associated pointer and critical constant. See Essmann's 1995 paper (below) for the inspiration to some of the nomenclature.
 
 ConvolutionKit (const ConvolutionKit &original)=default
 Like other abstracts, the presence of const members implicitly forbids the copy and move assignment operators. Copy and move constructors may be taken in their deafult forms.
 
 ConvolutionKit (ConvolutionKit &&original)=default
 

Public Attributes

const int system_count
 The number of indepedent systems.
 
const T ew_coeff
 The Ewald coefficien in use by the splitting function.
 
const int * sys_offsets
 
const T * self_ecorr
 
const T * bmesh_a
 "B" mesh prefactors for each system along the unit cell A axis
 
const T * bmesh_b
 "B" mesh prefactors for each system along the unit cell B axis
 
const T * bmesh_c
 "B" mesh prefactors for each system along the unit cell C axis
 
const T * mval_a
 "M" values for each system along the unit cell A axis
 
const T * mval_b
 "M" values for each system along the unit cell B axis
 
const T * mval_c
 "M" values for each system along the unit cell C axis
 
const T * msval_a
 Shifted "M" values for each system along the unit cell A axis.
 
const T * msval_b
 Shifted "M" values for each system along the unit cell B axis.
 
const T * msval_c
 Shifted "M" values for each system along the unit cell C axis.
 
const T * cmesh_a
 
const T * cmesh_b
 "C" mesh prefactors for each system along the unit cell B axis.
 
const T * cmesh_c
 "C" mesh prefactors for each system along the unit cell C axis.
 

Detailed Description

template<typename T>
struct stormm::energy::ConvolutionKit< T >

Any abstract of the convolution manager is read-only.

Constructor & Destructor Documentation

◆ ConvolutionKit()

template<typename T>
stormm::energy::ConvolutionKit< T >::ConvolutionKit ( const ConvolutionKit< T > & original)
default

Like other abstracts, the presence of const members implicitly forbids the copy and move assignment operators. Copy and move constructors may be taken in their deafult forms.

Parameters
originalThe original object to copy or move

Member Data Documentation

◆ cmesh_a

template<typename T>
const T* stormm::energy::ConvolutionKit< T >::cmesh_a

"C" mesh prefactors for each system along the unit cell A axis. These are only computed if all systems' unit cells are orthorhombic.

◆ self_ecorr

template<typename T>
const T* stormm::energy::ConvolutionKit< T >::self_ecorr

Self-correlation energy of the charges (electrostatic or otherwise) in each system.

◆ sys_offsets

template<typename T>
const int* stormm::energy::ConvolutionKit< T >::sys_offsets

Offsets for grid elements and prefactors in each system. The maximum of all grid dimensions for a particular system, rounded to the nearest multiple of the warp size, determines each successive system offset in the arrays for prefactors and M values along any of the A, B, or C unit cell dimensions.


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