35 virtual void init()
override;
37 virtual void execute()
override;
42 virtual void takeStep(Real input_dt = -1.0);
80 virtual void endStep(Real input_time = -1.0);
301 std::ostringstream & diag,
A system that holds auxiliary variables.
Executioners are objects that do the actual work of solving your problem.
std::unique_ptr< FixedPointSolve > _fixed_point_solve
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
const InputParameters & parameters() const
Get the parameters of the object.
Class for containing MooseEnum item information.
Base class for time stepping.
Base class for transient executioners that use a FixedPointSolve solve object for multiapp-main app i...
bool _testing_restep
Whether or not the last timestep we solved is being repeated with –test-restep.
bool & _last_solve_converged
Whether or not the last solve converged.
std::optional< Real > _test_restep_time
If the time is greater than this then we fail and repeat if –test-restep is enabled.
void setTimeStepper(TimeStepper &ts)
Set the timestepper to use.
virtual void incrementStepOrReject()
This is where the solve step is actually incremented.
FEProblemBase & _problem
Here for backward compatibility.
Real _time_interval_output_interval
const TimeStepper * getTimeStepper() const
std::set< Real > & syncTimes()
Get the set of sync times.
virtual Real relativeSolutionDifferenceNorm(bool check_aux) const =0
The relative L2 norm of the difference between solution and old solution vector.
virtual void takeStep(Real input_dt=-1.0)
Do whatever is necessary to advance one step.
static InputParameters defaultSteadyStateConvergenceParams()
Real & dtMin()
Get the minimal dt.
Moose::TimeIntegratorType getTimeScheme() const
Get the time scheme used.
Real getStartTime() const
Return the start time.
Real & _time_old
Previous time.
TimeStepper * getTimeStepper()
Pointer to the TimeStepper.
virtual void setTimeOld(Real t)
Set the old time.
virtual Real getTime() const
Get the current time.
Real getEndTime() const
Get the end time.
virtual void setTimestepTolerance(const Real &tolerance)
Set the timestep tolerance.
virtual std::set< TimeIntegrator * > getTimeIntegrators() const =0
Get the time integrators (time integration scheme) used Note that because some systems might be stead...
virtual bool lastSolveConverged() const override
Whether or not the last solve converged.
void setupTimeIntegrator()
bool atSyncPoint()
Is the current step at a sync point (sync times, time interval, target time, etc)?
Real & _time
Current time.
const bool _error_on_dtmin
This parameter controls how the system will deal with _dt <= _dtmin If true, the time stepper is expe...
virtual void endStep(Real input_time=-1.0)
virtual Real getTargetTime()
Get the current target time.
virtual SolveObject * timeStepSolveObject()
Return the solve object wrapped by time stepper.
Moose::TimeIntegratorType _time_scheme
void constrainDTFromMultiApp(Real &dt_cur, std::ostringstream &diag, const ExecFlagType &execute_on) const
Constrain the timestep dt_cur by looking at the timesteps for the MultiApps on execute_on.
std::set< Real > & _sync_times
virtual Real computeConstrainedDT()
virtual void setTime(Real t)
Set the current time.
virtual void execute() override
Pure virtual execute function MUST be overridden by children classes.
virtual bool keepGoing()
Transient loop will continue as long as this keeps returning true.
bool convergedToSteadyState() const
Determines whether the problem has converged to steady state.
virtual void preExecute() override
Override this for actions that should take place before execution.
bool _xfem_repeat_step
Whether step should be repeated due to xfem modifying the mesh.
Real & timestepTol()
Get the timestep tolerance.
const bool _steady_state_detection
Steady state detection variables:
Real unconstrainedDT()
Get the unconstrained dt.
void parentOutputPositionChanged() override
Can be used by subclasses to call parentOutputPositionChanged() on the underlying FEProblemBase.
TimeStepper * _time_stepper
Real & dtMax()
Get the maximum dt.
Real & endTime()
Get a modifiable reference to the end time.
static InputParameters validParams()
virtual void init() override
Initialize the executioner.
virtual void setTargetTime(Real target_time)
Can be used to set the next "target time" which is a time to nail perfectly.
std::optional< int > _test_restep_step
The timestep we fail and repeat if –test-restep is enabled.
AuxiliarySystem & _aux
Reference to auxiliary system base for faster access.
virtual std::string getTimeStepperName() const override
Get the name of the timestepper.
const Real _steady_state_start_time
Real computeSolutionChangeNorm(bool check_aux, bool normalize_by_dt) const
Compute the relative L2 norm of the change in the solution.
int & _t_step
Current timestep.
virtual void forceNumSteps(const unsigned int num_steps)
Set the number of time steps.
bool & _time_interval
if to use time interval output
virtual void estimateTimeError()
virtual void postExecute() override
Override this for actions that should take place after execution.
virtual std::vector< std::string > getTimeIntegratorNames() const override
Get the name of the time integrator (time integration scheme) used.
Real & _dt
Current delta t... or timestep size.
Real _next_interval_output_time
TimeIntegratorType
Time integrators.