The formula used to compute the positions at time t + Δ t {\displaystyle t+\Delta t} in the full predictor-corrector3 scheme is:
Using only the predictor formula and the corrector for the velocities one obtains a direct or explicit method4 which is a variant of the Verlet integration method:5
This is the variant that is usually understood as Beeman's method.
Beeman6 also proposed to alternatively replace the velocity update in the last equation by the second order Adams–Moulton method:
where
In systems where the forces are a function of velocity in addition to position, the above equations need to be modified into a predictor–corrector form whereby the velocities at time t + Δ t {\displaystyle t+\Delta t} are predicted and the forces calculated, before producing a corrected form of the velocities.
An example is:
The velocities at time t = t + Δ t {\displaystyle t=t+\Delta t} are then calculated (predicted) from the positions.
The accelerations a ( t + Δ t ) {\displaystyle a(t+\Delta t)} at time t = t + Δ t {\displaystyle t=t+\Delta t} are then calculated from the positions and predicted velocities, and the velocities are corrected.
As shown above, the local error term is O ( Δ t 4 ) {\displaystyle O(\Delta t^{4})} for position and O ( Δ t 3 ) {\displaystyle O(\Delta t^{3})} velocity, resulting in a global error of O ( Δ t 3 ) {\displaystyle O(\Delta t^{3})} . In comparison, Verlet is O ( Δ t 2 ) {\displaystyle O(\Delta t^{2})} for position and velocity. In exchange for greater accuracy, Beeman's algorithm is moderately computationally more expensive.
The simulation must keep track of position, velocity, acceleration and previous acceleration vectors per particle (though some clever workarounds for storing the previous acceleration vector are possible), keeping its memory requirements on par with velocity Verlet and slightly more expensive than the original Verlet method.
Schofield, P. (1973), "Computer simulation studies of the liquid state", Computer Physics Communications, 5 (1): 17–23, Bibcode:1973CoPhC...5...17S, doi:10.1016/0010-4655(73)90004-0 /wiki/Bibcode_(identifier) ↩
Beeman, David (1976), "Some multistep methods for use in molecular dynamics calculations", Journal of Computational Physics, vol. 20, no. 2, pp. 130–139, Bibcode:1976JCoPh..20..130B, doi:10.1016/0021-9991(76)90059-0 /wiki/Bibcode_(identifier) ↩
Levitt, Michael; Meirovitch, Hagai; Huber, R. (1983), "Integrating the equations of motion", Journal of Molecular Biology, 168 (3): 617–620, doi:10.1016/S0022-2836(83)80305-2, PMID 6193281 /wiki/Doi_(identifier) ↩