19 params.
addParam<
unsigned int>(
"free_power_iterations", 4,
"The number of free power iterations");
20 params.
set<
Real>(
"nl_abs_tol",
true) = 1.0e-06;
21 params.
set<
Real>(
"nl_rel_tol",
true) = 1e-50;
22 params.
set<
Real>(
"l_tol",
true) = 1e-2;
23 params.
addParam<
Real>(
"free_l_tol", 1e-2,
"Relative linear tolerance in free power iteration");
25 "output_after_power_iterations",
true,
"True to output solution after free power iterations");
31 _free_iter(getParam<unsigned
int>(
"free_power_iterations")),
32 _nl_abs_tol(getParam<
Real>(
"nl_abs_tol")),
33 _nl_rel_tol(getParam<
Real>(
"nl_rel_tol")),
34 _l_tol(getParam<
Real>(
"l_tol")),
35 _free_l_tol(getParam<
Real>(
"free_l_tol")),
36 _output_after_pi(getParam<bool>(
"output_after_power_iterations"))
39 "'NonlinearEigen' executioner is deprecated in favor of 'Eigenvalue' executioner.\n",
40 "Few parameters such as 'bx_norm', 'k0', 'free_l_tol', 'output_before_normalization' and " 41 "'output_after_power_iterations' are no longer supported.\n",
42 "However, 'Eigenvalue' executioner supports more solving options by interfacing SLEPc.\n",
43 "Most of the inputs will work by simply replacing the executioner type with 'Eigenvalue'.");
51 _console <<
"\nCannot recover NonlinearEigen solves!\nExiting...\n" << std::endl;
71 _console <<
" Free power iteration starts" << std::endl;
116 _console <<
" Nonlinear iteration starts" << std::endl;
const unsigned int & _free_iter
virtual void preExecute()
Override this for actions that should take place before execution.
void timestepSetup() override
registerMooseObject("MooseApp", NonlinearEigen)
virtual Real & time() const
static InputParameters validParams()
virtual void init() override
Initialize the executioner.
void mooseInfo(Args &&... args) const
virtual void preSolve()
Override this for actions that should take place before execution, called by PicardSolve.
virtual bool lastSolveConverged() const override
Whether or not the last solve converged.
virtual void onTimestepEnd() override
const ExecFlagType EXEC_TIMESTEP_END
PostprocessorValue & _eigenvalue
Storage for the eigenvalue computed by the executioner.
NonlinearEigen(const InputParameters ¶meters)
auto max(const L &left, const R &right)
virtual void advanceState()
Advance all of the state holding vectors / datastructures so that we can move to the next timestep...
virtual void execute(const ExecFlagType &exec_type)
Convenience function for performing execution of MOOSE systems.
virtual void execute() override
Pure virtual execute function MUST be overridden by children classes.
const ExecFlagType EXEC_TIMESTEP_BEGIN
This class provides reusable routines for eigenvalue executioners.
virtual bool nonlinearSolve(Real rel_tol, Real abs_tol, Real pfactor, Real &k)
Perform nonlinear solve with the initial guess of the solution.
MooseApp & _app
The MOOSE application this is associated with.
virtual int & timeStep() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void postSolve()
Override this for actions that should take place after execution, called by PicardSolve.
virtual void printEigenvalue()
Print eigenvalue.
static InputParameters validParams()
Constructor.
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
bool _last_solve_converged
virtual void postExecute() override
Override this for actions that should take place after the main solve.
virtual void init() override
Initialize the executioner.
bool isRecovering() const
Whether or not this is a "recover" calculation.
auto min(const L &left, const R &right)
void ErrorVector unsigned int
virtual void outputStep(ExecFlagType type)
Output the current step.
virtual bool inversePowerIteration(unsigned int min_iter, unsigned int max_iter, Real pfactor, bool cheb_on, Real tol_eig, bool echo, PostprocessorName xdiff, Real tol_x, Real &k, Real &initial_res)
Perform inverse power iterations with the initial guess of the solution.
const ExecFlagType EXEC_INITIAL