Potential truncations¶
shifted¶
Amend the sharp truncation by an energy shift such that the potential is continuous at the cutoff distance \(r_c\):
The force is not affected by this and remains discontinuous at the cutoff.
Example:
potential = potential:truncate({"shifted", cutoff = 2.5})
force_shifted¶
Amend the energy-shifted potential by a linear term, effectively shifting the force to zero at the cutoff distance \(r_c\):
Both energy and force are continuous at the cutoff. Note that this modification globally tilts the potential with possible physical implications for, e.g., phase diagrams.
Example:
potential = potential:truncate({"force_shifted", cutoff = 2.5})
smooth_r4¶
Truncate the potential \(U(r)\) such that it remains a C²-continuous
function at the cutoff, i.e., the force being continuously differentiable.
As a consequence, momentum and energy drift are drastically diminished
even from long runs using symplectic integrators such as
halmd.mdsim.integrators.verlet
.
The truncation is implemented by multiplication of the energy-shifted potential with the local smoothing function
where \(r_c\) is the cutoff distance, and the parameter \(h \ll \sigma\), which has the dimension of a length, controls the the range of smoothing. The C²-continuous truncated potential then reads
and the C¹-continuous force is
with the derivative of the smoothing function \(g^\prime(\xi) = 4 \xi^3 \bigl(1 + \xi^4\bigr)^{-2}\).
Example:
potential = potential:truncate({"smooth_r4", cutoff = 2.5, h = 0.005})
The following figure shows unmodified and C²-smooth variants of the Weeks-Chandler-Andersen potential, the repulsive part of the Lennard-Jones potential sharply cutoff at \(r_c = \sqrt[6]{2}\).
(Source code, png, hires.png, pdf)

The following figure shows the absolute value of the force.
(Source code, png, hires.png, pdf)
