A small helper module for storing and providing RK schemes
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(rk_scheme_id_type), | public, | parameter | :: | rk_dopri | = | rk_scheme_id_type(id=1, name='dopri') |
Dormand-Prince 45 method |
type(rk_scheme_id_type), | public, | parameter | :: | rk_f45 | = | rk_scheme_id_type(id=2, name='rkf45') |
Runge-Kutta-Fehlberg 45 method |
type(rk_scheme_id_type), | public, | parameter | :: | rk_cashkarp | = | rk_scheme_id_type(id=3, name='cashkarp') |
Cash-Karp 45 method |
type(rk_scheme_id_type), | public, | parameter | :: | rk_heun | = | rk_scheme_id_type(id=4, name='heun') |
Heun-Euler 12 method |
type(rk_scheme_id_type), | public, | parameter | :: | rk_ralston | = | rk_scheme_id_type(id=5, name='ralston') |
Ralston-Euler 12 method |
type(rk_scheme_id_type), | public, | parameter | :: | rk_midpoint | = | rk_scheme_id_type(id=6, name='midpoint') |
Midpoint-Euler 12 method |
type(rk_scheme_id_type), | public, | parameter | :: | rk_bs23 | = | rk_scheme_id_type(id=7, name='bs23') |
Bogacki-Shampine 23 method |
type(rk_scheme_id_type), | public, | parameter | :: | rk_bs45 | = | rk_scheme_id_type(id=8, name='bs45') |
Bogacki-Shampine 45 method |
type(rk_scheme_id_type), | public, | parameter | :: | rk_euler | = | rk_scheme_id_type(id=9, name='euler') |
Single step Euler |
Internal named type to represent scheme ids
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | id | ||||
character(len=30), | private | :: | name |
Public type storing the data for a particular RK scheme
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | number_of_stages | ||||
integer, | public | :: | order | ||||
character(len=30), | public | :: | name | ||||
real, | public, | dimension(:), allocatable | :: | lower_order_coeffs | |||
real, | public, | dimension(:), allocatable | :: | high_order_coeffs | |||
real, | public, | dimension(:), allocatable | :: | time_points | |||
real, | public, | dimension(:, :), allocatable | :: | coeffs | |||
logical, | public | :: | follow_high_order |
procedure , public , :: validate => rk_scheme_validate Function |
Returns an array of text_option values representing the known rk schemes, mapping names to integer ids
Returns an rk_scheme instance describing the scheme with id matching the passed id value.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | id |
Returns an rk_scheme instance describing the scheme represented by the passed variant type.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(rk_scheme_id_type), | intent(in) | :: | variant |
Perform a small check of the consistency. Returns an error code built from bitwise flags to give information about which checks, if any, failed. Success is repesented by zero.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_scheme_type), | intent(in) | :: | self |