MRKISS 2025-09-10
A tiny library with zero dependencies that aims to make it easy to use & experiment with explicit Runge-Kutta methods.
Loading...
Searching...
No Matches
mrkiss_eerk_dormand_prince_5_4 Module Reference

Butcher tableau for Dormand & Prince's 7 stage, Order (5,4) Runge-Kutta method. More...

Variables

integer, parameter s = 7
 The order of the overall method.
integer, parameter m = 2
 Number of methods.
real(kind=rk), dimension(s, s), parameter a
 The \(\mathbf{a}\) matrix for the Butcher Tableau.
real(kind=rk), dimension(s, m), parameter b
 The \(\mathbf{b}\) matrix for the Butcher Tableau.
real(kind=rk), dimension(s), parameter c
 The \(\mathbf{c}\) matrix for the Butcher Tableau.
integer, dimension(m), parameter p = [5, 4]
 The method orders.
integer, dimension(m), parameter se = [6, 7]
 Number of stages for each method.

Detailed Description

Butcher tableau for Dormand & Prince's 7 stage, Order (5,4) Runge-Kutta method.

IMO
I include this method for historical reasons and for unit tests. It's a good general use method with excellent principle truncation error coefficients. It has been very widely used, frequently as the default method, across many software packages with good results. It's a standard method to use for comparisons in the literature. Today it has largely been replaced by newer methods.
Known Aliases
'The Dormand-Prince Method', 'RKDP', 'DOPRI', 'DP5' (OrdinaryDiffEq.jl), 'ode45' (MATLAB & Octave), 'RK5(4)7M' (Dormand & Prince), & DOPRI5 (Hairer), 'ARKODE_DORMAND_PRINCE_7_4_5' (SUNDIALS)
Stability Image Links
References:
  • Dormand & Prince (1980); A family of embedded Runge-Kutta formulae; J. Comput. Appl. Math. 6, no. 1
  • Hairer, Norsett & Wanner (2009). Solving Ordinary Differential Equations. I: Nonstiff Problems. p178; zotero://select/items/0_VLZWN2CT
  • Butcher (2016); Numerical Methods for Ordinary Differential Equations. 3ed; p224; zotero://select/items/0_V7UTIRPT

Variable Documentation

◆ s

integer, parameter mrkiss_eerk_dormand_prince_5_4::s = 7

The order of the overall method.

Definition at line 68 of file mrkiss_eerk_dormand_prince_5_4.f90.

◆ m

integer, parameter mrkiss_eerk_dormand_prince_5_4::m = 2

Number of methods.

Definition at line 70 of file mrkiss_eerk_dormand_prince_5_4.f90.

◆ a

real(kind=rk), dimension(s,s), parameter mrkiss_eerk_dormand_prince_5_4::a

The \(\mathbf{a}\) matrix for the Butcher Tableau.

Definition at line 72 of file mrkiss_eerk_dormand_prince_5_4.f90.

◆ b

real(kind=rk), dimension(s,m), parameter mrkiss_eerk_dormand_prince_5_4::b

The \(\mathbf{b}\) matrix for the Butcher Tableau.

Definition at line 80 of file mrkiss_eerk_dormand_prince_5_4.f90.

◆ c

real(kind=rk), dimension(s), parameter mrkiss_eerk_dormand_prince_5_4::c

The \(\mathbf{c}\) matrix for the Butcher Tableau.

Definition at line 83 of file mrkiss_eerk_dormand_prince_5_4.f90.

◆ p

integer, dimension(m), parameter mrkiss_eerk_dormand_prince_5_4::p = [5, 4]

The method orders.

Definition at line 85 of file mrkiss_eerk_dormand_prince_5_4.f90.

◆ se

integer, dimension(m), parameter mrkiss_eerk_dormand_prince_5_4::se = [6, 7]

Number of stages for each method.

Definition at line 87 of file mrkiss_eerk_dormand_prince_5_4.f90.