Constructs an RK integrator with initial evaluated model indices and correspoding term groups if those are present. If neither order or tableau are provided defaults to forward Euler time-stepping. Possible order values are 1,2,3,4 where 2 is the midpoint method, 3 is SSPRK3, and 4 is the standard RK4 method.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ExplicitRKIntegrator), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | modelList |
List of models this integrator will be responsible for |
type(IntArray), | intent(in), | optional, | dimension(:) | :: | termGroups |
Term groups this integrator is responsible for - should conform with modelList |
integer(kind=ik), | intent(in), | optional | :: | order |
Runge-Kutta order |
|
type(BTableau), | intent(in), | optional | :: | tableau |
User-defined Butcher tableau |
|
logical, | intent(in), | optional | :: | evolvesTimeVar |
Set to true if this integrator is allowed to change the "time" varible (if present in passed variable container) |
|
class(TimestepController), | intent(in), | optional | :: | dtController |
User-supplied timestep controller object |
|
real(kind=rk), | intent(in), | optional | :: | initialTimestep |
Default timestep |