View Source Integrator.RungeKutta.DormandPrince45 (Integrator v0.1.2)

Integrates and interpolates a system of ODEs with a given initial condition x from t to t + dt with the Dormand-Prince method. For the definition of this method see Wikipedia.

Originally based on runge_kutta_45_dorpri.m from Octave.

It uses six function evaluations to calculate fourth and fifth-order accurate solutions. The difference between these solutions is then taken to be the error of the (fourth-order) solution. This error estimate is very convenient for adaptive stepsize integration algorithms. The Dormand–Prince method has seven stages, but it uses only six function evaluations per step because it has the FSAL (First Same As Last) property: the last stage is evaluated at the same point as the first stage of the next step. Dormand and Prince chose the coefficients of their method to minimize the error of the fifth-order solution. This is the main difference with the Fehlberg method, which was constructed so that the fourth-order solution has a small error.

See the Octave docs for ode45

Summary

Functions

Performs a 4th order Hermite interpolation when interpolating with DormandPrince45 using Utils.hermite_quartic_interpolation/4

Returns the order of this Runge-Kutta method (which is 5)

Functions

Link to this function

integrate(ode_fn, t, x, dt, k_vals, t_next)

View Source

Integrates a system of ODEs with [Dormand-Prince]](http://en.wikipedia.org/wiki/Dormand%E2%80%93Prince_method).

Reference: Hairer, Ernst; Nørsett, Syvert Paul; Wanner, Gerhard (2008), Solving ordinary differential equations I: Nonstiff problems, Berlin, New York: Springer-Verlag, ISBN 978-3-540-56670-0

Link to this function

interpolate(t, x, der, t_out)

View Source

Performs a 4th order Hermite interpolation when interpolating with DormandPrince45 using Utils.hermite_quartic_interpolation/4

Returns the order of this Runge-Kutta method (which is 5)