|
| WignerSeitzPotentialFunctor (const Molecule &atoms, Tensor< double > c, BoundaryConditions< 3 > b, std::array< KernelRange, 3 > r) |
| Constructs a WignerSeitzPotentialFunctor with default lattice sum range.
|
|
template<typename Int > |
| WignerSeitzPotentialFunctor (const Molecule &atoms, Tensor< double > c, BoundaryConditions< 3 > b, std::array< KernelRange, 3 > r, std::array< Int, 3 > lattice_sum_range) |
| Constructs a WignerSeitzPotentialFunctor evaluating the potential in a simulation cell due to point charges, optionally with periodic boundary conditions and a specified lattice summation range.
|
|
double | operator() (const coord_3d &x) const final |
|
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 > &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 Level | special_level () const |
| Override this to change the minimum level of refinement at special points (default is 6)
|
|
virtual bool | supports_vectorized () const |
| Does the interface support a vectorized operator()?
|
|
virtual coeffT | values (const keyT &key, const Tensor< double > &tensor) const |
|
Functor for evaluating the Wigner-Seitz potential in a simulation cell.
This class implements a functor that evaluates the electrostatic potential in a simulation cell due to a set of point charges, with optional periodic boundary conditions and configurable lattice summation range.
The potential is computed by summing contributions from point charges in the simulation cell and their periodic images, as determined by the specified boundary conditions and kernel range.
- Note
- The lattice summation range can be overridden by the user, or determined automatically based on the boundary conditions and kernel range.