MADNESS 0.10.1
madness::BasisFunctions::SolidHarmonicGaussian Class Reference

#include <PNOGuessFunctions.h>

Inheritance diagram for madness::BasisFunctions::SolidHarmonicGaussian:
Collaboration diagram for madness::BasisFunctions::SolidHarmonicGaussian:

Public Member Functions

 SolidHarmonicGaussian (const Atom &atom, const double e, int l, int m)
double operator() (const coord_3d &xyz) const override
template<typename T>
int sgn (T val) const
Level special_level () const final
 Override this to change the minimum level of refinement at special points (default is 6).
std::vector< coord_3d > special_points () const final
 Override this to return list of special points to be refined more deeply.
Public Member Functions inherited from madness::FunctionFunctorInterface< double, 3 >
 FunctionFunctorInterface ()
virtual ~FunctionFunctorInterface ()
virtual coeffT coeff (const keyT &) const
virtual void operator() (const Vector< double *, 1 > &, double *, int) const
virtual void operator() (const Vector< double *, 2 > &, double *, int) const
virtual void operator() (const Vector< double *, 3 > &, double *, int) const
virtual void operator() (const Vector< double *, 4 > &, double *, int) const
virtual void operator() (const Vector< double *, 5 > &, double *, int) const
virtual void operator() (const Vector< double *, 6 > &, double *, int) const
virtual double operator() (const Vector< double, NDIM > &x) const=0
 You should implement this to return f(x).
virtual bool provides_coeff () const
 does this functor directly provide sum coefficients? or only function values?
virtual bool screened (const Vector< double, NDIM > &, const Vector< double, NDIM > &) const
 Can we screen this function based on the bounding box information?
void set_length_scale (double lo)
 adapt the special level to resolve the smallest length scale
virtual bool supports_vectorized () const
 Does the interface support a vectorized operator()?
virtual coeffT values (const keyT &, const Tensor< double > &) const

Public Attributes

double exponent
 exponent
int l
int m
 (real) solid harmonic quanta
double x
double y
double Z
double z
 origin
Public Attributes inherited from madness::FunctionFunctorInterface< double, 3 >
Level special_level_

Additional Inherited Members

Public Types inherited from madness::FunctionFunctorInterface< double, 3 >
typedef GenTensor< double > coeffT
typedef Key< NDIM > keyT
typedef double value_type

Detailed Description

Constructor & Destructor Documentation

◆ SolidHarmonicGaussian()

madness::BasisFunctions::SolidHarmonicGaussian::SolidHarmonicGaussian ( const Atom & atom,
const double e,
int l,
int m )
inline

References e(), exponent, l, m, x, y, Z, and z.

Member Function Documentation

◆ operator()()

double madness::BasisFunctions::SolidHarmonicGaussian::operator() ( const coord_3d & xyz) const
override

◆ sgn()

template<typename T>
int madness::BasisFunctions::SolidHarmonicGaussian::sgn ( T val) const
inline

◆ special_level()

Level madness::BasisFunctions::SolidHarmonicGaussian::special_level ( ) const
inlinefinalvirtual

Override this to change the minimum level of refinement at special points (default is 6).

Reimplemented from madness::FunctionFunctorInterface< double, 3 >.

References exponent, final, and madness::FunctionDefaults< NDIM >::set_length_scale().

◆ special_points()

std::vector< coord_3d > madness::BasisFunctions::SolidHarmonicGaussian::special_points ( ) const
inlinefinalvirtual

Override this to return list of special points to be refined more deeply.

Reimplemented from madness::FunctionFunctorInterface< double, 3 >.

References final, x, y, and z.

Member Data Documentation

◆ exponent

double madness::BasisFunctions::SolidHarmonicGaussian::exponent

exponent

Referenced by SolidHarmonicGaussian(), operator()(), and special_level().

◆ l

int madness::BasisFunctions::SolidHarmonicGaussian::l

◆ m

int madness::BasisFunctions::SolidHarmonicGaussian::m

(real) solid harmonic quanta

Referenced by SolidHarmonicGaussian(), and operator()().

◆ x

double madness::BasisFunctions::SolidHarmonicGaussian::x

◆ y

double madness::BasisFunctions::SolidHarmonicGaussian::y

◆ Z

double madness::BasisFunctions::SolidHarmonicGaussian::Z

Referenced by SolidHarmonicGaussian().

◆ z

double madness::BasisFunctions::SolidHarmonicGaussian::z

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