|
MADNESS 0.10.1
|
Functor for evaluating the Coulomb potential of all nuclei of a molecule; nuclei are represented by primitive spherical (l=0) Gaussians. More...
#include <potentialmanager.h>


Public Member Functions | |
| GaussianNuclearDensityPotentialFunctor (const madness::Molecule &molecule, int special_level=15) | |
| double | operator() (const madness::coord_3d &R) const final |
| madness::Level | special_level () const final |
| Override this to change the minimum level of refinement at special points (default is 6). | |
| std::vector< coord_3d > | special_points () const |
| Override this to return list of special points to be refined more deeply. | |
| Public Member Functions inherited from madness::FunctionFunctorInterface< double, 3 > | |
| FunctionFunctorInterface () | |
| virtual | ~FunctionFunctorInterface () |
| virtual coeffT | coeff (const keyT &) const |
| virtual void | operator() (const Vector< double *, 1 > &, double *, int) const |
| virtual void | operator() (const Vector< double *, 2 > &, double *, int) const |
| virtual void | operator() (const Vector< double *, 3 > &, double *, int) const |
| virtual void | operator() (const Vector< double *, 4 > &, double *, int) const |
| virtual void | operator() (const Vector< double *, 5 > &, double *, int) const |
| virtual void | operator() (const Vector< double *, 6 > &, double *, int) const |
| virtual double | operator() (const Vector< double, NDIM > &x) const=0 |
You should implement this to return f(x). | |
| virtual bool | provides_coeff () const |
| does this functor directly provide sum coefficients? or only function values? | |
| 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 bool | supports_vectorized () const |
| Does the interface support a vectorized operator()? | |
| virtual coeffT | values (const keyT &, const Tensor< double > &) const |
Private Attributes | |
| const Molecule & | molecule |
| int | special_level_ = 15 |
Additional Inherited Members | |
| Public Types inherited from madness::FunctionFunctorInterface< double, 3 > | |
| typedef GenTensor< double > | coeffT |
| typedef Key< NDIM > | keyT |
| typedef double | value_type |
| Public Attributes inherited from madness::FunctionFunctorInterface< double, 3 > | |
| Level | special_level_ |
Functor for evaluating the Coulomb potential of all nuclei of a molecule; nuclei are represented by primitive spherical (l=0) Gaussians.
It computes the Gaussian potential generated by a given molecule at a specified position.
|
inline |
References molecule, special_level(), and special_level_.
|
final |
References madness::constants::Bohr_radius, detail::distance(), madness::get_atomic_data(), molecule, pow(), R, and madness::sum().
|
inlinefinalvirtual |
Override this to change the minimum level of refinement at special points (default is 6).
Reimplemented from madness::FunctionFunctorInterface< double, 3 >.
References final, and special_level_.
Referenced by GaussianNuclearDensityPotentialFunctor().
|
inlinevirtual |
Override this to return list of special points to be refined more deeply.
Reimplemented from madness::FunctionFunctorInterface< double, 3 >.
References molecule.
|
private |
Referenced by GaussianNuclearDensityPotentialFunctor(), operator()(), and special_points().
|
private |
Referenced by GaussianNuclearDensityPotentialFunctor(), and special_level().