QMCPACK
RadialSTO< T > Struct Template Reference

class for Slater-type orbitals, More...

+ Collaboration diagram for RadialSTO< T >:

Public Types

using real_type = T
 

Public Member Functions

 RadialSTO ()
 
 RadialSTO (int n, double z, double norm=1.0)
 
void setgrid (T r)
 
f (T r) const
 
df (T r) const
 
evaluate (T r)
 
void evaluateAll (T r, T rinv)
 
evaluate (T r, T rinv, T &drnl, T &d2rnl)
 

Public Attributes

int NminusOne
 
Z
 
Norm
 
Y
 
dY
 
d2Y
 

Detailed Description

template<class T>
struct RadialSTO< T >

class for Slater-type orbitals,

\[ *\Psi_{n,l,m}({\bf R}) = N r^{n-1} \exp{-Zr} Y_{lm}(\theta,\phi) *\]

Definition at line 167 of file SlaterTypeOrbital.h.

Member Typedef Documentation

◆ real_type

using real_type = T

Definition at line 170 of file SlaterTypeOrbital.h.

Constructor & Destructor Documentation

◆ RadialSTO() [1/2]

RadialSTO ( )
inline

Definition at line 175 of file SlaterTypeOrbital.h.

175 : NminusOne(0), Z(1.0), Norm(1.0) {}

◆ RadialSTO() [2/2]

RadialSTO ( int  n,
double  z,
double  norm = 1.0 
)
inline

Definition at line 176 of file SlaterTypeOrbital.h.

176 : NminusOne(n - 1), Z(z), Norm(norm) {}
double norm(const zVec &c)
Definition: VectorOps.h:118

Member Function Documentation

◆ df()

T df ( r) const
inline

Definition at line 182 of file SlaterTypeOrbital.h.

References qmcplusplus::exp(), RadialSTO< T >::NminusOne, RadialSTO< T >::Norm, qmcplusplus::pow(), and RadialSTO< T >::Z.

183  {
184  T rnl = pow(r, NminusOne) * exp(-Z * r) * Norm;
185  return (NminusOne / r - Z) * rnl;
186  }
MakeReturn< BinaryNode< FnPow, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t, typename CreateLeaf< Vector< T2, C2 > >::Leaf_t > >::Expression_t pow(const Vector< T1, C1 > &l, const Vector< T2, C2 > &r)
MakeReturn< UnaryNode< FnExp, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t exp(const Vector< T1, C1 > &l)

◆ evaluate() [1/2]

T evaluate ( r)
inline

Definition at line 188 of file SlaterTypeOrbital.h.

References qmcplusplus::exp(), RadialSTO< T >::NminusOne, RadialSTO< T >::Norm, qmcplusplus::pow(), and RadialSTO< T >::Z.

Referenced by RadialSTO< T >::evaluateAll().

188 { return pow(r, NminusOne) * exp(-Z * r) * Norm; }
MakeReturn< BinaryNode< FnPow, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t, typename CreateLeaf< Vector< T2, C2 > >::Leaf_t > >::Expression_t pow(const Vector< T1, C1 > &l, const Vector< T2, C2 > &r)
MakeReturn< UnaryNode< FnExp, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t exp(const Vector< T1, C1 > &l)

◆ evaluate() [2/2]

T evaluate ( r,
rinv,
T &  drnl,
T &  d2rnl 
)
inline

Definition at line 192 of file SlaterTypeOrbital.h.

References qmcplusplus::exp(), RadialSTO< T >::NminusOne, RadialSTO< T >::Norm, qmcplusplus::pow(), and RadialSTO< T >::Z.

193  {
194  T rnl = pow(r, NminusOne) * exp(-Z * r) * Norm;
195  T x = NminusOne * rinv - Z;
196  drnl = rnl * x;
197  d2rnl = rnl * (x * x - NminusOne * rinv * rinv);
198  return rnl;
199  }
MakeReturn< BinaryNode< FnPow, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t, typename CreateLeaf< Vector< T2, C2 > >::Leaf_t > >::Expression_t pow(const Vector< T1, C1 > &l, const Vector< T2, C2 > &r)
MakeReturn< UnaryNode< FnExp, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t exp(const Vector< T1, C1 > &l)

◆ evaluateAll()

void evaluateAll ( r,
rinv 
)
inline

◆ f()

T f ( r) const
inline

Definition at line 180 of file SlaterTypeOrbital.h.

References qmcplusplus::exp(), RadialSTO< T >::NminusOne, RadialSTO< T >::Norm, qmcplusplus::pow(), and RadialSTO< T >::Z.

180 { return pow(r, NminusOne) * exp(-Z * r) * Norm; }
MakeReturn< BinaryNode< FnPow, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t, typename CreateLeaf< Vector< T2, C2 > >::Leaf_t > >::Expression_t pow(const Vector< T1, C1 > &l, const Vector< T2, C2 > &r)
MakeReturn< UnaryNode< FnExp, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t exp(const Vector< T1, C1 > &l)

◆ setgrid()

void setgrid ( r)
inline

Definition at line 178 of file SlaterTypeOrbital.h.

178 {}

Member Data Documentation

◆ d2Y

T d2Y

Definition at line 174 of file SlaterTypeOrbital.h.

Referenced by RadialSTO< T >::evaluateAll().

◆ dY

T dY

Definition at line 174 of file SlaterTypeOrbital.h.

Referenced by RadialSTO< T >::evaluateAll().

◆ NminusOne

int NminusOne

◆ Norm

T Norm

◆ Y

T Y

Definition at line 174 of file SlaterTypeOrbital.h.

Referenced by RadialSTO< T >::evaluateAll().

◆ Z

T Z

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