61 integer,
parameter ::
s = 4
63 integer,
parameter ::
m = 2
65 real(kind=
rk),
parameter ::
a(
s,
s) = reshape([ 0.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
66 & 18.0_rk, 0.0_rk, 0.0_rk, 0.0_rk, &
67 & 0.0_rk, 27.0_rk, 0.0_rk, 0.0_rk, &
68 & 8.0_rk, 12.0_rk, 16.0_rk, 0.0_rk], [
s,
s]) / 36.0_rk
70 real(kind=
rk),
parameter ::
b(
s,
m) = reshape([ 16.0_rk, 24.0_rk, 32.0_rk, 0.0_rk, &
71 & 21.0_rk, 18.0_rk, 24.0_rk, 9.0_rk], [
s,
m]) / 72.0_rk
73 real(kind=
rk),
parameter ::
c(
s) = [ 0.0_rk, 2.0_rk, 3.0_rk, 4.0_rk] / 4.0_rk
75 integer,
parameter ::
p(
m) = [3, 2]
77 integer,
parameter ::
se(
m) = [3, 4]
Configuration for MRKISS == MR RK KISS == Mitch Richling's Runge-Kutta Keep It Simple Stupid.
integer, parameter, public rk
Real kind used across the library.
Butcher tableau for Bogacki Shampine's 4 step, order (3,2) Runge-Kutta method.
integer, parameter m
Number of methods.
integer, parameter s
The order of the overall method.
integer, dimension(m), parameter se
Number of stages for each method.
real(kind=rk), dimension(s, s), parameter a
The matrix for the Butcher Tableau.
real(kind=rk), dimension(s, m), parameter b
The matrix for the Butcher Tableau.
integer, dimension(m), parameter p
The method orders.
real(kind=rk), dimension(s), parameter c
The matrix for the Butcher Tableau.