25 "Eigenvalue solves a standard/generalized linear or nonlinear eigenvalue problem");
36 "_eigen_problem",
"This might happen if you don't have a mesh")),
37 _eigen_problem_solve(*this),
38 _system_time(getParam<
Real>(
"time")),
39 _time_step(_eigen_problem.timeStep()),
40 _time(_eigen_problem.time()),
41 _final_timer(registerTimedSection(
"final", 1))
47 #ifdef LIBMESH_HAVE_SLEPC 76 mooseError(
"You have specified time kernels in your eigenvalue simulation");
83 #ifdef LIBMESH_HAVE_SLEPC 88 _console <<
"\nCannot recover eigenvalue solves!\nExiting...\n" << std::endl;
110 #ifdef LIBMESH_ENABLE_AMR 114 for (
const auto r_step :
make_range(steps + 1))
116 #endif // LIBMESH_ENABLE_AMR 122 _console <<
"Aborting as solve did not converge" << std::endl;
137 #ifdef LIBMESH_ENABLE_AMR 161 mooseError(
"SLEPc is required for eigenvalue executioner, please use --download-slepc when " 162 "configuring PETSc ");
virtual void preExecute()
Override this for actions that should take place before execution.
void timestepSetup() override
virtual bool lastSolveConverged() const override
Whether or not the last solve converged.
static InputParameters validParams()
virtual void init() override
Initialize the executioner.
EigenProblemSolve _eigen_problem_solve
inner-most solve object to perform Newton solve with SLEPc
Eigenvalue executioner is used to drive the eigenvalue calculations.
virtual void postExecute()
Method called at the end of the simulation.
virtual void initialSetup() override
Method that should be executed once, before any solve calls.
void initEigenvector(const Real initial_value)
For nonlinear eigen solver, a good initial value can help convergence.
virtual void computeMarkers()
virtual void execute(const ExecFlagType &exec_type) override
Convenience function for performing execution of MOOSE systems.
const ExecFlagType EXEC_TIMESTEP_END
static InputParameters validParams()
bool isRestarting() const
Whether or not this is a "restart" calculation.
bool _last_solve_converged
virtual void advanceState()
Advance all of the state holding vectors / datastructures so that we can move to the next timestep...
virtual bool containsTimeKernel() override
If the system has a kernel that corresponds to a time derivative.
static InputParameters validParams()
virtual void execute() override
Pure virtual execute function MUST be overridden by children classes.
virtual void checkIntegrity()
Eigenvalue executioner does not allow time kernels.
Eigenvalue(const InputParameters ¶meters)
Constructor.
const ExecFlagType EXEC_PRE_MULTIAPP_SETUP
virtual void computeIndicators()
virtual void postExecute()
Override this for actions that should take place after execution.
void initialSetup() override
Executioners are objects that do the actual work of solving your problem.
NonlinearSystemBase & getNonlinearSystemBase(const unsigned int sys_num)
MooseApp & _app
The MOOSE application this is associated with.
registerMooseObject("MooseApp", Eigenvalue)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
unsigned int getSteps() const
Pull out the number of steps previously set by calling init()
IntRange< T > make_range(T beg, T end)
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
EigenProblem & _eigen_problem
bool execMultiApps(ExecFlagType type, bool auto_advance=true)
Execute the MultiApps associated with the ExecFlagType.
Problem for solving eigenvalue problems.
Adaptivity & adaptivity()
bool isRecovering() const
Whether or not this is a "recover" calculation.
const ExecFlagType EXEC_FINAL
std::unique_ptr< FixedPointSolve > _fixed_point_solve
virtual void outputStep(ExecFlagType type)
Output the current step.
const ExecFlagType EXEC_INITIAL