Beeman's algorithm is a method for numerically integratingordinary differential equations of order 2, more specifically Newton's equations of motion . It was designed to allow high numbers of particles in simulations of molecular dynamics. There is a direct or explicit and an implicit variant of the method. The direct variant was published by Schofield in 1973 as a personal communication from Beeman. This is what is commonly known as Beeman's method. It is a variant of the Verlet integration method. It produces identical positions, but uses a different formula for the velocities. Beeman in 1976 published a class of implicit (predictor–corrector) multi-step methods, where Beeman's method is the direct variant of the third-order method in this class.
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 are then calculated from the positions.
The accelerations at time are then calculated from the positions and predicted velocities.
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.
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.