75 CLASS(timedisc_cashkarp),
INTENT(INOUT) :: this
76 CLASS(mesh_base),
INTENT(INOUT) :: Mesh
77 CLASS(physics_base),
INTENT(IN) :: Physics
78 TYPE(Dict_TYP),
POINTER :: config, IO
81 CALL getattr(config,
"order", this%order, 5)
84 SELECT CASE(this%GetOrder())
88 CALL this%Error(
"InitTimedisc_cashkarp",
"time order must be 5")
98 CLASS(timedisc_cashkarp) :: this
100 SELECT CASE(this%GetOrder())
102 this%b_high = (/ 37.0/378.0, 0.0, 250.0/621.0, 125.0/594.0, 0.0, 512.0/1771.0 /)
103 this%b_low = (/ 2825.0/27648.0, 0.0, 18575.0/48384.0, 13525.0/55296.0, &
104 277.0/14336.0, 0.25 /)
105 this%c = (/ 0.0, 0.2, 0.3, 0.6, 1.0, 7.0/8.0 /)
106 this%a = transpose(reshape((/ &
107 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
108 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, &
109 0.075, 0.225, 0.0, 0.0, 0.0, 0.0, &
110 0.3, -0.9, 1.2, 0.0, 0.0, 0.0, &
111 -11.0/54.0 , 2.5, -70.0/27.0, 35.0/27.0, 0.0, 0.0, &
112 1631.0/55296.0, 175.0/512.0, 575.0/13824.0, &
113 44275.0/110592.0, 253.0/4096.0, 0.0/),(/this%m,this%m/)))
115 CALL this%Error(
"timedisc_cashkarp::SetButcherTableau",
"only order 5 supported")
122 CLASS(timedisc_cashkarp) :: this
124 CALL this%timedisc_rkfehlberg%Finalize()
generic source terms module providing functionaly common to all source terms
character(len=32), parameter odesolver_name
subroutine inittimedisc_cashkarp(this, Mesh, Physics, config, IO)
Dictionary for generic data types.
subroutines for Runge-Kutta Fehlberg method
base module for numerical flux functions
subroutine finalize(this)
integer, parameter, public cash_karp
subroutine setbutchertableau(this)
set coefficients for Cash-Karp scheme
subroutines for embedded Runge-Kutta method