Houses abstract interface for optional timestep controller object
Calculate timestep in accordance with timestep controller rules and using current timestep and input variables
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(TimestepController), | intent(inout) | :: | this | |||
class(VariableContainer), | intent(in) | :: | inputVars |
Variable container used to calculate timestep |
||
real(kind=rk), | intent(in) | :: | currentTimestep |
Current timestep to be used if the controller rescales timesteps |
Abstract timestep controller object
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
procedure, public :: isDefined => isDefinedObject | |
procedure, public :: makeDefined => makeDefinedObject | |
procedure, public :: makeUndefined => makeUndefinedObject | |
procedure(timestepCalc), public, deferred :: evaluateTimestep |