![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||
![]() |
![]() |
![]() |
|||||||||||||||
![]() |
|||||||||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||
Verlet Method One of the most common drift-free higher-order
algorithms is commonly attributed to Verlet [L. Verlet, Computer
experiments on classical fluids. I. Thermodynamical properties of
Lennard-Jones molecules, Physical Review 159, 98 (1967);
in this paper he discusses the method and its application to molecular
dynamics simulations].We write the Taylor series expansion for Thus,
the global error associated with the Verlet algorithm is
third order for the position and second-order for the velocity.
However, the velocity plays no part in the integration of the equations
of motions. In the numerical analysis literature, the Verlet method
is also knows as the ``explicit central difference method''.
Because the Verlet algorithm is not self-starting, another algorithm must be used to obtain the first few terms. An additional problem is that the new velocity Eq. (22) found by computing the difference between two quantities of the same order of magnitude. When using computers which always operate with finite numerical precision, such an operation results in a loss of numerical precision and may give rise to substantial roundoff error. A mathematically
equivalent version of the original Verlet algorithm is given by
We
see that these equations, known as the velocity form of
the Verlet algorithm, is self-starting and minimizes roundoff errors.
We can derive Eqs. (23),
(24) from Eqs. (21),
(22) by the following considerations.
We first solve Eq. (22)
for
![]() ![]() ![]() ![]() ![]()
Finally,
we use Eq. (23) for
![]() ![]() Another
useful algorithm that avoids the roundoff error of the original
Verlet algorithm is due to Beeman and Schofield. We write the Beeman
algorithm in the form
Note
that this algorithm does not calculate particle trajectories more
accurately than the Verlet algorithm. Its advantage is that in general
does a better job of maintaining energy conservation. However, the
Beeman algorithm is not self-starting.
|
|||||||||||||||||
![]() |