Runge-Kutta integration.
Note
The default real kind (wp
) can be
changed using optional preprocessor flags.
This library was built with real kind:
real(kind=real64)
[8 bytes]
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | parameter | :: | rk_module_rk | = | real64 |
real kind used by this module [8 bytes] |
integer, | private, | parameter | :: | wp | = | rk_module_rk |
local copy of |
real(kind=wp), | private, | parameter | :: | zero | = | 0.0_wp | |
integer, | private, | parameter | :: | max_error_len | = | 100 |
max size of error message strings |
integer, | public, | parameter | :: | RKLIB_ERROR_TOO_MANY_STEPS | = | -10 | |
integer, | public, | parameter | :: | RKLIB_ERROR_INVALID_RTOL_SIZE | = | -9 | |
integer, | public, | parameter | :: | RKLIB_ERROR_INVALID_ATOL_SIZE | = | -8 | |
integer, | public, | parameter | :: | RKLIB_ERROR_INVALID_H | = | -7 | |
integer, | public, | parameter | :: | RKLIB_ERROR_USER_STOPPED | = | -6 | |
integer, | public, | parameter | :: | RKLIB_ERROR_MIN_STEP_SIZE | = | -5 | |
integer, | public, | parameter | :: | RKLIB_ERROR_TOO_MANY_REDUCTIONS | = | -4 | |
integer, | public, | parameter | :: | RKLIB_ERROR_INVALID_HINIT_METHOD | = | -3 | |
integer, | public, | parameter | :: | RKLIB_ERROR_G_NOT_ASSOCIATED | = | -2 | |
integer, | public, | parameter | :: | RKLIB_ERROR_F_NOT_ASSOCIATED | = | -1 | |
integer, | public, | parameter | :: | RKLIB_ERROR_NONE | = | 0 | |
character(len=max_error_len), | private, | parameter, dimension(RKLIB_ERROR_TOO_MANY_STEPS:RKLIB_ERROR_NONE) | :: | rklib_error_messages | = | ['Too many steps ', 'Invalid size for rtol array ', 'Invalid size for atol array ', 'Step size cannot be zero ', 'User stopped the integration ', 'Minimum step size reached ', 'Too many attempts to reduce step size ', 'Invalid initial step size estimation method ', 'The event procedure g is not associated ', 'The function procedure f is not associated ', 'Success '] |
Status message strings that go with the status codes.
The index in this array is the |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(euler_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(midpoint_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(heun_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkssp22_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk3_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkssp33_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkssp53_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk4_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rks4_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkr4_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkls44_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkls54_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkssp54_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rks5_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk5_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkc5_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkl5_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rklk5a_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rklk5b_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkb6_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk7_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk8_10_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkcv8_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk8_12_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkz10_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rko10_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkh10_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkbs32_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkssp43_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf45_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkck54_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkdp54_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkt54_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rks54_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkpp54_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkpp54b_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkbs54_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkss54_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkdp65_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkc65_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktp64_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv65e_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv65r_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv65_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dverk65_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktf65_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktp75_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktmy7_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktmy7s_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv76e_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv76r_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkss76_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf78_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv78_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dverk78_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkdp85_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktp86_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkdp87_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv87e_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv87r_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkev87_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkk87_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf89_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv89_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkt98a_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv98e_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv98r_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rks98_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf108_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkc108_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkb109_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rks1110a_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf1210_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rko129_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf1412_class), | intent(in) | :: | me |
properties of the method
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkbs32_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkssp43_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf45_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkck54_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkdp54_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkt54_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rks54_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkpp54_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkpp54b_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkbs54_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkss54_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkdp65_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkc65_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktp64_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv65e_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv65r_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv65_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dverk65_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktf65_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktp75_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktmy7_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktmy7s_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv76e_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv76r_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkss76_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf78_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv78_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dverk78_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkdp85_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rktp86_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkdp87_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv87e_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv87r_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkev87_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkk87_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf89_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv89_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkt98a_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv98e_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkv98r_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rks98_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf108_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkc108_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkb109_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rks1110a_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf1210_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rko129_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rkf1412_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 |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate for |
Vector norm function. Must return a value .
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(:) | :: | x |
a vector |
the magnitude of the vector
Returns the properties of the method.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(in) | :: | me |
properties of the method
routine called before integration begins to set up internal variables.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(inout) | :: | me |
derivative function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t |
time |
||
real(kind=wp), | intent(in), | dimension(:) | :: | x |
state vector |
|
real(kind=wp), | intent(out), | dimension(:) | :: | xdot |
derivative of state vector |
event function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t |
time |
||
real(kind=wp), | intent(in), | dimension(:) | :: | x |
state vector |
|
real(kind=wp), | intent(out) | :: | g |
g(t,x). The goal is to stop the integration when g=0. |
report function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t |
time |
||
real(kind=wp), | intent(in), | dimension(:) | :: | x |
state vector |
rk step function for the fixed-step methods.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_fixed_step_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t |
initial time |
||
real(kind=wp), | intent(in), | dimension(me%n) | :: | x |
initial state vector |
|
real(kind=wp), | intent(in) | :: | h |
time step |
||
real(kind=wp), | intent(out), | dimension(me%n) | :: | xf |
final state vector |
rk step function for the variable-step methods.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t |
initial time |
||
real(kind=wp), | intent(in), | dimension(me%n) | :: | x |
initial state vector |
|
real(kind=wp), | intent(in) | :: | h |
time step |
||
real(kind=wp), | intent(out), | dimension(me%n) | :: | xf |
final state vector |
|
real(kind=wp), | intent(out), | dimension(me%n) | :: | xerr |
truncation error estimate |
Properties of an RK method.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | order | = | 0 |
order of the method |
|
integer, | public | :: | number_of_stages | = | 0 |
number of stages |
|
logical, | public | :: | fsal | = | .false. |
if it is a FSAL method |
|
logical, | public | :: | low_storage | = | .false. |
if it is a LS method |
|
logical, | public | :: | strong_stability_preserving | = | .false. |
if it is a SSP method |
|
integer, | public | :: | number_of_registers | = | 0 |
number of |
|
real(kind=wp), | public | :: | cfl | = | zero |
Courant-Friedrichs-Lewy number |
|
character(len=:), | public, | allocatable | :: | short_name |
short version of the method name |
||
character(len=:), | public, | allocatable | :: | long_name |
longer description of the method |
Algorithms for adjusting the step size for variable-step Runge-Kutta integrators.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | private | :: | fixed_step_mode | = | .false. |
if true, then the method runs in fixed step mode with not error estimation |
|
real(kind=wp), | private | :: | hmax | = | 1.0e+6_wp |
maximum allowed step size |
|
real(kind=wp), | private | :: | hmin | = | 1.0e-6_wp |
minimum allowed step size |
|
real(kind=wp), | private | :: | hfactor_reject | = | 0.5_wp |
minimum allowed factor for decreasing step size after rejected step |
|
real(kind=wp), | private | :: | hfactor_accept | = | 2.0_wp |
maximum allowed factor for increasing step size after accepted step |
|
integer, | private | :: | accept_mode | = | 2 |
method to determine if step is accepted [1,2] |
|
integer, | private | :: | max_attempts | = | 10000 |
maximum number of attempts to decrease step size before giving up |
|
logical, | private | :: | relative_err | = | .false. |
to use |
|
real(kind=wp), | private | :: | safety_factor | = | 0.9_wp |
for |
|
integer, | private | :: | p_exponent_offset | = | 1 |
|
|
procedure(norm_func), | private, | nopass, pointer | :: | norm | => | maxval_func |
routine for computing the norm of the state |
procedure, public :: initialize => stepsize_class_constructor | |
procedure, public :: compute_stepsize | |
procedure, public :: destroy => destroy_stepsize_class |
main integration class
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | istatus | = | 0 |
status code |
|
logical, | private | :: | stopped | = | .false. |
if user has stopped the integration in |
|
integer, | private | :: | num_steps | = | 0 |
number of accepted steps taken |
|
integer, | private | :: | max_number_of_steps | = | huge(1) |
maximum number of steps to take |
|
integer, | private | :: | report_rate | = | 1 |
how often to call report function:
|
|
logical, | private | :: | stop_on_errors | = | .false. |
if true, then errors will stop the program |
|
integer, | private | :: | n | = | 0 |
user specified number of variables |
|
procedure(deriv_func), | private, | pointer | :: | f | => | null() |
user-specified derivative function |
procedure(report_func), | private, | pointer | :: | report | => | null() |
user-specified report function |
procedure(event_func), | private, | pointer | :: | g | => | null() |
event function (stop when this is zero) |
type(root_method), | private | :: | solver | = | root_method_brent |
the root solver method to use for even finding |
|
real(kind=wp), | private, | dimension(:,:), allocatable | :: | funcs |
matrix to store the function
evalutaions in the step function.
this will be size ( |
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, private :: init => initialize_rk_class | |
procedure, private :: begin => begin_integration_rk_class | |
procedure, private :: raise_exception | |
procedure, private :: clear_exception | |
procedure, private :: export_point | |
procedure(begin_func), private, deferred :: begin_integration | |
procedure(properties_func), public, deferred :: properties |
fixed step size class
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure(properties_func), public, deferred :: properties | |
procedure(step_func_fixed), private, deferred :: step | ../../ the step routine for the rk method |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, private :: begin_integration => begin_integration_rk_fixed_step_class |
Main integration class for variable step size Runge-Kutta methods
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(stepsize_class), | private | :: | stepsize_method |
the method for varying the step size |
|||
real(kind=wp), | private, | dimension(:), allocatable | :: | rtol |
relative tolerance ( |
||
real(kind=wp), | private, | dimension(:), allocatable | :: | atol |
absolute tolerance ( |
||
integer, | private | :: | hinit_method | = | 1 |
if automatically computing the inital step size, which
method to use. 1 = |
|
integer, | private | :: | num_rejected_steps | = | 0 |
number of rejected steps |
|
real(kind=wp), | private | :: | last_accepted_step_size | = | zero |
the last accepted step size |
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure(properties_func), public, deferred :: properties | |
procedure(step_func_variable), private, deferred :: step | ../../ the step routine for the rk method |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, private :: hstart | ../../ for automatically computing the initial step size [this is from DDEABM] |
procedure, private :: hinit | ../../ for automatically computing the initial step size [this is from DOP853] |
procedure, private :: begin_integration => begin_integration_rk_variable_step_class | |
procedure, private :: compute_initial_step | |
procedure, private :: order | ../../ returns |
a variable step method with the "first same as last" (FSAL) property.
Cache the last f
and x
vectors to use for the next step.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=wp), | private, | allocatable | :: | t_saved |
cached |
||
real(kind=wp), | private, | dimension(:), allocatable | :: | x_saved |
cached |
||
real(kind=wp), | private, | dimension(:), allocatable | :: | f_saved |
cached |
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure(properties_func), public, deferred :: properties | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: destroy_fsal_cache | |
procedure, public :: check_fsal_cache | |
procedure, public :: set_fsal_cache |
Euler
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => euler | |
procedure, public :: properties => euler_properties |
Midpoint
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => midpoint | |
procedure, public :: properties => midpoint_properties |
Heun
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => heun | |
procedure, public :: properties => heun_properties |
2-stage, 2nd order TVD Runge-Kutta Shu-Osher
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkssp22 | |
procedure, public :: properties => rkssp22_properties |
3th order Runge-Kutta
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rk3 | |
procedure, public :: properties => rk3_properties |
3-stage, 3rd order TVD Runge-Kutta Shu-Osher
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkssp33 | |
procedure, public :: properties => rkssp33_properties |
5-stage, 3rd order SSP Runge-Kutta Spiteri-Ruuth
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkssp53 | |
procedure, public :: properties => rkssp53_properties |
Classic 4th order Runge-Kutta
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rk4 | |
procedure, public :: properties => rk4_properties |
4th order Runge-Kutta Shanks
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rks4 | |
procedure, public :: properties => rks4_properties |
4th order Runge-Kutta Ralston
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkr4 | |
procedure, public :: properties => rkr4_properties |
4-stage, 4th order low storage non-TVD Runge-Kutta Jiang-Shu
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkls44 | |
procedure, public :: properties => rkls44_properties |
5-stage, 4th order low storage Runge-Kutta Carpenter-Kennedy
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkls54 | |
procedure, public :: properties => rkls54_properties |
5-stage, 4th order SSP Runge-Kutta Spiteri-Ruuth
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkssp54 | |
procedure, public :: properties => rkssp54_properties |
5th order Runge-Kutta Shanks
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rks5 | |
procedure, public :: properties => rks5_properties |
5th order Runge-Kutta
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rk5 | |
procedure, public :: properties => rk5_properties |
5th order Runge-Kutta Cassity
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkc5 | |
procedure, public :: properties => rkc5_properties |
5th order Runge-Kutta Lawson
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkl5 | |
procedure, public :: properties => rkl5_properties |
5th order Runge-Kutta Luther-Konen 1
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rklk5a | |
procedure, public :: properties => rklk5a_properties |
5th order Runge-Kutta Luther-Konen 2
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rklk5b | |
procedure, public :: properties => rklk5b_properties |
6th order Runge-Kutta Butcher
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkb6 | |
procedure, public :: properties => rkb6_properties |
7th order Runge-Kutta Shanks
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rk7 | |
procedure, public :: properties => rk7_properties |
10-stage, 8th order Runge-Kutta Shanks
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rk8_10 | |
procedure, public :: properties => rk8_10_properties |
11-stage, 8th order Runge-Kutta Cooper-Verner
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkcv8 | |
procedure, public :: properties => rkcv8_properties |
12-stage, 8th order Runge-Kutta Shanks
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rk8_12 | |
procedure, public :: properties => rk8_12_properties |
10th order Runge-Kutta Zhang
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkz10 | |
procedure, public :: properties => rkz10_properties |
10th order Runge-Kutta Ono
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rko10 | |
procedure, public :: properties => rko10_properties |
10th order Runge-Kutta Hairer
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_fixed_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_fixed_step | |
procedure, public :: integrate_to_event => integrate_to_event_fixed_step | |
procedure, public :: step => rkh10 | |
procedure, public :: properties => rkh10_properties |
Bogacki & Shampine 3(2)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: destroy_fsal_cache | |
procedure, public :: check_fsal_cache | |
procedure, public :: set_fsal_cache | |
procedure, public :: step => rkbs32 | |
procedure, public :: properties => rkbs32_properties |
4-stage, 3rd order SSP
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkssp43 | |
procedure, public :: properties => rkssp43_properties |
Fehlberg 4(5)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkf45 | |
procedure, public :: properties => rkf45_properties |
Cash & Karp 5(4)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkck54 | |
procedure, public :: properties => rkck54_properties |
Dormand-Prince 5(4)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: destroy_fsal_cache | |
procedure, public :: check_fsal_cache | |
procedure, public :: set_fsal_cache | |
procedure, public :: step => rkdp54 | |
procedure, public :: properties => rkdp54_properties |
Tsitouras 5(4)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: destroy_fsal_cache | |
procedure, public :: check_fsal_cache | |
procedure, public :: set_fsal_cache | |
procedure, public :: step => rkt54 | |
procedure, public :: properties => rkt54_properties |
Stepanov 5(4)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: destroy_fsal_cache | |
procedure, public :: check_fsal_cache | |
procedure, public :: set_fsal_cache | |
procedure, public :: step => rks54 | |
procedure, public :: properties => rks54_properties |
Papakostas-PapaGeorgiou 5(4)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: destroy_fsal_cache | |
procedure, public :: check_fsal_cache | |
procedure, public :: set_fsal_cache | |
procedure, public :: step => rkpp54 | |
procedure, public :: properties => rkpp54_properties |
Papakostas-PapaGeorgiou 5(4) b
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: destroy_fsal_cache | |
procedure, public :: check_fsal_cache | |
procedure, public :: set_fsal_cache | |
procedure, public :: step => rkpp54b | |
procedure, public :: properties => rkpp54b_properties |
Bogacki & Shampine 5(4)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkbs54 | |
procedure, public :: properties => rkbs54_properties |
Sharp & Smart 5(4)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkss54 | |
procedure, public :: properties => rkss54_properties |
Dormand-Prince 6(5)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkdp65 | |
procedure, public :: properties => rkdp65_properties |
Calvo 6(5)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkc65 | |
procedure, public :: properties => rkc65_properties |
Tsitouras & Papakostas NEW6(4)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rktp64 | |
procedure, public :: properties => rktp64_properties |
Verner efficient (9,6(5))
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: destroy_fsal_cache | |
procedure, public :: check_fsal_cache | |
procedure, public :: set_fsal_cache | |
procedure, public :: step => rkv65e | |
procedure, public :: properties => rkv65e_properties |
Verner robust (9,6(5))
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: destroy_fsal_cache | |
procedure, public :: check_fsal_cache | |
procedure, public :: set_fsal_cache | |
procedure, public :: step => rkv65r | |
procedure, public :: properties => rkv65r_properties |
Verner 6(5)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkv65 | |
procedure, public :: properties => rkv65_properties |
Verner 6(5) "DVERK"
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => dverk65 | |
procedure, public :: properties => dverk65_properties |
Tsitouras & Famelis 6(5)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: destroy_fsal_cache | |
procedure, public :: check_fsal_cache | |
procedure, public :: set_fsal_cache | |
procedure, public :: step => rktf65 | |
procedure, public :: properties => rktf65_properties |
Tsitouras & Papakostas NEW7(5)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rktp75 | |
procedure, public :: properties => rktp75_properties |
7th order Tanaka-Muramatsu-Yamashita
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rktmy7 | |
procedure, public :: properties => rktmy7_properties |
7th order Stable Tanaka-Muramatsu-Yamashita
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rktmy7s | |
procedure, public :: properties => rktmy7s_properties |
Verner efficient (10:7(6))
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkv76e | |
procedure, public :: properties => rkv76e_properties |
Verner robust (10:7(6))
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkv76r | |
procedure, public :: properties => rkv76r_properties |
Sharp & Smart 7(6)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkss76 | |
procedure, public :: properties => rkss76_properties |
Fehlberg 7(8)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkf78 | |
procedure, public :: properties => rkf78_properties |
Verner 7(8)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkv78 | |
procedure, public :: properties => rkv78_properties |
Verner "Maple" 7(8)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => dverk78 | |
procedure, public :: properties => dverk78_properties |
Dormand-Prince 8(5)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkdp85 | |
procedure, public :: properties => rkdp85_properties |
Tsitouras & Papakostas NEW8(6)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rktp86 | |
procedure, public :: properties => rktp86_properties |
Dormand & Prince RK8(7)13M
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkdp87 | |
procedure, public :: properties => rkdp87_properties |
Verner efficient (8)7
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkv87e | |
procedure, public :: properties => rkv87e_properties |
Verner robust (8)7
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkv87r | |
procedure, public :: properties => rkv87r_properties |
Enright-Verner (8)7
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkev87 | |
procedure, public :: properties => rkev87_properties |
Kovalnogov-Fedorov-Karpukhina-Simos-Tsitouras 8(7)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkk87 | |
procedure, public :: properties => rkk87_properties |
Fehlberg 8(9)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkf89 | |
procedure, public :: properties => rkf89_properties |
Verner 8(9)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkv89 | |
procedure, public :: properties => rkv89_properties |
Tsitouras 9(8) A
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkt98a | |
procedure, public :: properties => rkt98a_properties |
Verner efficient (16:9(8))
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkv98e | |
procedure, public :: properties => rkv98e_properties |
Verner robust (16:9(8))
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkv98r | |
procedure, public :: properties => rkv98r_properties |
Sharp 9(8)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rks98 | |
procedure, public :: properties => rks98_properties |
Feagin 8(10)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkf108 | |
procedure, public :: properties => rkf108_properties |
Curtis 10(8)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkc108 | |
procedure, public :: properties => rkc108_properties |
Baker 10(9)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkb109 | |
procedure, public :: properties => rkb109_properties |
Stone 11(10)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rks1110a | |
procedure, public :: properties => rks1110a_properties |
Feagin 12(10)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkf1210 | |
procedure, public :: properties => rkf1210_properties |
Ono 12(9)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rko129 | |
procedure, public :: properties => rko129_properties |
Feagin 14(12)
procedure, public :: destroy | ../../ destructor |
procedure, public :: stop => rk_class_stop | ../../ user-callable method to stop the integration |
procedure, public :: status => rk_class_status | ../../ get status code and message |
procedure, public :: failed | |
procedure, public :: initialize => initialize_variable_step | ../../ initialize the class (set n,f, and report) |
procedure, public :: integrate => integrate_variable_step | |
procedure, public :: integrate_to_event => integrate_to_event_variable_step | |
procedure, public :: info => info_variable_step | |
procedure, public :: step => rkf1412 | |
procedure, public :: properties => rkf1412_properties |
Returns the order of the RK method
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_class), | intent(in) | :: | me |
order of the method
Returns true if there was an error. Can use rk_class_status to get more info.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(in) | :: | me |
Use intrinsic norm2(x)
for computing the vector norm.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(:) | :: | x |
Use maxval(abs(x))
for computing the vector norm.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(:) | :: | x |
Compute the initial step size.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t0 |
initial time |
||
real(kind=wp), | intent(in) | :: | tf |
final time |
||
real(kind=wp), | dimension(me%n) | :: | x0 |
initial state |
||
real(kind=wp), | intent(in) | :: | h0 |
user-input initial step size (if zero, then one is computed) |
step size to use
computation of an initial step size guess
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | x | |||
real(kind=wp), | intent(in), | dimension(:) | :: | y |
dimension(n) |
|
real(kind=wp), | intent(in) | :: | posneg |
posneg = sign(1.0_wp,xend-x) |
||
real(kind=wp), | intent(in), | dimension(:) | :: | f0 |
dimension(n) |
|
real(kind=wp), | intent(in) | :: | hmax | |||
real(kind=wp), | intent(in), | dimension(:) | :: | atol | ||
real(kind=wp), | intent(in), | dimension(:) | :: | rtol |
Clear any exception.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(inout) | :: | me |
Raise an exception.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(inout) | :: | me | |||
integer, | intent(in) | :: | error_code |
the error to raise |
User-callable method to stop the integration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(inout) | :: | me |
Get the status of an integration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(in) | :: | me | |||
integer, | intent(out), | optional | :: | istatus |
status code ( |
|
character(len=:), | intent(out), | optional, | allocatable | :: | message |
status message |
Wrapper for exporting points during integration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t | |||
real(kind=wp), | intent(in), | dimension(:) | :: | x | ||
logical, | intent(in), | optional | :: | first_or_last |
if this is the first or last point (always reported) |
Destructor for the FSAL variables.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_fsal_class), | intent(inout) | :: | me |
Check the FSAL cache.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_fsal_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t | |||
real(kind=wp), | intent(in), | dimension(:) | :: | x | ||
real(kind=wp), | intent(out), | dimension(:) | :: | f |
Compute the function and add it to the FSAL cache.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_fsal_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t | |||
real(kind=wp), | intent(in), | dimension(:) | :: | x | ||
real(kind=wp), | intent(out), | dimension(:) | :: | f |
Initialize the rk_class.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(inout) | :: | me | |||
integer, | intent(in) | :: | n |
number of variables |
||
procedure(deriv_func) | :: | f |
derivative function |
|||
procedure(report_func), | optional | :: | report |
for reporting the steps |
||
procedure(event_func), | optional | :: | g |
for stopping at an event |
||
logical, | intent(in), | optional | :: | stop_on_errors |
stop the program for any errors (default is False) |
|
integer, | intent(in), | optional | :: | max_number_of_steps |
max number of steps allowed |
|
integer, | intent(in), | optional | :: | report_rate |
how often to call report function:
|
|
class(root_method), | intent(in), | optional | :: | solver |
the root-finding method to use for even finding.
if not present, then |
Begin an integration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_class), | intent(inout) | :: | me |
Begin a rk_fixed_step_class integration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_fixed_step_class), | intent(inout) | :: | me |
Initialize the rk_fixed_step_class.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_fixed_step_class), | intent(inout) | :: | me | |||
integer, | intent(in) | :: | n |
number of variables |
||
procedure(deriv_func) | :: | f |
derivative function |
|||
procedure(report_func), | optional | :: | report |
for reporting the steps |
||
procedure(event_func), | optional | :: | g |
for stopping at an event |
||
logical, | intent(in), | optional | :: | stop_on_errors |
stop the program for any errors (default is False) |
|
integer, | intent(in), | optional | :: | max_number_of_steps |
max number of steps allowed |
|
integer, | intent(in), | optional | :: | report_rate |
how often to call report function:
|
|
class(root_method), | intent(in), | optional | :: | solver |
the root-finding method to use for even finding.
if not present, then |
Main integration routine for the rk_class.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_fixed_step_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t0 |
initial time |
||
real(kind=wp), | intent(in), | dimension(:) | :: | x0 |
initial state |
|
real(kind=wp), | intent(in) | :: | h |
abs(time step) |
||
real(kind=wp), | intent(in) | :: | tf |
final time |
||
real(kind=wp), | intent(out), | dimension(:) | :: | xf |
final state |
Event-finding integration routine for the rk_class. Integrates until g(t,x)=0, or until t=tf (whichever happens first).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_fixed_step_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t0 |
initial time |
||
real(kind=wp), | intent(in), | dimension(:) | :: | x0 |
initial state |
|
real(kind=wp), | intent(in) | :: | h |
abs(time step) |
||
real(kind=wp), | intent(in) | :: | tmax |
max final time if event not located |
||
real(kind=wp), | intent(in) | :: | tol |
function tolerance for root finding |
||
real(kind=wp), | intent(out) | :: | tf |
actual final time reached |
||
real(kind=wp), | intent(out), | dimension(:) | :: | xf |
final state (at tf) |
|
real(kind=wp), | intent(out) | :: | gf |
g value at tf |
Constructor for a stepsize_class.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(stepsize_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in), | optional | :: | hmin |
minimum allowed step size (>0) |
|
real(kind=wp), | intent(in), | optional | :: | hmax |
maximum allowed step size (>0) |
|
real(kind=wp), | intent(in), | optional | :: | hfactor_reject |
minimum allowed factor for decreasing step size after rejected step (>0) |
|
real(kind=wp), | intent(in), | optional | :: | hfactor_accept |
maximum allowed factor for decreasing step size after accepted step (>0) |
|
procedure(norm_func), | optional | :: | norm |
the user-specified function |
||
integer, | intent(in), | optional | :: | accept_mode |
method to determine if step is accepted [1,2] |
|
logical, | intent(in), | optional | :: | relative_err |
to use |
|
real(kind=wp), | intent(in), | optional | :: | safety_factor |
for |
|
integer, | intent(in), | optional | :: | p_exponent_offset |
p + this value in the exponent (0 or 1) |
|
integer, | intent(in), | optional | :: | max_attempts |
max step size change attempts after rejected step |
|
logical, | intent(in), | optional | :: | fixed_step_mode |
if true, then the method runs in
fixed step mode with not error estimation.
All the other inputs are ignored. Note that
this requires a |
Destructor for stepsize_class.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(stepsize_class), | intent(out) | :: | me |
Compute the new step size using the specific method.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(stepsize_class), | intent(in) | :: | me | |||
integer, | intent(in) | :: | n |
number of variables |
||
real(kind=wp), | intent(in) | :: | h |
current step size (<>0) |
||
real(kind=wp), | intent(in), | dimension(n) | :: | tol |
abs error tolerance (>0) |
|
real(kind=wp), | intent(in), | dimension(n) | :: | err |
truncation error estimate (>0) |
|
integer, | intent(in) | :: | p |
order of the method |
||
real(kind=wp), | intent(out) | :: | hnew |
new step size (<>0) |
||
logical, | intent(out) | :: | accept |
if the step is accepted |
Begin a rk_variable_step_class integration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_class), | intent(inout) | :: | me |
Initialize the rk_variable_step_class.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_class), | intent(inout) | :: | me | |||
integer, | intent(in) | :: | n |
number of equations |
||
procedure(deriv_func) | :: | f |
derivative function |
|||
real(kind=wp), | intent(in), | optional, | dimension(:) | :: | rtol |
relative tolerance (if size=1,
then same tol used for all
equations). If not present, a default
of |
real(kind=wp), | intent(in), | optional, | dimension(:) | :: | atol |
absolute tolerance (if size=1,
then same tol used for all
equations). If not present, a default
of |
type(stepsize_class), | intent(in), | optional | :: | stepsize_method |
method for varying the step size |
|
integer, | intent(in), | optional | :: | hinit_method |
which method (1 or 2) to use for
automatic initial step size
computation.
1 = use |
|
procedure(report_func), | optional | :: | report |
for reporting the steps |
||
procedure(event_func), | optional | :: | g |
for stopping at an event |
||
logical, | intent(in), | optional | :: | stop_on_errors |
stop the program for any errors (default is False) |
|
integer, | intent(in), | optional | :: | max_number_of_steps |
max number of steps allowed |
|
integer, | intent(in), | optional | :: | report_rate |
how often to call report function:
|
|
class(root_method), | intent(in), | optional | :: | solver |
the root-finding method to use for even finding.
if not present, then |
Return some info about the integration.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_class), | intent(in) | :: | me | |||
integer, | intent(out), | optional | :: | num_steps |
number of steps taken |
|
integer, | intent(out), | optional | :: | num_rejected_steps |
number of rejected steps |
|
real(kind=wp), | intent(out), | optional | :: | last_accepted_step_size |
the last accepted step size
|
Main integration routine for the rk_variable_step_class.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t0 |
initial time |
||
real(kind=wp), | intent(in), | dimension(:) | :: | x0 |
initial state |
|
real(kind=wp), | intent(in) | :: | h |
initial abs(time step) |
||
real(kind=wp), | intent(in) | :: | tf |
final time |
||
real(kind=wp), | intent(out), | dimension(:) | :: | xf |
final state |
Event-finding integration routine for the rk_variable_step_class. Integrates until g(t,x)=0, or until t=tf (whichever happens first).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | t0 |
initial time |
||
real(kind=wp), | intent(in), | dimension(me%n) | :: | x0 |
initial state |
|
real(kind=wp), | intent(in) | :: | h |
abs(time step) |
||
real(kind=wp), | intent(in) | :: | tmax |
max final time if event not located |
||
real(kind=wp), | intent(in) | :: | tol |
function tolerance for root finding |
||
real(kind=wp), | intent(out) | :: | tf |
actual final time reached |
||
real(kind=wp), | intent(out), | dimension(me%n) | :: | xf |
final state (at tf) |
|
real(kind=wp), | intent(out) | :: | gf |
g value at tf |
Computes a starting step size to be used in solving initial value problems in ordinary differential equations.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(rk_variable_step_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | a |
the initial point of integration. |
||
real(kind=wp), | intent(in) | :: | b |
a value of the independent variable used to define
the direction of integration. a reasonable choice is to
set |
||
real(kind=wp), | intent(in), | dimension(me%n) | :: | y |
the vector of initial values of the |
|
real(kind=wp), | intent(in), | dimension(me%n) | :: | yprime |
the vector of derivatives of the |
|
real(kind=wp), | intent(in), | dimension(me%n) | :: | etol |
the vector of error tolerances corresponding to
the |
|
real(kind=wp), | intent(out) | :: | h |
appropriate starting step size to be attempted by the differential equation method. |