Beeman's algorithm: Difference between revisions
Jump to navigation
Jump to search
(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...) |
m (common factor) |
||
| 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''' is is a method for numerically integrating ordinary differential equations, generally position and velocity, which is closely related to Verlet integration. | ||
:<math>x(t+\Delta t) = x(t) + v(t) \Delta t + \frac{2}{3}a(t) | |||
:<math>v(t + \Delta t) = v(t) + \frac{1}{3}a(t + \Delta t) | :<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>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> | |||
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 ''\Delta t'' is the time-step. | ||
Revision as of 14:07, 17 April 2010
Beeman's algorithm is is a method for numerically integrating ordinary differential equations, generally position and velocity, which is closely related to Verlet integration.
- 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) + (\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)}
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:
- 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 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) (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) (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) }