MADNESS 0.10.1
Public Attributes | List of all members
madness::StandardDisplacementsReach< NDIM > Struct Template Reference

#include <displacements.h>

Public Attributes

std::array< double, NDIM > cell_width
 real-space width of the simulation cell along each axis, as used to compute max_distsq
 
double max_distsq
 max real distance squared reached by the standard displacements (see Key::real_distsq_bc)
 

Detailed Description

template<std::size_t NDIM>
struct madness::StandardDisplacementsReach< NDIM >

Generates points at the finite-thickness surface of an N-dimensional box [C1-L1,C1+L1]x...x[CN-LN,CN+LN] centered at point {C1,...CN} in Z^N. For finite thickness T={T1,...,TN} point {x1,...,xN} is at the surface face perpendicular to axis i xi>=Ci-Li-Ti and xi<=Ci-Li+Ti OR xi>=Ci+Li-Ti and xi<=Ci+Li+Ti. For dimensions with unlimited size the point coordinates are limited to [0,2^n], with n being the level of the box. N.B. "points" are really boxes in the standard MADNESS sense, which we'll call "primitive boxes" to disambiguate from box as the product of intervals mentioned above, Real-space extent of the standard (short-range) displacements, i.e. of what FunctionImpl::do_apply processes before turning to the surface of the kernel range boundary (see Displacements). BoxSurfaceDisplacementValidator uses it to skip the surface displacements already processed, and BoxSurfaceDisplacementRange to place its probing displacements just outside of them; both must therefore see the same reach.

Member Data Documentation

◆ cell_width

template<std::size_t NDIM>
std::array<double, NDIM> madness::StandardDisplacementsReach< NDIM >::cell_width

real-space width of the simulation cell along each axis, as used to compute max_distsq

◆ max_distsq

template<std::size_t NDIM>
double madness::StandardDisplacementsReach< NDIM >::max_distsq

max real distance squared reached by the standard displacements (see Key::real_distsq_bc)


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