Beeman's algorithm

Beeman's algorithm

Beeman's algorithm is a method for numerically integrating ordinary differential equations, generally position and velocity, which is closely related to Verlet integration. It produces identical positions to Verlet, but is more accurate in velocities. It is most commonly seen in molecular dynamics simulations.

Equation

The formula used to compute the positions at time t + Delta t is:

:r(t+Delta t) = r(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)

and this is the formula used to update the velocities:

:v(t + Delta t) = 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)

where

*t is present time (ie: independent variable)
*Delta t is the time step size
*r(t) is the position at time t
*v(t) is the velocity at time t
*a(t) is the acceleration at time t
*the last term is the error term, using the big O notation

Predictor-Corrector Modifications

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 time t + Delta t are predicted and the forces calculated, before producing a corrected form of the velocities.

An example is:

:r(t+Delta t) = r(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 t =t + Delta t are then calculated from the positions.

:v(t + Delta t) (predicted) = v(t) + frac{3}{2}a(t) Delta t - frac{1}{2}a(t - Delta t) Delta t

The accelerations at time t =t + Delta t are then calculated from the positions and predicted velocities.

: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

Error term

As shown above, the error term is O(Delta t^4) for position and O(Delta t^3) velocity. In comparison, Verlet is O(Delta t^4) for position and O(Delta t^2) for velocity. In exchange for greater accuracy, Beeman's algorithm is moderately computationally more expensive.

Memory Requirements

The simulation must keep track of position, velocity, acceleration and previous acceleration vectors per particle (though some clever work-arounds 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

* [http://www.earth.ox.ac.uk/~keithr/moldy-manual/node9.html Integration Algorithms]
* [http://mse-jl1.eng.ohio-state.edu/Archive/Papers/05/Li05-2.8.pdf Basic Molecular Dynamics]
* [http://www.mse.ufl.edu/~ssinn/Backgrounds/back04_integ.html Integrator: Predictor-Corrector Algorithm]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • List of numerical analysis topics — This is a list of numerical analysis topics, by Wikipedia page. Contents 1 General 2 Error 3 Elementary and special functions 4 Numerical linear algebra …   Wikipedia

  • List of mathematics articles (B) — NOTOC B B spline B* algebra B* search algorithm B,C,K,W system BA model Ba space Babuška Lax Milgram theorem Baby Monster group Baby step giant step Babylonian mathematics Babylonian numerals Bach tensor Bach s algorithm Bachmann–Howard ordinal… …   Wikipedia

  • Molecular dynamics — (MD) is a computer simulation of physical movements of atoms and molecules. The atoms and molecules are allowed to interact for a period of time, giving a view of the motion of the atoms. In the most common version, the trajectories of molecules… …   Wikipedia

  • Numerical ordinary differential equations — Illustration of numerical integration for the differential equation y = y,y(0) = 1. Blue: the Euler method, green: the midpoint method, red: the exact solution, y = et. The step size is h = 1.0 …   Wikipedia

  • Crank–Nicolson method — In numerical analysis, the Crank–Nicolson method is a finite difference method used for numerically solving the heat equation and similar partial differential equations.[1] It is a second order method in time, implicit in time, and is numerically …   Wikipedia

  • Predictor-corrector method — In mathematics, particularly numerical analysis, a predictor corrector method is an algorithm that proceeds in two steps. First, the prediction step calculates a rough approximation of the desired quantity. Second, the corrector step refines the… …   Wikipedia

  • Newmark-beta method — The Newmark beta method is a method of numerical integration used to solve differential equations. It is widely used in numerical evaluation of the dynamic response of structures and solids such as in finite element analysis to model dynamic… …   Wikipedia

  • Midpoint method — For the midpoint rule in numerical quadrature, see rectangle method. Illustration of the midpoint method assuming that yn equals the exact value y(tn). The midpoint method computes yn + 1 …   Wikipedia

  • Linear multistep method — Adams method redirects here. For the electoral apportionment method, see Method of smallest divisors. Linear multistep methods are used for the numerical solution of ordinary differential equations. Conceptually, a numerical method starts from an …   Wikipedia

  • Semi-implicit Euler method — In mathematics, the semi implicit Euler method, also called symplectic Euler, semi explicit Euler, Euler–Cromer, and Newton–Størmer–Verlet (NSV), is a modification of the Euler method for solving Hamilton s equations, a system of ordinary… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”