15 #ifndef QMCPLUSPLUS_SLATERTYPEORBITAL_H 16 #define QMCPLUSPLUS_SLATERTYPEORBITAL_H 24 static_assert(std::is_floating_point<T>::value,
"T must be a float point type");
27 explicit STONorm(
int nmax = 1) {
set(nmax); }
29 inline void set(
int nmax)
34 for (
int i = 1; i <
n + 1; i++)
59 static_assert(std::is_floating_point<T>::value,
"T must be a float point type");
134 d2rnl = rnl * (x * x -
Power * rinv * rinv);
153 d2rnl = rnl * (x * x -
Power * rinv * rinv);
154 d3rnl = rnl * (x * x * x + (2.0 * rinv - 3.0 * x) *
Power * rinv * rinv);
169 static_assert(std::is_floating_point<T>::value,
"T must be a float point type");
182 inline T
df(T r)
const 197 d2rnl = rnl * (x * x -
NminusOne * rinv * rinv);
T evaluate(T r, T rinv, T &drnl, T &d2rnl)
real_type evaluate(real_type r, real_type rinv)
return the value only
GenericSTO(int power, real_type z, real_type norm)
constructor with a known contraction factor
class for Slater-type orbitals,
void evaluateAll(T r, T rinv)
RadialSTO(int n, double z, double norm=1.0)
Generic Slater-Type Orbital.
void evaluateAll(real_type r, real_type rinv)
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)
double norm(const zVec &c)
real_type evaluate(real_type r, real_type rinv, real_type &drnl, real_type &d2rnl, real_type &d3rnl)
T operator()(int n, T screen)
std::vector< T > Factorial
MakeReturn< UnaryNode< FnExp, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t exp(const Vector< T1, C1 > &l)
real_type evaluate(real_type r, real_type rinv, real_type &drnl, real_type &d2rnl)
MakeReturn< UnaryNode< FnSqrt, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t sqrt(const Vector< T1, C1 > &l)
real_type df(real_type r)
void setgrid(real_type r)
class to evaluate the normalization factors for the Slater-Type orbitals
GenericSTO(int n, int l, real_type z)
constructor with a set of quantum numbers