Go to the documentation of this file.
35 #ifndef solutionControl_H
36 #define solutionControl_H
76 const entry& dataDictEntry
126 virtual bool read(
const bool absTolOnly);
134 const word& fieldName,
135 const bool useRegEx =
true
158 const entry& solverPerfDictEntry,
171 const bool check =
true,
172 const bool force =
false
215 inline label
corr()
const;
247 virtual bool loop() = 0;
virtual const dictionary dict() const
Return the solution dictionary.
A keyword and a list of tokens is an 'entry'.
bool transonic() const
Flag to indicate to solve using transonic algorithm.
A class for handling words, derived from Foam::string.
virtual bool writeData(Ostream &) const
Dummy write for regIOobject.
virtual bool loop()=0
Main control loop.
Base class for solution control classes.
label corrNonOrtho_
Current non-orthogonal corrector loop index.
static bool maxTypeResidual(const fvMesh &fvmesh, const entry &solverPerfDictEntry, Pair< scalar > &residuals)
bool consistent() const
Flag to indicate to relax pressure using the.
List< fieldData > residualControl_
List of residual data per field.
label nNonOrthCorr_
Maximum number of non-orthogonal correctors.
A wordRe is a Foam::word, but can contain a regular expression for matching words or strings.
label corr_
Current corrector loop index.
virtual void storePrevIterFields() const
Store previous iteration fields.
virtual void setFirstIterFlag(const bool check=true, const bool force=false)
Set the firstIteration flag on the mesh data dictionary.
virtual label applyToField(const word &fieldName, const bool useRegEx=true) const
Return index of field in residualControl_ if present.
label corr() const
Current corrector loop index.
static void check(const int retVal, const char *what)
bool momentumPredictor_
Flag to indicate to solve for momentum.
const word algorithmName_
The dictionary name, e.g. SIMPLE, PIMPLE.
bool correctNonOrthogonal()
Non-orthogonal corrector loop.
bool finalNonOrthogonalIter() const
Helper function to identify final non-orthogonal iteration.
static Pair< scalar > maxResidual(const fvMesh &fvmesh, const entry &dataDictEntry)
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
label nNonOrthCorr() const
Maximum number of non-orthogonal correctors.
Mesh data needed to do the Finite Volume discretisation.
virtual bool read()
Read controls from fvSolution dictionary.
bool transonic_
Flag to indicate to solve using transonic algorithm.
TypeName("solutionControl")
Run-time type information.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
bool momentumPredictor() const
Flag to indicate to solve for momentum.
label corrNonOrtho() const
Current non-orthogonal corrector index.
Simple convenient storage of field residuals.
fvMesh & mesh_
Reference to the mesh database.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
bool consistent_
Flag to indicate to relax pressure using the.
bool frozenFlow_
Flag to indicate that the flow system of equations should not.
bool frozenFlow() const
Flag to indicate that the flow system of equations should not.
virtual bool criteriaSatisfied()=0
Return true if all convergence checks are satisfied.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual ~solutionControl()=default
Destructor.
void storePrevIter() const
Store previous iteration field for vol<Type>Fields.