21 "Executioner for evaluating steady-state simulations and their adjoint.");
32 params.
renameParam(
"system_names",
"forward_system",
"");
38 :
Steady(parameters), _adjoint_solve(*this)
48 _console <<
"\nCannot recover steady solves!\nExiting...\n" << std::endl;
68 _console <<
"Forward solve did not converge." << std::endl;
70 _console <<
"Starting Adjoint solve" << std::endl;
78 if (!adjoint_solve_converged)
79 _console <<
"Adjoint solve did not converge." << std::endl;
89 TIME_SECTION(
"final", 1,
"Executing Final Objects")
virtual void preExecute()
void timestepSetup() override
static InputParameters validParams()
virtual void postExecute()
AdjointSolve _adjoint_solve
The solver which computes the adjoint system.
virtual bool lastSolveConverged() const override
Copy of the functionality from Steady to keep track of whether the latest solve converged.
const ExecFlagType EXEC_TIMESTEP_END
virtual void advanceState()
virtual void execute(const ExecFlagType &exec_type)
bool _last_solve_converged
virtual void postExecute()
SteadyAndAdjoint(const InputParameters ¶meters)
registerMooseObject("OptimizationApp", SteadyAndAdjoint)
virtual bool solve() override
Solve the adjoint system with the following procedure:
static InputParameters validParams()
virtual void execute() override
This call is basically a copy from Steady without the AMR loop and with a call to the adjoint solver ...
const ConsoleStream _console
static InputParameters validParams()
bool execMultiApps(ExecFlagType type, bool auto_advance=true)
bool isRecovering() const
const ExecFlagType EXEC_FINAL
std::unique_ptr< FixedPointSolve > _fixed_point_solve
virtual void outputStep(ExecFlagType type)
const ExecFlagType EXEC_INITIAL