|
MADNESS 0.10.1
|
a function like f(x) = (1 - exp(-mu x))/(2 gamma) More...
#include <function_interface.h>


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 () 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 &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< T > | coeffT |
| typedef Key< NDIM > | keyT |
| 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 |
a function like f(x) = (1 - exp(-mu x))/(2 gamma)
|
inline |
constructor: cf the Coulomb kernel
| [in] | mu | the exponent of the Slater function |
| [in] | lo | the smallest length scale to be resolved |
| [in] | eps | the accuracy threshold |
References madness::TwoElectronInterface< double, 6 >::initialize().
derived classes must implement this – cf GFit.h
Implements madness::TwoElectronInterface< double, 6 >.
References madness::GFit< T, NDIM >::F12Fit(), madness::TwoElectronInterface< double, 6 >::hi, madness::TwoElectronInterface< double, 6 >::lo, and mu.