MADNESS 0.10.1
MolecularNuclearChargeDensityFunctor Class Reference

#include <electronicstructureapp.h>

Inheritance diagram for MolecularNuclearChargeDensityFunctor:
Collaboration diagram for MolecularNuclearChargeDensityFunctor:

Public Member Functions

 MolecularNuclearChargeDensityFunctor (const MolecularEntity &mentity, const double &R, const bool &periodic, const std::vector< coordT > &specialpts)
 MolecularNuclearChargeDensityFunctor (const MolecularEntity &mentity, const double &R, const bool &periodic, const std::vector< coordT > &specialpts)
double operator() (const coordT &x) const
double operator() (const coordT &x) const
virtual Level special_level ()
virtual Level special_level ()
virtual std::vector< coordT > special_points () const
 Override this to return list of special points to be refined more deeply.
virtual std::vector< coordT > 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 Level special_level () const
 Override this to change the minimum level of refinement at special points (default is 6).
virtual bool supports_vectorized () const
 Does the interface support a vectorized operator()?
virtual coeffT values (const keyT &, const Tensor< double > &) const

Private Attributes

const MolecularEntity & _mentity
const std::vector< coordT > _specialpts
double charge
const bool periodic
const double R

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_

Constructor & Destructor Documentation

◆ MolecularNuclearChargeDensityFunctor() [1/2]

MolecularNuclearChargeDensityFunctor::MolecularNuclearChargeDensityFunctor ( const MolecularEntity & mentity,
const double & R,
const bool & periodic,
const std::vector< coordT > & specialpts )
inline

References _mentity, _specialpts, periodic, and R.

◆ MolecularNuclearChargeDensityFunctor() [2/2]

MolecularNuclearChargeDensityFunctor::MolecularNuclearChargeDensityFunctor ( const MolecularEntity & mentity,
const double & R,
const bool & periodic,
const std::vector< coordT > & specialpts )
inline

Member Function Documentation

◆ operator()() [1/2]

double MolecularNuclearChargeDensityFunctor::operator() ( const coordT & x) const
inline

◆ operator()() [2/2]

double MolecularNuclearChargeDensityFunctor::operator() ( const coordT & x) const
inline

◆ special_level() [1/2]

virtual Level MolecularNuclearChargeDensityFunctor::special_level ( )
inlinevirtual

◆ special_level() [2/2]

virtual Level MolecularNuclearChargeDensityFunctor::special_level ( )
inlinevirtual

◆ special_points() [1/2]

virtual std::vector< coordT > MolecularNuclearChargeDensityFunctor::special_points ( ) const
inlinevirtual

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

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

References _specialpts.

◆ special_points() [2/2]

virtual std::vector< coordT > MolecularNuclearChargeDensityFunctor::special_points ( ) const
inlinevirtual

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

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

References _specialpts.

Member Data Documentation

◆ _mentity

const MolecularEntity & MolecularNuclearChargeDensityFunctor::_mentity
private

◆ _specialpts

const std::vector< coordT > MolecularNuclearChargeDensityFunctor::_specialpts
private

◆ charge

double MolecularNuclearChargeDensityFunctor::charge
private

◆ periodic

const bool MolecularNuclearChargeDensityFunctor::periodic
private

◆ R

const double MolecularNuclearChargeDensityFunctor::R
private

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