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_sofroniou_spaletta_4_3 Module Reference

Butcher tableau for Sofroniou Spaletta's 5 step, order (4,3) Runge-Kutta method. More...

Variables

integer, parameter s = 5
 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 = [4, 3]
 The method orders.
integer, dimension(m), parameter se = [4, 5]
 Number of stages for each method.

Detailed Description

Butcher tableau for Sofroniou Spaletta's 5 step, order (4,3) Runge-Kutta method.

IMO
This is an interesting method in that one of the goals was to detect stiffness. That said, it's a very good general purpose method of order 4.
Known Aliases
'ARKODE_SOFRONIOU_SPALETTA_5_3_4' (SUNDIALS)
Stability Image Links
References:
  • Sofroniou & Spaletta (2004); Construction of Explicit Runge-Kutta Pairs with Stiffness Detection; Math. and Comp. Modelling; 40(11); p1157-1169; zotero://select/items/0_52X4WPJK

Variable Documentation

◆ s

integer, parameter mrkiss_eerk_sofroniou_spaletta_4_3::s = 5

The order of the overall method.

Definition at line 63 of file mrkiss_eerk_sofroniou_spaletta_4_3.f90.

◆ m

integer, parameter mrkiss_eerk_sofroniou_spaletta_4_3::m = 2

Number of methods.

Definition at line 65 of file mrkiss_eerk_sofroniou_spaletta_4_3.f90.

◆ a

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

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

Definition at line 67 of file mrkiss_eerk_sofroniou_spaletta_4_3.f90.

67 real(kind=rk), parameter :: a(s,s) = reshape([ 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
68 1584.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
69 -594.0_rk, 2970.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
70 1710.0_rk, -1350.0_rk, 3600.0_rk, 0.0_rk, 0.0_rk, &
71 605.0_rk, 1375.0_rk, 1375.0_rk, 605.0_rk, 0.0_rk], [s, s]) / 3960.0_rk

◆ b

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

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

Definition at line 73 of file mrkiss_eerk_sofroniou_spaletta_4_3.f90.

◆ c

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

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

Definition at line 76 of file mrkiss_eerk_sofroniou_spaletta_4_3.f90.

76 real(kind=rk), parameter :: c(s) = [ 0.0_rk, 2.0_rk, 3.0_rk, 5.0_rk, 5.0_rk] / 5.0_rk

◆ p

integer, dimension(m), parameter mrkiss_eerk_sofroniou_spaletta_4_3::p = [4, 3]

The method orders.

Definition at line 78 of file mrkiss_eerk_sofroniou_spaletta_4_3.f90.

◆ se

integer, dimension(m), parameter mrkiss_eerk_sofroniou_spaletta_4_3::se = [4, 5]

Number of stages for each method.

Definition at line 80 of file mrkiss_eerk_sofroniou_spaletta_4_3.f90.