Module to do Runge-Kutta stepping
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pf_ark_t), | intent(inout) | :: | this | |||
class(pf_encap_t), | intent(in) | :: | y | |||
real(kind=pfdp), | intent(in) | :: | t | |||
integer, | intent(in) | :: | level_index | |||
class(pf_encap_t), | intent(inout) | :: | f | |||
integer, | intent(in) | :: | piece |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pf_ark_t), | intent(inout) | :: | this | |||
class(pf_encap_t), | intent(inout) | :: | y | |||
real(kind=pfdp), | intent(in) | :: | t | |||
real(kind=pfdp), | intent(in) | :: | dtq | |||
class(pf_encap_t), | intent(in) | :: | rhs | |||
integer, | intent(in) | :: | level_index | |||
class(pf_encap_t), | intent(inout) | :: | f | |||
integer, | intent(in) | :: | piece |
IMEX or additive or semi-implicit Runge-Kutta stepper type
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | npieces | ||||
integer, | public | :: | order | ||||
real(kind=pfdp), | public, | allocatable | :: | AmatI(:,:) | |||
real(kind=pfdp), | public, | allocatable | :: | AmatE(:,:) | |||
real(kind=pfdp), | public, | allocatable | :: | cvec(:) | |||
real(kind=pfdp), | public, | allocatable | :: | bvecI(:) | |||
real(kind=pfdp), | public, | allocatable | :: | bvecE(:) | |||
real(kind=pfdp), | public, | allocatable | :: | QtilI(:,:) | |||
logical, | public | :: | explicit | = | .true. | ||
logical, | public | :: | implicit | = | .true. | ||
integer, | public | :: | nstages |
procedure(pf_f_eval_p), public :: f_eval | |
procedure(pf_f_comp_p), public :: f_comp | |
procedure, public :: do_n_steps => ark_do_n_steps | |
procedure, public :: initialize => ark_initialize | |
procedure, public :: destroy => ark_destroy |
Perform N steps of ark on level level_index and set qend appropriately. Assign pointer to appropriate level
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pf_ark_t), | intent(inout) | :: | this | |||
type(pf_pfasst_t), | intent(inout), | target | :: | pf | ||
integer, | intent(in) | :: | level_index | Level of the index to step on |
||
real(kind=pfdp), | intent(in) | :: | t0 | Time at start of time interval |
||
real(kind=pfdp), | intent(in) | :: | big_dt | Size of time interval to integrato on |
||
integer, | intent(in) | :: | nsteps_rk | Number of steps to use |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pf_ark_t), | intent(inout) | :: | this | |||
class(pf_level_t), | intent(inout) | :: | lev |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pf_ark_t), | intent(inout) | :: | this | |||
class(pf_level_t), | intent(inout) | :: | lev |