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)
45 if (dynamic_cast<const CompositionDT *>(ts))
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);
Add the composition time stepper as final time stepper.
static InputParameters compositionDTParams()
const InputParameters & _pars
The object's parameters.
Factory & _factory
The Factory associated with the MooseApp.
InputParameters getValidParams(const std::string &name) const
Get valid parameters for the object.
Base class for time stepping.
static InputParameters validParams()
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
registerMooseAction("MooseApp", ComposeTimeStepperAction, "compose_time_stepper")
Base class for transient executioners that use a FixedPointSolve solve object for multiapp-main app i...
MooseApp & _app
The MOOSE application this is associated with.
Executioner * getExecutioner() const
Retrieve the Executioner for this App.
ComposeTimeStepperAction(const InputParameters ¶ms)
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
static InputParameters validParams()