- dtThe timestep size between solves
C++ Type:double
Unit:(no unit assumed)
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
Unit:(no unit assumed)
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
Unit:(no unit assumed)
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
Unit:(no unit assumed)
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
Unit:(no unit assumed)
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
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
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
Unit:(no unit assumed)
Controllable:Yes
Description:whether or not to enable the time stepper