Beeman's algorithm is a method for numerically integrating ordinary differential equations of order 2. Beeman in his paper introduced several predictor-corrector methods adapted to the equation of motion
, where x is the position and
the velocity. Most popular and known under the name Beeman's method became a reduced explicit variant of the order 3 method, which is closely related to Verlet integration. It produces identical positions to the Verlet iteration, but is more accurate in velocities.[citation needed] It is most commonly used in molecular dynamics simulations.
Equation
The formula used to compute the positions at time
in the full predictor-corrector[1] scheme is:
- Predict
from data at times 
.
- Correct position and velocities at time
from data at times
by repeated evaluation of the differential equation to get the acceleration
and of the equations of the implicit system

- In tests it was found that this corrector step needs to be repeated at most twice. The values on the right are the old values of the last iterations, resulting in the new values on the left.
Using only the predictor formula and the corrector for the velocities one obtains a direct or explicit method[2] which is a variant of the Verlet integration method[3]:

</math>.
This is the variant that is usually understood as Beeman's method.
Beeman[1] also proposed to alternatively replace the velocity update in the last equation by the second order Adams–Moulton method:

where
is present time (i.e.: independent variable)
is the time step size
is the position at time t
is the velocity at time t
is the acceleration at time t, computed as a function of 
- the last term is the error term, using the big O notation
Predictor-Corrector Modifications
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
are predicted and the forces calculated, before producing a corrected form of the velocities.
An example is:

The velocities at time t =
are then calculated from the positions.

The accelerations at time t =
are then calculated from the positions and predicted velocities.

Error term
As shown above, the local error term is
for position and
velocity,resulting in a global error of
. In comparison, Verlet is
for position and
for velocity, however, the more important global error is
. In exchange for greater accuracy, Beeman's algorithm is moderately computationally more expensive.
Memory Requirements
The simulation must keep track of position, velocity, acceleration and previous acceleration vectors per particle (though some clever work-arounds 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.
References
- Sadus, Richard J. (2002), Molecular Theory of Fluids: Theory, Algorithms and Object-Orientation, Elsevier, p. 231, ISBN 0444510826
- ^ a b Cite error: The named reference
beeman76
was invoked but never defined (see the help page).
- ^ Cite error: The named reference
schofield73
was invoked but never defined (see the help page).
- ^ Cite error: The named reference
levitt83
was invoked but never defined (see the help page).