|
| TwoElectronInterface (double lo, double eps, const BoundaryConditions< 6 > &bc=FunctionDefaults< 6 >::get_bc(), int kk=FunctionDefaults< 6 >::get_k()) |
| constructor: cf the Coulomb kernel More...
|
|
bool | provides_coeff () const |
| does this functor directly provide sum coefficients? or only function values? More...
|
|
coeffT | coeff (const Key< NDIM > &key) const |
| return the coefficients of the function in 6D (x1,y1,z1, x2,y2,z2) More...
|
|
T | operator() (const Vector< double, NDIM > &x) const |
| You should implement this to return f(x) More...
|
|
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 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 | values (const keyT &key, const Tensor< double > &tensor) const |
|
|
Tensor< double > | make_coeff (const Key< 6 > &key) const |
| make the coefficients from the 1d convolution More...
|
|
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) More...
|
|
void | initialize (const double eps) |
| initialize the Gaussian fit; uses the virtual function fit() to fit More...
|
|
virtual GFit< double, 3 > | fit (const double eps) const =0 |
| derived classes must implement this – cf GFit.h More...
|
|
template<typename T, std::size_t NDIM>
class madness::TwoElectronInterface< T, NDIM >
base class to compute the wavelet coefficients for an isotropic 2e-operator
all classes that derive from this base class use the Gaussian fitting procedure that has been developed for the BSH operator. We simply reuse the wavelet coefficients that we get from there to avoid evaluating the functions themselves, since the quadrature of singular functions is imprecise and slow.
template<typename T, std::size_t NDIM>
the dimensions are a bit confused (x1,x2, y1,y2, z1,z2) -> (x1,y1,z1, x2,y2,z2)
Referenced by madness::TwoElectronInterface< double, 6 >::coeff().