QMCPACK
EwaldRef.h File Reference

Computes Ewald sums of the potential energy to a given tolerance for arbitrary collections of charges. More...

+ Include dependency graph for EwaldRef.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 qmcplusplus
 helper functions for EinsplineSetBuilder
 
 qmcplusplus::ewaldref
 

Typedefs

using int_t = int
 Type for integers. More...
 
using real_t = double
 Type for floating point numbers. More...
 
using IntVec = TinyVector< int_t, DIM >
 Type for integer vectors of length DIM. More...
 
using RealVec = TinyVector< real_t, DIM >
 Type for floating point vectors of length DIM. More...
 
using RealMat = Tensor< real_t, DIM >
 Type for floating point matrices of shape DIM,DIM. More...
 
using PosArray = std::vector< RealVec >
 Type for lists of particle positions. More...
 
using ChargeArray = std::vector< real_t >
 Type for lists of particle charges. More...
 

Enumerations

enum  { DIM = 3 }
 Reference Ewald implemented for 3D only. More...
 

Functions

real_t ewaldEnergy (const RealMat &a, const PosArray &R, const ChargeArray &Q, real_t tol)
 Compute the total Ewald potential energy for a collection of charges. More...
 

Detailed Description

Computes Ewald sums of the potential energy to a given tolerance for arbitrary collections of charges.

The implementation follows formulas 6 and 7 from:

N. D. Drummond et al., Physical Review B 78 125106 (2008)

DOI: https://doi.org/10.1103/PhysRevB.78.125106

Definition in file EwaldRef.h.