Beeman's algorithm

From SklogWiki
Revision as of 12:16, 17 April 2010 by Dduque (talk | contribs) (New page: '''Beeman's algorithm''' is is a method for numerically integrating ordinary differential equations, generally position and velocity, which is closely related to Verlet integration. :<mat...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Beeman's algorithm is is a method for numerically integrating ordinary differential equations, generally position and velocity, which is closely related to Verlet integration.

x(t+Δt)=x(t)+v(t)Δt+23a(t)Δt2−16a(t−Δt)Δt2+O(Δt4)
v(t+Δt)=v(t)+13a(t+Δt)Δt+56a(t)Δt−16a(t−Δt)Δt+O(Δt3)

where x is the position, v is the velocity, a is the acceleration, t is time, and \Delta t is the time-step.

A predictor-corrector variant is useful when the forces are velocity-dependent:

x(t+Δt)=x(t)+v(t)Δt+23a(t)Δt2−16a(t−Δt)Δt2+O(Δt4).

The velocities at time t=t+Δt are then calculated from the positions.

v(t+Δt)(predicted)=v(t)+32a(t)Δt−12a(t−Δt)Δt+O(Δt3)

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

v(t+Δt)(corrected)=v(t)+13a(t+Δt)Δt+56a(t)Δt−16a(t−Δt)Δt+O(Δt3)

See also