Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Beeman's algorithm

From Wikipedia, the free encyclopedia
Numerical integration algorithm

Beeman's algorithm is a method fornumerically integratingordinary differential equations of order 2, more specifically Newton's equations of motionx¨=A(x){\displaystyle {\ddot {x}}=A(x)}. 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[1] as a personal communication from Beeman. This is what is commonly known asBeeman's method. It is a variant of theVerlet integration method. It produces identical positions, but uses a different formula for the velocities. Beeman in 1976 published[2] a class of implicit (predictor–corrector) multi-step methods, whereBeeman's method is the direct variant of the third-order method in this class.

Equation

[edit]

The formula used to compute the positions at timet+Δt{\displaystyle t+\Delta t} in the full predictor-corrector[2] scheme is:

Using only the predictor formula and the corrector for the velocities one obtains a direct or explicit method[1] which is a variant of the Verlet integration method:[3]x(t+Δt)=x(t)+v(t)Δt+16[4a(t)a(tΔt)]Δt2+O(Δt4)v(t+Δt)=v(t)+16[2a(t+Δt)+5a(t)a(tΔt)]Δt+O(Δt3);{\displaystyle {\begin{aligned}x(t+\Delta t)&=x(t)+v(t)\Delta t+{\frac {1}{6}}{\bigl [}4a(t)-a(t-\Delta t){\bigr ]}\Delta t^{2}+O(\Delta t^{4})\\v(t+\Delta t)&=v(t)+{\frac {1}{6}}{\bigl [}2a(t+\Delta t)+5a(t)-a(t-\Delta t){\bigr ]}\Delta t+O(\Delta t^{3});\end{aligned}}}

This is the variant that is usually understood asBeeman's method.

Beeman[2] also proposed to alternatively replace the velocity update in the last equation by the second orderAdams–Moulton method:

v(t+Δt)=v(t)+112[5a(t+Δt)+8a(t)a(tΔt)]Δt+O(Δt3){\displaystyle v(t+\Delta t)=v(t)+{\frac {1}{12}}{\bigl [}5a(t+\Delta t)+8a(t)-a(t-\Delta t){\bigr ]}\Delta t+O(\Delta t^{3})}

where

Predictor–corrector modifications

[edit]

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 timet+Δt{\displaystyle t+\Delta t} are predicted and the forces calculated, before producing a corrected form of the velocities.

An example is:

x(t+Δt)=x(t)+v(t)Δt+23a(t)Δt216a(tΔt)Δt2+O(Δt4).{\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 timet=t+Δt{\displaystyle t=t+\Delta t} are then calculated (predicted) from the positions.

v(t+Δt) (predicted)=v(t)+32a(t)Δt12a(tΔt)Δt+O(Δt3).{\displaystyle v(t+\Delta t)~{\text{(predicted)}}=v(t)+{\frac {3}{2}}a(t)\Delta t-{\frac {1}{2}}a(t-\Delta t)\Delta t+O(\Delta t^{3}).}

The accelerationsa(t+Δt){\displaystyle a(t+\Delta t)} at timet=t+Δt{\displaystyle t=t+\Delta t} are then calculated from the positions and predicted velocities, and the velocities are corrected.

v(t+Δt) (corrected)=v(t)+512a(t+Δt)Δt+23a(t)Δt112a(tΔt)Δt+O(Δt3).{\displaystyle v(t+\Delta t)~{\text{(corrected)}}=v(t)+{\frac {5}{12}}a(t+\Delta t)\Delta t+{\frac {2}{3}}a(t)\Delta t-{\frac {1}{12}}a(t-\Delta t)\Delta t+O(\Delta t^{3}).}

Error term

[edit]

As shown above, the local error term isO(Δt4){\displaystyle O(\Delta t^{4})} for position andO(Δt3){\displaystyle O(\Delta t^{3})} velocity, resulting in a global error ofO(Δt3){\displaystyle O(\Delta t^{3})}. In comparison, Verlet isO(Δt2){\displaystyle O(\Delta t^{2})} for position and velocity. In exchange for greater accuracy, Beeman's algorithm is moderately computationally more expensive.

Memory requirements

[edit]

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.

References

[edit]
  1. ^abSchofield, P. (1973), "Computer simulation studies of the liquid state",Computer Physics Communications,5 (1):17–23,Bibcode:1973CoPhC...5...17S,doi:10.1016/0010-4655(73)90004-0
  2. ^abcBeeman, David (1976), "Some multistep methods for use in molecular dynamics calculations",Journal of Computational Physics, vol. 20, no. 2, pp. 130–139,Bibcode:1976JCoPh..20..130B,doi:10.1016/0021-9991(76)90059-0
  3. ^Levitt, Michael; Meirovitch, Hagai; Huber, R. (1983), "Integrating the equations of motion",Journal of Molecular Biology,168 (3):617–620,doi:10.1016/S0022-2836(83)80305-2,PMID 6193281
  • Sadus, Richard J. (2002),Molecular Theory of Fluids: Theory, Algorithms and Object-Orientation, Elsevier, p. 231,ISBN 0-444-51082-6
First-order methods
Second-order methods
Higher-order methods
Theory
Related
Retrieved from "https://en.wikipedia.org/w/index.php?title=Beeman%27s_algorithm&oldid=1319074664"
Category:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp