Ewald
-
class Ewald : public feasst::VisitModel
The Ewald summation accounts for the long-range nature of the electrostatic interaction by applying a Gaussian screening charge, computing a Fourier-space long-range component, and then correcting for the various spurious terms that are included in the Fourier summation, such as self and intra-particle.
See “Computer simulation of liquids” by M. P. Allen and D. J. Tildesley. The LAMMPS and DL_POLY manuals also include thorough descriptions of the Ewald summation.
Ewald is not supported for use as a reference state for dual-cut.
Following the description in the classic DL-POLY user manual (version 1.9), if the real space basis vectors are given by \(\vec{a}, \vec{b}, \vec{c}\), then reciprocal space basis vectors are
\(V = \vec{a} \cdot \vec{b} \times \vec{c}\)
\(\vec{u} = 2\pi\vec{b}\times\vec{c}/V\)
\(\vec{v} = 2\pi\vec{b}\times\vec{c}/V\)
\(\vec{w} = 2\pi\vec{b}\times\vec{c}/V\)
Arguments
tolerance: determine the alpha parameter and number of wave vectors by specifying the accuracy relative to the energy of two unit charges separated by a distance of one unit. As described and implemented in LAMMPS, see: https://docs.lammps.org/kspace_style.html, https://doi.org/10.1080/08927029208049126, https://doi.org/10.1063/1.470043.
tolerance_num_sites: for setting parameters with the tolerance, optionally set the number of sites to be used for the parameter calculation rather than the currently existing number of sites (default).
alpha: optionally specify the alpha parameter in units of inverse length.
kxmax: optionally specify the maximum wave vectors in the first dimension.
kymax: same as above, but in the second dimension.
kzmax: same as above, but in the third dimension.
kmax_squared: optionally set the squared maximum integer wave vector for cubic domains only, which also sets kxmax, etc.