Beeman's algorithm

From SklogWiki
Revision as of 12:32, 19 April 2010 by Nice and Tidy (talk | contribs) (Trivial tidy of LaTeX markup.)
Jump to navigation Jump to search

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.

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

where x is the position, v is the velocity, a is the acceleration, t is time, and Δ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

References

External links