37 #ifndef convergenceControl_H 38 #define convergenceControl_H 73 const word& fieldName,
85 template<
class Res
idualData>
88 const word& fieldName,
90 const bool useRegEx=
true 99 const word& fieldName,
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
static void getInitialResiduals(const fvMesh &mesh, const word &fieldName, const label solvei, ITstream &data, scalar &r0, scalar &r)
Get the initial residuals for the first and the i-th solves in this.
virtual ~convergenceControl()
Destructor.
A class for handling words, derived from string.
const solutionControl & control_
Reference to the solution control.
Convergence control class. Provides methods to check the convergence of the time loop against an abso...
A wordRe is a word, but can also have a regular expression for matching words.
virtual bool criteriaSatisfied() const =0
Return true if all convergence checks are satisfied.
Database for solution data, solver performance and other reduced data.
bool converged()
Flag to indicate whether convergance has been reached.
static label residualControlIndex(const word &fieldName, const List< ResidualData > &residualControl, const bool useRegEx=true)
Return the index of the named field in residual control data, or -1.
virtual bool hasResidualControls() const =0
Return true if residual controls are present.
Mesh data needed to do the Finite Volume discretisation.
TypeName("convergenceControl")
Run-time type information.
bool endIfConverged(Time &time)
End the run if convergance has been reached.
static void getInitialTypeResiduals(const fvMesh &mesh, const word &fieldName, const label solvei, ITstream &data, scalar &r0, scalar &r)
Get the initial residuals for the first and the i-th solves in this.