- dtThe timestep size between solves
C++ Type:double
Controllable:No
Description:The timestep size between solves
SolutionTimeAdaptiveDT
Compute simulation timestep based on actual solution time.
The idea is to find the simulation time step such as the computational cost of a step is the lowest. The computational cost of a time step solve depends on many factors, this time stepper studies the time step dependence.
This time stepper tries to decrease the simulation time in every time step by reacting to changes in computational time. If the computational cost of a time step increases two steps in a row, then it will either lower or increase the time step, depending on what it did for those two previous steps. For example, if it increased the time steps twice in a row and the solve time increased, then it will attempt to decrease the time steps, for at least two steps, until the dynamic is reversed.
When changing the time step, it is modified using this equation
The sign of the update is chosen as explained above.
Example input syntax
[Executioner]
type = Transient
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 0.1
[../]
scheme = 'implicit-euler'
solve_type = 'PJFNK'
start_time = 0.0
num_steps = 5
[]
(../moose/test/tests/executioners/executioner/sln-time-adapt.i)Input Parameters
- adapt_logFalseOutput adaptive time step log
Default:False
C++ Type:bool
Controllable:No
Description:Output adaptive time step log
- cutback_factor_at_failure0.5Factor to apply to timestep if a time step fails to converge.
Default:0.5
C++ Type:double
Controllable:No
Description:Factor to apply to timestep if a time step fails to converge.
- initial_direction1Direction for the first step. 1 for up... -1 for down.
Default:1
C++ Type:int
Controllable:No
Description:Direction for the first step. 1 for up... -1 for down.
- percent_change0.1Fraction to change the timestep by. Should be between 0 and 1
Default:0.1
C++ Type:double
Controllable:No
Description:Fraction to change the timestep by. Should be between 0 and 1
- reset_dtFalseUse when restarting a calculation to force a change in dt.
Default:False
C++ Type:bool
Controllable:No
Description:Use when restarting a calculation to force a change in dt.
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTruewhether or not to enable the time stepper
Default:True
C++ Type:bool
Controllable:Yes
Description:whether or not to enable the time stepper