The finite difference method can generate MD trajectories with continuous
potential models. The essential idea is that the integration is divided
into many small steps, each separated by a fixed time interval
.
The total interactions on each particle at time
can be calculated
from the sum of interactions from other particles. The force is assumed
to be constant during the time step
and
. The forces
and accelerations of the particles in new positions can be determined,
and so on.
There are many algorithms for integrating the equations of motion using finite difference methods, which are commonly used in MD simulations. All algorithms assume that the positions and dynamics properties (velocities, accelerations, etc.) can be approximated in Taylor series expansions:
The execution of the Verlet algorithm is straightforward and comprises
,
, and the accelerations
. One of its
disadvantage is that the positions
are obtained by
adding a small term,
, to the difference of two
much larger terms,
and
). This may lead to
a loss of precision. The lack of an explicit velocity term in the
equations makes it difficult to obtain the velocities. The velocities
are not available until the positions have been computed at the next
step. In addition, it is not a self-starting algorithm; the new positions
are obtained from the current positions
and the previous position
. At
there is obviously only one set of positions
and so it is necessary to employ some other means to obtain positions
at
. One way to obtain
is to use the
Taylor series, Eq. (9), truncated after the first term.
Thus,
.
The velocity Verlet method gives positions, velocities and accelerations at the same time and does not influence the precision:
The velocity Verlet method [26] is actually implemented
as a three-stage procedure because, as can be seen from Eq. (18),
calculating the new velocities requires the accelerations at both
and
. Thus in the first step the positions at
are calculated according to Eq. (17) using the velocities
and the accelerations at time
. The velocities at time
are then determined using