28 "Add the composition time stepper if multiple time steppers have been created.");
41 std::vector<const TimeStepper *> timesteppers;
44 for (
const auto ts : timesteppers)
47 "You cannot construct a ", ts->type(),
"; this object is for internal use only");
51 if (timesteppers.size() > 1)
53 const auto final_timestepper =
"CompositionDT";
63 mooseAssert(transient,
"The transient executioner does not exist");
67 final_timestepper, final_timestepper, new_params,
false);
registerMooseAction("MooseApp", ComposeTimeStepperAction, "compose_time_stepper")
static InputParameters validParams()
MooseApp & _app
The MOOSE application this is associated with.
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Add the composition time stepper as final time stepper.
static InputParameters validParams()
ComposeTimeStepperAction(const InputParameters ¶ms)
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
A TimeStepper that takes time steppers as inputs and computes the minimum time step size among all ti...
static InputParameters compositionDTParams()
InputParameters getValidParams(const std::string &name) const
Get valid parameters for the object.
Executioner * getExecutioner() const
Retrieve the Executioner for this App.
const InputParameters & _pars
The object's parameters.
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Factory & _factory
The Factory associated with the MooseApp.
Base class for time stepping.
Base class for transient executioners that use a FixedPointSolve solve object for multiapp-main app i...