MADNESS 0.10.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
madness::SlaterF12Interface Class Reference

a function like f(x) = (1 - exp(-mu x))/(2 gamma) More...

#include <function_interface.h>

Inheritance diagram for madness::SlaterF12Interface:
Inheritance graph
[legend]
Collaboration diagram for madness::SlaterF12Interface:
Collaboration graph
[legend]

Public Member Functions

 SlaterF12Interface (double mu, double lo, double eps, const BoundaryConditions< 6 > &bc=FunctionDefaults< 6 >::get_bc(), int kk=FunctionDefaults< 6 >::get_k())
 constructor: cf the Coulomb kernel
 
- Public Member Functions inherited from madness::TwoElectronInterface< double, 6 >
 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 > &x) 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< T, NDIM >
 FunctionFunctorInterface ()
 
virtual ~FunctionFunctorInterface ()
 
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 bool screened (const Vector< double, NDIM > &c1, const Vector< double, NDIM > &c2) 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 ()
 Override this change level refinement for 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 &key, const Tensor< double > &tensor) const
 

Private Member Functions

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

Private Attributes

double mu
 

Additional Inherited Members

- Public Types inherited from madness::TwoElectronInterface< double, 6 >
typedef GenTensor< double > coeffT
 
- Public Types inherited from madness::FunctionFunctorInterface< T, NDIM >
typedef GenTensor< TcoeffT
 
typedef Key< NDIMkeyT
 
typedef T value_type
 
- Public Attributes inherited from madness::FunctionFunctorInterface< T, NDIM >
Level special_level_
 
- Protected Member Functions inherited from madness::TwoElectronInterface< double, 6 >
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, 6 >
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, 6 >
static constexpr std::size_t LDIM
 

Detailed Description

a function like f(x) = (1 - exp(-mu x))/(2 gamma)

Constructor & Destructor Documentation

◆ SlaterF12Interface()

madness::SlaterF12Interface::SlaterF12Interface ( double  mu,
double  lo,
double  eps,
const BoundaryConditions< 6 > &  bc = FunctionDefaults<6>::get_bc(),
int  kk = FunctionDefaults<6>::get_k() 
)
inline

constructor: cf the Coulomb kernel

Parameters
[in]muthe exponent of the Slater function
[in]lothe smallest length scale to be resolved
[in]epsthe accuracy threshold

References madness::TwoElectronInterface< double, 6 >::initialize().

Member Function Documentation

◆ fit()

GFit< double, 3 > madness::SlaterF12Interface::fit ( const double  eps) const
inlineprivatevirtual

Member Data Documentation

◆ mu

double madness::SlaterF12Interface::mu
private

Referenced by fit().


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