Beeman's algorithm: Difference between revisions

From SklogWiki
Jump to navigation Jump to search
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.

See also

References

External links