Electrostatic interactions¶
When some particles in a system are charged, they interact with a Coulomb potential:
where \(Z_{i,j}\) are the net charges of the particles, \(r_{ij}\) the distance between them and \(\epsilon\) the dielectric permittivity of the current medium (usually the one of void). Because this potential goes to zero at infinity slower than \(1/r^3\), it can not be computed in periodic simulations using a cutoff distance. This section present the available solvers for electrostatic interactions.
In the input files, electrostatic interactions are specified with two sections:
the [charges]
section sets the values of the charges of the atoms in the
system, and the [coulomb]
section sets the solver to use for the
interaction.
Charge section¶
Charges for the particles in the system are set in a [charges]
section in
the potential input file. This section should contain multiple name =
<charge>
entries, one for each charged particle in the system.
# Some salt here
[charges]
Na = 1
Cl = -1
Ewald solver¶
Ewald’s idea to compute electrostatic interactions is to split the interaction into a short-range term which can be handled with a cutoff scheme; and a long range term that can be computed using a Fourier transform. For more information about the Ewald summation and its variants, see [Frenkel2002].
The [coulomb]
section for using an Ewald solver looks like this in the input
file:
[coulomb]
ewald = {cutoff = "9 A", accuracy = 1e-5}
The cutoff
parameter specifies the cutoff distance for the short-range and
long-range interactions splitting. The accuracy
parameter is used to request
a relative relative error in forces, and should be smaller than 1. The
accuracy
is used to set the other Ewald parameters (alpha and kmax).
It is also possible to manually set the Ewald parameters:
[coulomb]
ewald = {cutoff = "9 A", kmax = 7, alpha = "0.33451 A^-1"}
The kmax
parameter gives the number of points to use in the reciprocal space
(the long-range part of interactions). Usually 7-8 is a good value for pure
water, for a very periodic charges distribution (like a crystal) a lower value,
such as 5 is sufficient, and for more heterogeneous system, higher values of
kmax
are needed. The alpha
parameter specifies the width of the charges
spreading used to smooth the distribution in reciprocal space. A good value of
alpha
is one that satisfies \(\exp \left(-\alpha \frac L 2 \right) <<
1\). If only kmax
is provided in the input file, the default value of
\(\pi / \text{cutoff}\) is used for alpha
.
Wolf solver¶
The Wolf summation method is another method for computing electrostatic interactions presented in [Wolf1999]. This method replaces the expensive computation in reciprocal space from Ewald by a corrective term, and can be expressed as a converging sum over the charged pairs in the system.
It is accessible using the wolf
keyword in the input files:
[coulomb]
wolf = {cutoff = "11 A"}
The only parameter is a cutoff
, which - as a rule of thumb - should be
larger than the corresponding cutoff from Ewald summation. For example, cutoff
= "11 A"
should be suitable for pure water.
[Frenkel2002] Frenkel, D. & Smith, B. Understanding molecular simulation. (Academic press, 2002).
[Wolf1999] Wolf, D., Keblinski, P., Phillpot, S. R. & Eggebrecht, J. Exact method for the simulation of Coulombic systems by spherically truncated, pairwise 1/r summation. The Journal of Chemical Physics 110, 8254 (1999).