rklib_fixed_steps Submodule

Fixed-step RK formulas.


Uses

  • module~~rklib_fixed_steps~~UsesGraph module~rklib_fixed_steps rklib_fixed_steps module~rklib_module rklib_module module~rklib_fixed_steps->module~rklib_module iso_fortran_env iso_fortran_env module~rklib_module->iso_fortran_env root_module root_module module~rklib_module->root_module

Module Procedures

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html euler module subroutine euler(me, t, x, h, xf)

Euler (1st order) integration method.

Arguments

Type IntentOptional Attributes Name
class(euler_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html midpoint module subroutine midpoint(me, t, x, h, xf)

Midpoint (2nd order) integration method.

Arguments

Type IntentOptional Attributes Name
class(midpoint_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html heun module subroutine heun(me, t, x, h, xf)

Heun's (2nd order) integration method

Arguments

Type IntentOptional Attributes Name
class(heun_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkssp22 module subroutine rkssp22(me, t, x, h, xf)

2-stage, 2nd order TVD Runge-Kutta method of Shu and Osher (1988). CFL=1.0.

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkssp22_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rk3 module subroutine rk3(me, t, x, h, xf)

3rd order, 3 steps RK integration method

Arguments

Type IntentOptional Attributes Name
class(rk3_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkssp33 module subroutine rkssp33(me, t, x, h, xf)

3-stage, 3rd order TVD Runge-Kutta method of Shu and Osher (1988). CFL=1.0.

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkssp33_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkssp53 module subroutine rkssp53(me, t, x, h, xf)

5-stage, 3rd order SSP Runge-Kutta method of Spiteri and Ruuth (2005). CFL=2.65.

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkssp53_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rk4 module subroutine rk4(me, t, x, h, xf)

Take one Runge Kutta 4 integration step: t -> t+h (x -> xf)

Arguments

Type IntentOptional Attributes Name
class(rk4_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rks4 module subroutine rks4(me, t, x, h, xf)

4th order Runge Kutta Shanks (4 points)

Read more…

Arguments

Type IntentOptional Attributes Name
class(rks4_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkr4 module subroutine rkr4(me, t, x, h, xf)

Ralston 4th order method with minimum truncation error.

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkr4_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkls44 module subroutine rkls44(me, t, x, h, xf)

4-stage, 4th order low storage non-TVD Runge-Kutta method of Jiang and Shu (1988).

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkls44_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkssp54 module subroutine rkssp54(me, t, x, h, xf)

5-stage, 4th order SSP Runge-Kutta method of Spiteri and Ruuth (2005). CFL=1.508.

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkssp54_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkls54 module subroutine rkls54(me, t, x, h, xf)

5-stage, 4th order low storage Runge-Kutta method of Carpenter and Kennedy (1994). CFL<=0.32

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkls54_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rks5 module subroutine rks5(me, t, x, h, xf)

Runge Kutta Shanks (5th order)

Read more…

Arguments

Type IntentOptional Attributes Name
class(rks5_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rk5 module subroutine rk5(me, t, x, h, xf)

Runge's 5th order method.

Arguments

Type IntentOptional Attributes Name
class(rk5_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkc5 module subroutine rkc5(me, t, x, h, xf)

Cassity's Order 5 method

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkc5_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkl5 module subroutine rkl5(me, t, x, h, xf)

5th order Lawson

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkl5_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rklk5a module subroutine rklk5a(me, t, x, h, xf)

Luther and Konen's 5th order method (1)

Read more…

Arguments

Type IntentOptional Attributes Name
class(rklk5a_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rklk5b module subroutine rklk5b(me, t, x, h, xf)

Luther and Konen's 5th order method (2)

Read more…

Arguments

Type IntentOptional Attributes Name
class(rklk5b_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkb6 module subroutine rkb6(me, t, x, h, xf)

Butcher's 6th order method. 7 function evaluations.

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkb6_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rk7 module subroutine rk7(me, t, x, h, xf)

Take one Runge Kutta 7 integration step: t -> t+h (x -> xf)

Read more…

Arguments

Type IntentOptional Attributes Name
class(rk7_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rk8_10 module subroutine rk8_10(me, t, x, h, xf)

Take one Runge Kutta 8 integration step: t -> t+h (x -> xf) This is Formula (8-10) from Reference [1].

Read more…

Arguments

Type IntentOptional Attributes Name
class(rk8_10_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rk8_12 module subroutine rk8_12(me, t, x, h, xf)

8th order Shanks, 12 function evaluations.

Read more…

Arguments

Type IntentOptional Attributes Name
class(rk8_12_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkcv8 module subroutine rkcv8(me, t, x, h, xf)

Cooper-Verner 11 stage, 8th order Runge-Kutta method.

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkcv8_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkz10 module subroutine rkz10(me, t, x, h, xf)

Zhang 10th order

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkz10_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rko10 module subroutine rko10(me, t, x, h, xf)

Ono's 10th order method

Read more…

Arguments

Type IntentOptional Attributes Name
class(rko10_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h

module procedure /home/runner/work/rklib/rklib/doc/module/rklib_fixed_steps.html rkh10 module subroutine rkh10(me, t, x, h, xf)

Hairer 10th order method.

Read more…

Arguments

Type IntentOptional Attributes Name
class(rkh10_class), intent(inout) :: me
real(kind=wp), intent(in) :: t

initial time

real(kind=wp), intent(in), dimension(me%n) :: x

initial state

real(kind=wp), intent(in) :: h

time step

real(kind=wp), intent(out), dimension(me%n) :: xf

state at time t+h