MADNESS 0.10.1
madness::GaussianNuclearDensityPotentialFunctor Class Reference

Functor for evaluating the Coulomb potential of all nuclei of a molecule; nuclei are represented by primitive spherical (l=0) Gaussians. More...

#include <potentialmanager.h>

Inheritance diagram for madness::GaussianNuclearDensityPotentialFunctor:
Collaboration diagram for madness::GaussianNuclearDensityPotentialFunctor:

Public Member Functions

 GaussianNuclearDensityPotentialFunctor (const madness::Molecule &molecule, int special_level=15)
double operator() (const madness::coord_3d &R) const final
madness::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
 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

Private Attributes

const Molecule & molecule
int special_level_ = 15

Additional Inherited Members

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

Detailed Description

Functor for evaluating the Coulomb potential of all nuclei of a molecule; nuclei are represented by primitive spherical (l=0) Gaussians.

It computes the Gaussian potential generated by a given molecule at a specified position.

Note
DOI 10.1006/adnd.1997.0751

Constructor & Destructor Documentation

◆ GaussianNuclearDensityPotentialFunctor()

madness::GaussianNuclearDensityPotentialFunctor::GaussianNuclearDensityPotentialFunctor ( const madness::Molecule & molecule,
int special_level = 15 )
inline

Member Function Documentation

◆ operator()()

double madness::GaussianNuclearDensityPotentialFunctor::operator() ( const madness::coord_3d & R) const
final

◆ special_level()

madness::Level madness::GaussianNuclearDensityPotentialFunctor::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 final, and special_level_.

Referenced by GaussianNuclearDensityPotentialFunctor().

◆ special_points()

std::vector< coord_3d > madness::GaussianNuclearDensityPotentialFunctor::special_points ( ) const
inlinevirtual

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

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

References molecule.

Member Data Documentation

◆ molecule

const Molecule& madness::GaussianNuclearDensityPotentialFunctor::molecule
private

◆ special_level_

int madness::GaussianNuclearDensityPotentialFunctor::special_level_ = 15
private

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