MADNESS  version 0.9
Public Member Functions | List of all members
madness::diffuse_functions Struct Reference

Functor that adds diffuse 1s functions on given coordinates with given signs (phases) More...

#include <TDA.h>

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

Public Member Functions

 diffuse_functions (const double L, const std::vector< coord_3d > coord, const std::vector< int > signs, const size_t natoms, const size_t mode)
 
double operator() (const coord_3d &r) const
 Make a rydberg guess function where the neRäar range area is 0.0 and the long range is a diffuse 2s or 2p function. More...
 
- Public Member Functions inherited from madness::FunctionFunctorInterface< double, 3 >
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, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 2 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 3 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 4 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 5 > &xvals, double *fvals, int npts) const
 
virtual void operator() (const Vector< double *, 6 > &xvals, double *fvals, int npts) const
 
virtual double 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...
 

Additional Inherited Members

- Public Types inherited from madness::FunctionFunctorInterface< double, 3 >
typedef GenTensor< double > coeffT
 
typedef Key< NDIMkeyT
 

Detailed Description

Functor that adds diffuse 1s functions on given coordinates with given signs (phases)

Constructor & Destructor Documentation

madness::diffuse_functions::diffuse_functions ( const double  L,
const std::vector< coord_3d coord,
const std::vector< int >  signs,
const size_t  natoms,
const size_t  mode 
)
inline

constructor

Parameters
[in]Lthe box size
[in]bcthe molecular bounding cube
[in]coordthe coordinates (in most cases of nuclei) where the diffuse functions shall be centered
[in]signsthe signs the diffuse functions should have on the corresponding coordinates
[in]natomsthe number of atoms (if the coordinates are of nuclei) or just the size of the coord vector
[in]modethe level of diffuseness (0 and 1 possible)

References MADNESS_EXCEPTION.

Member Function Documentation

double madness::diffuse_functions::operator() ( const coord_3d r) const
inline

Make a rydberg guess function where the neRäar range area is 0.0 and the long range is a diffuse 2s or 2p function.

References mpfr::exp(), and sqrt().


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