Functor for evaluating a smoothed atomic potential, supporting open and periodic boundary conditions.
More...
|
| | 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.
|
| | 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 |
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.
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.
- Parameters
-
| 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). |
References atom, bc_, cell, madness::FunctionDefaults< NDIM >::bc, smoothing_param, special_level(), and special_level_.