MADNESS 0.10.1
madness::ElectronRepulsionInterface< T, NDIM > Class Template Reference

a function like f(x)=1/x More...

#include <function_interface.h>

Inheritance diagram for madness::ElectronRepulsionInterface< T, NDIM >:
Collaboration diagram for madness::ElectronRepulsionInterface< T, NDIM >:

Public Member Functions

 ElectronRepulsionInterface (double lo, double eps, const BoundaryConditions< NDIM > &bc=FunctionDefaults< NDIM >::get_bc(), int kk=FunctionDefaults< NDIM >::get_k())
 constructor: cf the Coulomb kernel
Public Member Functions inherited from madness::TwoElectronInterface< double, NDIM >
 TwoElectronInterface (double lo, double eps, const BoundaryConditions< NDIM > &bc=FunctionDefaults< NDIM >::get_bc(), int kk=FunctionDefaults< NDIM >::get_k())
 constructor: cf the Coulomb kernel
coeffT coeff (const Key< NDIM > &key) const
 return the coefficients of the function in 6D (x1,y1,z1, x2,y2,z2)
double operator() (const Vector< double, NDIM > &) const
 You should implement this to return f(x).
bool provides_coeff () const
 does this functor directly provide sum coefficients? or only function values?
Public Member Functions inherited from madness::FunctionFunctorInterface< double, NDIM >
 FunctionFunctorInterface ()
virtual ~FunctionFunctorInterface ()
virtual void operator() (const Vector< double *, 1 > &, double *, int) const
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 Member Functions

GFit< double, LDIM > fit (const double eps) const
 derived classes must implement this – cf GFit.h

Static Private Attributes

static constexpr std::size_t LDIM =NDIM/2

Additional Inherited Members

Public Types inherited from madness::TwoElectronInterface< double, NDIM >
typedef GenTensor< double > coeffT
Public Types inherited from madness::FunctionFunctorInterface< double, NDIM >
typedef GenTensor< double > coeffT
typedef Key< NDIM > keyT
typedef double value_type
Public Attributes inherited from madness::FunctionFunctorInterface< double, NDIM >
Level special_level_
Protected Member Functions inherited from madness::TwoElectronInterface< double, NDIM >
void initialize (const double eps)
 initialize the Gaussian fit; uses the virtual function fit() to fit
Tensor< double > make_coeff (const Key< NDIM > &key) const
 make the coefficients from the 1d convolution
Tensor< double > map_coeff (const Tensor< double > &c) const
 the dimensions are a bit confused (x1,x2, y1,y2, z1,z2) -> (x1,y1,z1, x2,y2,z2)
Protected Attributes inherited from madness::TwoElectronInterface< double, NDIM >
double hi
 the largest length scale that needs to be represented
int k
 the wavelet order
double lo
 the smallest length scale that needs to be represented
std::vector< ConvolutionND< double, NDIM > > ops
 storing the coefficients
int rank
 the number of terms in the Gaussian quadrature
Static Protected Attributes inherited from madness::TwoElectronInterface< double, NDIM >
static constexpr std::size_t LDIM

Detailed Description

template<typename T, std::size_t NDIM>
class madness::ElectronRepulsionInterface< T, NDIM >

a function like f(x)=1/x

Constructor & Destructor Documentation

◆ ElectronRepulsionInterface()

template<typename T, std::size_t NDIM>
madness::ElectronRepulsionInterface< T, NDIM >::ElectronRepulsionInterface ( double lo,
double eps,
const BoundaryConditions< NDIM > & bc = FunctionDefaults<NDIM>::get_bc(),
int kk = FunctionDefaults<NDIM>::get_k() )
inline

Member Function Documentation

◆ fit()

template<typename T, std::size_t NDIM>
GFit< double, LDIM > madness::ElectronRepulsionInterface< T, NDIM >::fit ( const double eps) const
inlineprivatevirtual

Member Data Documentation

◆ LDIM

template<typename T, std::size_t NDIM>
std::size_t madness::ElectronRepulsionInterface< T, NDIM >::LDIM =NDIM/2
staticconstexprprivate

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