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")
const ExecFlagType EXEC_TIMESTEP_END
const ExecFlagType EXEC_INITIAL
const ExecFlagType EXEC_FINAL
registerMooseObject("OptimizationApp", SteadyAndAdjoint)
virtual bool solve() override
Solve the adjoint system with the following procedure:
static InputParameters validParams()
const ConsoleStream _console
virtual void preExecute()
virtual void postExecute()
std::unique_ptr< FixedPointSolve > _fixed_point_solve
virtual void advanceState()
virtual void postExecute()
bool execMultiApps(ExecFlagType type, bool auto_advance=true)
void timestepSetup() override
virtual void execute(const ExecFlagType &exec_type)
virtual void outputStep(ExecFlagType type)
bool isRecovering() const
virtual bool lastSolveConverged() const override
Copy of the functionality from Steady to keep track of whether the latest solve converged.
SteadyAndAdjoint(const InputParameters ¶meters)
virtual void execute() override
This call is basically a copy from Steady without the AMR loop and with a call to the adjoint solver ...
AdjointSolve _adjoint_solve
The solver which computes the adjoint system.
bool _last_solve_converged
static InputParameters validParams()
static InputParameters validParams()