MADNESS
version 0.9
|
Abstract base class interface required for functors used as input to Functions. More...
#include <function_interface.h>
Public Types | |
typedef GenTensor< T > | coeffT |
typedef Key< NDIM > | keyT |
Public Member Functions | |
virtual bool | screened (const Vector< double, NDIM > &c1, const Vector< double, NDIM > &c2) const |
Can we screen this function based on the bounding box information? More... | |
virtual bool | supports_vectorized () const |
Does the interface support a vectorized operator()? More... | |
virtual void | operator() (const Vector< double *, 1 > &xvals, T *fvals, int npts) const |
virtual void | operator() (const Vector< double *, 2 > &xvals, T *fvals, int npts) const |
virtual void | operator() (const Vector< double *, 3 > &xvals, T *fvals, int npts) const |
virtual void | operator() (const Vector< double *, 4 > &xvals, T *fvals, int npts) const |
virtual void | operator() (const Vector< double *, 5 > &xvals, T *fvals, int npts) const |
virtual void | operator() (const Vector< double *, 6 > &xvals, T *fvals, int npts) const |
virtual T | operator() (const Vector< double, NDIM > &x) const =0 |
You should implement this to return f(x) More... | |
virtual std::vector< Vector < double, NDIM > > | special_points () const |
Override this to return list of special points to be refined more deeply. More... | |
virtual Level | special_level () |
Override this change level refinement for special points (default is 6) More... | |
virtual | ~FunctionFunctorInterface () |
virtual coeffT | coeff (const keyT &) const |
virtual coeffT | values (const keyT &key, const Tensor< double > &tensor) const |
virtual bool | provides_coeff () const |
does this functor directly provide sum coefficients? or only function values? More... | |
Abstract base class interface required for functors used as input to Functions.
typedef GenTensor<T> madness::FunctionFunctorInterface< T, NDIM >::coeffT |
typedef Key<NDIM> madness::FunctionFunctorInterface< T, NDIM >::keyT |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in madness::TwoElectronInterface< T, NDIM >, and madness::TwoElectronInterface< double, 6 >.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
pure virtual |
You should implement this to return f(x)
Implemented in madness::TwoElectronInterface< T, NDIM >, madness::TwoElectronInterface< double, 6 >, madness::FunctionInterface< T, NDIM, opT >, madness::FunctorInterface< T, NDIM, opT >, madness::ElementaryInterface< T, NDIM >, madness::DomainMaskSDFFunctor< NDIM >, Yl0, Gaussian, madness::CompositeFunctorInterface< T, NDIM, MDIM >, Expikr, BoundWF, Phikl, PhiK, madness::ComplexExp< NDIM >, ParserHandler< T, NDIM >, and baseWF.
|
inlinevirtual |
does this functor directly provide sum coefficients? or only function values?
Reimplemented in madness::TwoElectronInterface< T, NDIM >, madness::TwoElectronInterface< double, 6 >, madness::FunctionInterface< T, NDIM, opT >, and madness::CompositeFunctorInterface< T, NDIM, MDIM >.
|
inlinevirtual |
Can we screen this function based on the bounding box information?
Referenced by madness::fcube().
|
inlinevirtual |
Override this change level refinement for special points (default is 6)
Reimplemented in MolecularNuclearChargeDensityFunctor, madness::ProjRLMFunctor, TipMolecule, MolecularNuclearChargeDensityFunctor, GaussianBF, and madness::VLocalFunctor.
|
inlinevirtual |
Override this to return list of special points to be refined more deeply.
Reimplemented in MolecularNuclearChargeDensityFunctor, madness::ProjRLMFunctor, MolecularVolumeExponentialSwitchLogGrad, MolecularVolumeMaskGrad, TipMolecule, MolecularSurface, MolecularVolumeExponentialSwitch, madness::MolecularDerivativeFunctor, Gaussian, MolecularVolumeComplementMask, madness::WSTAtomicBasisFunctor, madness::AtomicBasisFunctor, MolecularVolumeMask, madness::MolecularGuessDensityFunctor, MolecularNuclearChargeDensityFunctor, madness::MolecularCorePotentialFunctor, GaussianBF, madness::MolecularPotentialFunctor, and madness::VLocalFunctor.
|
inlinevirtual |
Does the interface support a vectorized operator()?
Reimplemented in madness::ProjRLMFunctor.
Referenced by madness::fcube().
|
inlinevirtual |
Reimplemented in madness::ElementaryInterface< T, NDIM >.