Beeman's algorithm: Difference between revisions

From SklogWiki
Jump to navigation Jump to search
(Link to wikipedia)
(Interesting: same positions as Verlet)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Beeman's algorithm''' 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.


In its standard form, it produces the same trajectories as the Verlet algorithm, but the velocities are more accurate:


:<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>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>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) + \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>


where ''x'' is the position, ''v'' is the velocity, ''a'' is the acceleration, ''t'' is time, and ''\Delta t'' is the 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]].


A predictor-corrector variant is useful when the forces are velocity-dependent:
A predictor-corrector variant is useful when the forces are velocity-dependent:
Line 13: Line 14:
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==
Line 23: Line 24:


==References==
==References==
<references/>
==External links==
*[http://en.wikipedia.org/wiki/Beeman%27s_algorithm Beeman's algorithm entry on wikipedia]
*[http://en.wikipedia.org/wiki/Beeman%27s_algorithm Beeman's algorithm entry on wikipedia]
[[category: Molecular dynamics]]
[[category: Molecular dynamics]]

Latest revision as of 13:01, 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.

In its standard form, it produces the same trajectories as the Verlet algorithm, but the velocities are more accurate:

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 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) }
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) + \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)}

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:

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 x(t+\Delta t) = x(t) + v(t) \Delta t + \frac{2}{3}a(t) \Delta t^2 - \frac{1}{6} a(t - \Delta t) \Delta t^2 + O( \Delta t^4).}

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)_{(\mathrm{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)_{(\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) }

See also[edit]

References[edit]

External links[edit]