20 params.
addParam<
unsigned int>(
"min_iterations", 0,
"Minimum number of iterations");
21 params.
addParam<
unsigned int>(
"max_iterations", 50,
"Maximum number of iterations");
23 "converge_at_max_iterations",
false,
"Converge at 'max_iterations' instead of diverging");
32 _min_iterations(getParam<unsigned
int>(
"min_iterations")),
33 _max_iterations(getParam<unsigned
int>(
"max_iterations")),
34 _converge_at_max_iterations(getParam<bool>(
"converge_at_max_iterations"))
37 mooseError(
"'max_iterations' must be >= 'min_iterations'.");
45 std::ostringstream oss;
53 oss <<
"Converged due to iterations (" << iter <<
") >= max iterations (" 60 oss <<
"Diverged due to iterations (" << iter <<
") >= max iterations (" 73 oss <<
"Still iterating because iterations (" << iter <<
") < min iterations (" virtual MooseConvergenceStatus checkConvergenceInner(unsigned int iter)
Inner check of convergence.
virtual MooseConvergenceStatus checkConvergence(unsigned int iter) override final
Returns convergence status.
registerMooseObject("MooseApp", IterationCountConvergence)
void verboseOutput(std::ostringstream &oss)
Outputs the stream to the console if verbose output is enabled.
static InputParameters validParams()
Base class for convergence criteria.
const unsigned int _min_iterations
Minimum number of iterations.
MooseConvergenceStatus
Status returned by calls to checkConvergence.
static InputParameters validParams()
IterationCountConvergence(const InputParameters ¶meters)
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 bool _converge_at_max_iterations
Whether to converge at the maximum number of iterations.
const unsigned int _max_iterations
Maximum number of iterations.
void ErrorVector unsigned int
Checks convergence based on the iteration count.