|
MADNESS 0.10.1
|
Functor for evaluating a smoothed atomic potential, supporting open and periodic boundary conditions. More...
#include <potentialmanager.h>


Public Member Functions | |
| SAPFunctor (const Atom &atom, double smoothing_param, const BoundaryConditions< 3 > &bc=FunctionDefaults< 3 >::get_bc(), const Tensor< double > &cell=FunctionDefaults< 3 >::get_cell(), int special_level=15) | |
| Constructs a SAPFunctor for evaluating a smoothed 1/r potential. | |
| double | operator() (const coord_3d &x) const final |
| 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 final |
| 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 > &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) | |
| virtual bool | provides_coeff () const |
| does this functor directly provide sum coefficients? or only function values? | |
| 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 bool | supports_vectorized () const |
| Does the interface support a vectorized operator()? | |
| virtual coeffT | values (const keyT &key, const Tensor< double > &tensor) const |
Private Attributes | |
| const Atom & | atom |
| BoundaryConditions< 3 > | bc_ |
| Tensor< double > | cell |
| double | smoothing_param |
| Level | special_level_ |
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 a smoothed atomic potential, supporting open and periodic boundary conditions.
This class implements the FunctionFunctorInterface for a 3D double-valued function, representing a smoothed interpolated atomic potential centered on a given atom. It supports both open and periodic boundary conditions, and allows customization of the smoothing parameter, simulation cell, and initial refinement level.
| madness::SAPFunctor::SAPFunctor | ( | const Atom & | atom, |
| double | smoothing_param, | ||
| const BoundaryConditions< 3 > & | bc = FunctionDefaults<3>::get_bc(), |
||
| const Tensor< double > & | cell = FunctionDefaults<3>::get_cell(), |
||
| int | special_level = 15 |
||
| ) |
Constructs a SAPFunctor for evaluating a smoothed 1/r potential.
This constructor initializes the SAPFunctor with a given atom, smoothing parameter, boundary conditions, simulation cell, and an initial refinement level. It supports both open and periodic boundary conditions.
| atom | The atom for which the potential is evaluated. |
| smoothing_param | Controls the smoothness of the 1/r potential. |
| bc | Boundary conditions for the simulation (default: open or as specified by FunctionDefaults). |
| cell | The simulation cell tensor (default: as specified by FunctionDefaults). |
| special_level | The initial refinement level (default: 15). |
|
finalvirtual |
Override this to change the minimum level of refinement at special points (default is 6)
Reimplemented from madness::FunctionFunctorInterface< double, 3 >.
References special_level_.
|
finalvirtual |
Override this to return list of special points to be refined more deeply.
Reimplemented from madness::FunctionFunctorInterface< double, 3 >.
References atom, and madness::Atom::get_coords().
|
private |
Referenced by operator()(), and special_points().
|
private |
Referenced by operator()().
Referenced by operator()().
|
private |
Referenced by operator()().
|
private |
Referenced by special_level().