Beeman's algorithm: Difference between revisions
Carl McBride (talk | contribs) m (Added a reference) |
Carl McBride (talk | contribs) m (Added a couple of internal links.) |
||
| 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 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. | ||
| Line 5: | Line 5: | ||
:<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> | :<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 | 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]]. | ||
A predictor-corrector variant is useful when the forces are velocity-dependent: | A predictor-corrector variant is useful when the forces are velocity-dependent: | ||
Revision as of 11:07, 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.
- Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle 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)}
where x is the position, v is the velocity, a is the acceleration, t is time, and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Delta t} is the time-step.
A predictor-corrector variant is useful when the forces are velocity-dependent:
The velocities at time Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle t =t + \Delta t} are then calculated from the positions.
- Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle 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)}
The accelerations at time Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle t =t + \Delta t} are then calculated from the positions and predicted velocities.
- Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle 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) }