https://mooseframework.inl.gov
DefaultNonlinearConvergence.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "DefaultConvergenceBase.h"
13 #include "MooseApp.h"
14 #include "Executioner.h"
15 
20 {
21 public:
24 
26 
27  virtual void checkIterationType(IterationType it_type) const override;
28 
29  virtual MooseConvergenceStatus checkConvergence(unsigned int iter) override;
30 
31 protected:
40  virtual bool checkRelativeConvergence(const unsigned int it,
41  const Real fnorm,
42  const Real ref_norm,
43  const Real rel_tol,
44  const Real abs_tol,
45  std::ostringstream & oss);
46 
50  virtual void nonlinearConvergenceSetup() {}
51 
52 protected:
61  unsigned int _nl_forced_its;
63  const unsigned int _nl_max_pingpong;
65  unsigned int _nl_current_pingpong;
66 };
virtual void nonlinearConvergenceSetup()
Performs setup necessary for each call to checkConvergence.
const Real _nl_rel_div_tol
Nonlinear relative divergence tolerance.
Base class for default convergence criteria.
DefaultNonlinearConvergence(const InputParameters &parameters)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual bool checkRelativeConvergence(const unsigned int it, const Real fnorm, const Real ref_norm, const Real rel_tol, const Real abs_tol, std::ostringstream &oss)
Check the relative convergence of the nonlinear solution.
virtual MooseConvergenceStatus checkConvergence(unsigned int iter) override
Returns convergence status.
const Real _nl_abs_div_tol
Nonlinear absolute divergence tolerance.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
static InputParameters residualConvergenceParams()
const unsigned int _nl_max_pingpong
Maximum number of nonlinear ping-pong iterations for a solve.
MooseConvergenceStatus
Status returned by calls to checkConvergence.
Definition: Convergence.h:33
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
unsigned int _nl_current_pingpong
Current number of nonlinear ping-pong iterations for the current solve.
Class for containing MooseEnum item information.
Definition: MooseEnumItem.h:18
unsigned int _nl_forced_its
Number of iterations to force.
const InputParameters & parameters() const
Get the parameters of the object.
const Real _div_threshold
Divergence threshold value.
Default nonlinear convergence criteria for FEProblem.
virtual void checkIterationType(IterationType it_type) const override
Perform checks related to the iteration type.