QMCPACK
RspaceMadelungTerm Class Reference

Functor for term within the real-space sum in Drummond 2008 formula 7. More...

+ Collaboration diagram for RspaceMadelungTerm:

Public Member Functions

 RspaceMadelungTerm (const RealMat &a_in, real_t rconst_in)
 
real_t operator() (const IntVec &i) const
 

Private Attributes

const RealMat a
 The real-space cell axes. More...
 
const real_t rconst
 The constant in Drummond 2008 formula 7. More...
 

Detailed Description

Functor for term within the real-space sum in Drummond 2008 formula 7.

Definition at line 24 of file EwaldRef.cpp.

Constructor & Destructor Documentation

◆ RspaceMadelungTerm()

RspaceMadelungTerm ( const RealMat a_in,
real_t  rconst_in 
)
inline

Definition at line 33 of file EwaldRef.cpp.

33 : a(a_in), rconst(rconst_in) {}
const RealMat a
The real-space cell axes.
Definition: EwaldRef.cpp:28
const real_t rconst
The constant in Drummond 2008 formula 7.
Definition: EwaldRef.cpp:30

Member Function Documentation

◆ operator()()

real_t operator() ( const IntVec i) const
inline

Definition at line 35 of file EwaldRef.cpp.

References RspaceMadelungTerm::a, qmcplusplus::dot(), RspaceMadelungTerm::rconst, and qmcplusplus::sqrt().

36  {
37  RealVec Rv = dot(i, a);
38  real_t R = std::sqrt(dot(Rv, Rv));
39  real_t rm = std::erfc(rconst * R) / R;
40  return rm;
41  }
const RealMat a
The real-space cell axes.
Definition: EwaldRef.cpp:28
const real_t rconst
The constant in Drummond 2008 formula 7.
Definition: EwaldRef.cpp:30
TinyVector< real_t, DIM > RealVec
Type for floating point vectors of length DIM.
Definition: EwaldRef.h:48
MakeReturn< UnaryNode< FnSqrt, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t sqrt(const Vector< T1, C1 > &l)
Tensor< typename BinaryReturn< T1, T2, OpMultiply >::Type_t, D > dot(const AntiSymTensor< T1, D > &lhs, const AntiSymTensor< T2, D > &rhs)
double real_t
Type for floating point numbers.
Definition: EwaldRef.h:44

Member Data Documentation

◆ a

const RealMat a
private

The real-space cell axes.

Definition at line 28 of file EwaldRef.cpp.

Referenced by RspaceMadelungTerm::operator()().

◆ rconst

const real_t rconst
private

The constant in Drummond 2008 formula 7.

Definition at line 30 of file EwaldRef.cpp.

Referenced by RspaceMadelungTerm::operator()().


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