# Difference between revisions of "Beeman's algorithm"

Carl McBride (talk | contribs) m (Added a couple of internal links.) |
m (Trivial tidy of LaTeX markup.) |
||

Line 1: | Line 1: | ||

'''Beeman's algorithm''' <ref>[http://dx.doi.org/10.1016/0021-9991(76)90059-0 D. Beeman "Some multistep methods for use in molecular dynamics calculations", Journal of Computational Physics '''20''' pp. 130-139 (1976)]</ref> is is a method for [[Integrators for molecular dynamics |numerically integrating ordinary differential equations]], generally position and velocity, which is closely related to Verlet integration. | '''Beeman's algorithm''' <ref>[http://dx.doi.org/10.1016/0021-9991(76)90059-0 D. Beeman "Some multistep methods for use in molecular dynamics calculations", Journal of Computational Physics '''20''' pp. 130-139 (1976)]</ref> is is a method for [[Integrators for molecular dynamics |numerically integrating ordinary differential equations]], generally position and velocity, which is closely related to Verlet integration. | ||

− | + | :<math>x(t+\Delta t) = x(t) + v(t) \Delta t + \left(\frac{2}{3}a(t) - \frac{1}{6} a(t - \Delta t) \right)\Delta t^2 + O( \Delta t^4) </math> | |

− | :<math>x(t+\Delta t) = x(t) + v(t) \Delta t + (\frac{2}{3}a(t) - \frac{1}{6} a(t - \Delta t) )\Delta t^2 + O( \Delta t^4) </math> | + | :<math>v(t + \Delta t) = v(t) + \left(\frac{1}{3}a(t + \Delta t) + \frac{5}{6}a(t) - \frac{1}{6}a(t - \Delta t) \right) \Delta t + O(\Delta t^3)</math> |

− | :<math>v(t + \Delta t) = v(t) + (\frac{1}{3}a(t + \Delta t) + \frac{5}{6}a(t) - \frac{1}{6}a(t - \Delta t)) \Delta t + O(\Delta t^3)</math> | ||

where ''x'' is the position, ''v'' is the velocity, ''a'' is the acceleration, ''t'' is time, and <math>\Delta t</math> is the [[Time step|time-step]]. | where ''x'' is the position, ''v'' is the velocity, ''a'' is the acceleration, ''t'' is time, and <math>\Delta t</math> is the [[Time step|time-step]]. | ||

Line 13: | Line 12: | ||

The velocities at time <math>t =t + \Delta t</math> are then calculated from the positions. | The velocities at time <math>t =t + \Delta t</math> are then calculated from the positions. | ||

− | :<math> v(t + \Delta t) (predicted) = v(t) + \frac{3}{2}a(t) \Delta t - \frac{1}{2}a(t - \Delta t) \Delta t + O( \Delta t^3)</math> | + | :<math> v(t + \Delta t)_{(\mathrm{predicted})} = v(t) + \frac{3}{2}a(t) \Delta t - \frac{1}{2}a(t - \Delta t) \Delta t + O( \Delta t^3)</math> |

The accelerations at time <math>t =t + \Delta t</math> are then calculated from the positions and predicted velocities. | The accelerations at time <math>t =t + \Delta t</math> are then calculated from the positions and predicted velocities. | ||

− | :<math> v(t + \Delta t) (corrected) = v(t) + \frac{1}{3}a(t + \Delta t) \Delta t + \frac{5}{6}a(t) \Delta t - \frac{1}{6}a(t - \Delta t) \Delta t + O( \Delta t^3) </math> | + | :<math> v(t + \Delta t)_{(\mathrm{corrected})} = v(t) + \frac{1}{3}a(t + \Delta t) \Delta t + \frac{5}{6}a(t) \Delta t - \frac{1}{6}a(t - \Delta t) \Delta t + O( \Delta t^3) </math> |

==See also== | ==See also== |

## Revision as of 11:32, 19 April 2010

**Beeman's algorithm** ^{[1]} is is a method for numerically integrating ordinary differential equations, generally position and velocity, which is closely related to Verlet integration.

where *x* is the position, *v* is the velocity, *a* is the acceleration, *t* is time, and is the time-step.

A predictor-corrector variant is useful when the forces are velocity-dependent:

The velocities at time are then calculated from the positions.

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