MADNESS 0.10.1
madness::CoreOrbitalDerivativeFunctor Class Reference

Functor for evaluating the derivative of a core orbital for a given atom in a molecule. More...

#include <potentialmanager.h>

Inheritance diagram for madness::CoreOrbitalDerivativeFunctor:
Collaboration diagram for madness::CoreOrbitalDerivativeFunctor:

Public Member Functions

 CoreOrbitalDerivativeFunctor (Molecule &molecule, int atom, int axis, unsigned int core, int m)
double operator() (const coord_3d &r) const
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 std::vector< Vector< double, NDIM > > special_points () const
 Override this to return list of special points to be refined more deeply.
virtual bool supports_vectorized () const
 Does the interface support a vectorized operator()?
virtual coeffT values (const keyT &, const Tensor< double > &) const

Private Attributes

const int atom
const int axis
const unsigned int core
const int m
const Molecule molecule

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 derivative of a core orbital for a given atom in a molecule.

It encapsulates the logic to compute the derivative of a specified core orbital with respect to a given axis for a particular atom in a molecule. It holds references to a molecule, the atom index, the axis index, the core orbital index, and the magnetic quantum number m.

Constructor & Destructor Documentation

◆ CoreOrbitalDerivativeFunctor()

madness::CoreOrbitalDerivativeFunctor::CoreOrbitalDerivativeFunctor ( Molecule & molecule,
int atom,
int axis,
unsigned int core,
int m )
inline

References atom, axis, core, m, and molecule.

Member Function Documentation

◆ operator()()

double madness::CoreOrbitalDerivativeFunctor::operator() ( const coord_3d & r) const
inline

References atom, axis, core, m, and molecule.

Member Data Documentation

◆ atom

const int madness::CoreOrbitalDerivativeFunctor::atom
private

◆ axis

const int madness::CoreOrbitalDerivativeFunctor::axis
private

◆ core

const unsigned int madness::CoreOrbitalDerivativeFunctor::core
private

◆ m

const int madness::CoreOrbitalDerivativeFunctor::m
private

◆ molecule

const Molecule madness::CoreOrbitalDerivativeFunctor::molecule
private

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