Returns an rk_scheme instance describing the scheme with id matching the passed id value.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | id |
type(rk_scheme_type) function get_rk_scheme_by_id(id) result(scheme)
use mp, only: mp_abort
implicit none
integer, intent(in) :: id
select case(id)
case(rk_dopri%id)
scheme = get_rk_scheme(rk_dopri)
case(rk_f45%id)
scheme = get_rk_scheme(rk_f45)
case(rk_cashkarp%id)
scheme = get_rk_scheme(rk_cashkarp)
case(rk_heun%id)
scheme = get_rk_scheme(rk_heun)
case(rk_ralston%id)
scheme = get_rk_scheme(rk_ralston)
case(rk_midpoint%id)
scheme = get_rk_scheme(rk_midpoint)
case(rk_bs23%id)
scheme = get_rk_scheme(rk_bs23)
case(rk_bs45%id)
scheme = get_rk_scheme(rk_bs45)
case(rk_euler%id)
scheme = get_rk_scheme(rk_euler)
case default
call mp_abort("Invalid RK scheme id passed to get_rk_scheme_by_id", .true.)
end select
end function get_rk_scheme_by_id