singleRegionConvergenceControl Class Reference

Single-region-specific derivation of the convergence control class. More...

Inheritance diagram for singleRegionConvergenceControl:
Collaboration diagram for singleRegionConvergenceControl:

Public Member Functions

 TypeName ("singleRegionConvergenceControl")
 Run-time type information. More...
 
 singleRegionConvergenceControl (const singleRegionSolutionControl &control)
 Construct from a solution control. More...
 
virtual ~singleRegionConvergenceControl ()
 Destructor. More...
 
bool readResidualControls ()
 Read residual controls. More...
 
void printResidualControls () const
 Print the residual controls. More...
 
virtual bool hasResidualControls () const
 Return true if residual controls are present. More...
 
virtual bool criteriaSatisfied () const
 Return true if all convergence checks are satisfied. More...
 
- Public Member Functions inherited from convergenceControl
 TypeName ("convergenceControl")
 Run-time type information. More...
 
 convergenceControl (const solutionControl &control)
 Construct from a solution control. More...
 
 convergenceControl (const convergenceControl &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~convergenceControl ()
 Destructor. More...
 
bool converged ()
 Flag to indicate whether convergence has been reached. More...
 
bool endIfConverged (Time &time)
 End the run if convergence has been reached. More...
 
void operator= (const convergenceControl &)=delete
 Disallow default bitwise assignment. More...
 
template<class ResidualData >
Foam::label residualControlIndex (const word &fieldName, const List< ResidualData > &residualControl, const bool useRegEx)
 

Protected Attributes

const fvMeshmesh_
 Reference to the mesh. More...
 
List< residualDataresidualControl_
 List of residual data per field. More...
 
- Protected Attributes inherited from convergenceControl
const solutionControlcontrol_
 Reference to the solution control. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from convergenceControl
static DynamicList< wordgetFieldNames (const fvMesh &mesh)
 Get the list of names of the fields. More...
 
static void getInitialResiduals (const fvMesh &mesh, const word &fieldName, const label solvei, scalar &r0, scalar &r)
 Get the initial residuals for the first and the i-th solves in this. More...
 
template<class ResidualData >
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. More...
 
template<class Type >
static void getFieldTypeNames (const fvMesh &mesh, DynamicList< word > &fieldNames)
 Append the of names of the fields of this Type to the given list. More...
 
template<class Type >
static void getInitialTypeResiduals (const fvMesh &mesh, const word &fieldName, const label solvei, scalar &r0, scalar &r)
 Get the initial residuals for the first and the i-th solves in this. More...
 

Detailed Description

Single-region-specific derivation of the convergence control class.

Source files

Definition at line 49 of file singleRegionConvergenceControl.H.

Constructor & Destructor Documentation

◆ singleRegionConvergenceControl()

Construct from a solution control.

Definition at line 40 of file singleRegionConvergenceControl.C.

◆ ~singleRegionConvergenceControl()

Destructor.

Definition at line 52 of file singleRegionConvergenceControl.C.

Member Function Documentation

◆ TypeName()

TypeName ( "singleRegionConvergenceControl"  )

Run-time type information.

◆ readResidualControls()

bool readResidualControls ( )

Read residual controls.

Definition at line 58 of file singleRegionConvergenceControl.C.

References convergenceControl::residualData::absTol, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, forAllConstIter, Foam::Info, convergenceControl::residualData::name, and Foam::nl.

Referenced by simpleControl::read().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ printResidualControls()

void printResidualControls ( ) const

Print the residual controls.

Definition at line 115 of file singleRegionConvergenceControl.C.

References Foam::endl(), forAll, Foam::Info, and Foam::nl.

Referenced by pimpleControl::pimpleControl(), and simpleControl::simpleControl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasResidualControls()

bool hasResidualControls ( ) const
virtual

Return true if residual controls are present.

Implements convergenceControl.

Definition at line 133 of file singleRegionConvergenceControl.C.

◆ criteriaSatisfied()

bool criteriaSatisfied ( ) const
virtual

Return true if all convergence checks are satisfied.

Implements convergenceControl.

Definition at line 139 of file singleRegionConvergenceControl.C.

References Foam::endl(), fieldNames, forAll, and Foam::Info.

Here is the call graph for this function:

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

Reference to the mesh.

Definition at line 58 of file singleRegionConvergenceControl.H.

◆ residualControl_

List<residualData> residualControl_
protected

List of residual data per field.

Definition at line 61 of file singleRegionConvergenceControl.H.


The documentation for this class was generated from the following files: