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

Butcher tableau for ralston's 4 stage order (4) Runge-Kutta method. More...

Variables

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

Detailed Description

Butcher tableau for ralston's 4 stage order (4) Runge-Kutta method.

IMO
This method was designed to minimize truncation error over every other consideration includeing stability, roundoff error, performance, and storage.
Stability Image Links
References:
  • Ralston (1962); Runge-Kutta Methods with Minimum Error Bounds; Math. of Comp. 16 (80); p431-437; zotero://select/items/0_2FK7F4J3

Variable Documentation

◆ s

integer, parameter mrkiss_erk_ralston_4::s = 4

The order of the overall method.

Definition at line 60 of file mrkiss_erk_ralston_4.f90.

◆ m

integer, parameter mrkiss_erk_ralston_4::m = 1

Number of methods.

Definition at line 62 of file mrkiss_erk_ralston_4.f90.

◆ a

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

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

Definition at line 64 of file mrkiss_erk_ralston_4.f90.

64 real(kind=rk), parameter :: a(s,s) = reshape([ 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
65 & 98650112.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
66 & -695801205.0_rk, 911598325.0_rk, 0.0_rk, 0.0_rk, &
67 & -137399680.0_rk, -94224000.0_rk, 478248960.0_rk, 0.0_rk], [s, s]) / 246625280.0_rk + &
68 & reshape([ 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
69 & 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
70 & 85981665.0_rk, -97542225.0_rk, 0.0_rk, 0.0_rk, &
71 & 21375552.0_rk, -73591360.0_rk, 52215808.0_rk, 0.0_rk], [s, s]) / 61656320.0_rk * sqrt(5.0_rk)

◆ b

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

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

Definition at line 73 of file mrkiss_erk_ralston_4.f90.

73 real(kind=rk), parameter :: b(s,m) = reshape([ 3439777.0_rk, 773875.0_rk, 13705216.0_rk, 5780280.0_rk], [s, m]) / 23699148.0_rk + &
74 & reshape([ 78474.0_rk, -1547750.0_rk, 1661952.0_rk, -192676.0_rk], [s, m]) / 5924787.0_rk * sqrt(5.0_rk)

◆ c

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

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

Definition at line 76 of file mrkiss_erk_ralston_4.f90.

76 real(kind=rk), parameter :: c(s) = [ 0.0_rk, 16.0_rk, 35.0_rk, 40.0_rk ] / 40.0_rk + &
77 & [ 0.0_rk, 0.0_rk, -3.0_rk, 0.0_rk ] / 16.0_rk * sqrt(5.0_rk)

◆ p

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

The method orders.

Definition at line 79 of file mrkiss_erk_ralston_4.f90.

◆ se

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

Number of stages for each method.

Definition at line 81 of file mrkiss_erk_ralston_4.f90.