Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pimpleControl Class Reference

PIMPLE control class to supply convergence information/checks for the PIMPLE loop. More...

Inheritance diagram for pimpleControl:
Inheritance graph
[legend]
Collaboration diagram for pimpleControl:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("pimpleControl")
 Run-time type information. More...
 
 pimpleControl (fvMesh &mesh, const word &dictName="PIMPLE")
 Construct from mesh and the name of control sub-dictionary. More...
 
virtual ~pimpleControl ()
 Destructor. More...
 
label nCorrPIMPLE () const
 Maximum number of PIMPLE correctors. More...
 
label nCorrPISO () const
 Maximum number of PISO correctors. More...
 
label corrPISO () const
 Current PISO corrector index. More...
 
bool SIMPLErho () const
 Flag to indicate whether to update density in SIMPLE. More...
 
virtual bool loop ()
 PIMPLE loop. More...
 
bool correct ()
 Pressure corrector loop control. More...
 
bool storeInitialResiduals () const
 Return true to store the intial residuals. More...
 
bool firstIter () const
 Return true for first PIMPLE (outer) iteration. More...
 
bool finalIter () const
 Return true fore final PIMPLE (outer) iteration. More...
 
bool finalInnerIter () const
 Return true for final inner iteration. More...
 
bool solveFlow () const
 Return true to solve for flow. More...
 
bool turbCorr () const
 Return true to solve for turbulence. More...
 
- Public Member Functions inherited from solutionControl
 TypeName ("solutionControl")
 Run-time type information. More...
 
 solutionControl (fvMesh &mesh, const word &algorithmName)
 Construct from mesh. More...
 
virtual ~solutionControl ()
 Destructor. More...
 
const dictionarydict () const
 Return the solution dictionary. More...
 
label corr () const
 Current corrector loop index. More...
 
label corrNonOrtho () const
 Current non-orthogonal corrector index. More...
 
label nNonOrthCorr () const
 Maximum number of non-orthogonal correctors. More...
 
bool finalNonOrthogonalIter () const
 Helper function to identify final non-orthogonal iteration. More...
 
bool momentumPredictor () const
 Flag to indicate to solve for momentum. More...
 
bool transonic () const
 Flag to indicate to solve using transonic algorithm. More...
 
bool consistent () const
 Flag to indicate to relax pressure using the. More...
 
bool correctNonOrthogonal ()
 Non-orthogonal corrector loop. More...
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 Runtime type information. More...
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from name, instance, registry, io options. More...
 
 IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 Construct from name, instance, local, registry, io options. More...
 
 IOobject (const fileName &path, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 Construct from path, registry, io options. More...
 
 IOobject (const IOobject &io, const objectRegistry &registry)
 Construct from copy resetting registry. More...
 
 IOobject (const IOobject &io, const word &name)
 Construct from copy resetting name. More...
 
autoPtr< IOobjectclone () const
 Clone. More...
 
autoPtr< IOobjectclone (const objectRegistry &registry) const
 Clone resetting registry. More...
 
virtual ~IOobject ()
 Destructor. More...
 
const Timetime () const
 Return time. More...
 
const objectRegistrydb () const
 Return the local objectRegistry. More...
 
const wordname () const
 Return name. More...
 
const wordheaderClassName () const
 Return name of the class name read from header. More...
 
wordheaderClassName ()
 Return name of the class name read from header. More...
 
stringnote ()
 Return non-constant access to the optional note. More...
 
const stringnote () const
 Return the optional note. More...
 
virtual void rename (const word &newName)
 Rename. More...
 
bool & registerObject ()
 Register object created from this IOobject with registry if true. More...
 
bool registerObject () const
 Register object created from this IOobject with registry if true. More...
 
bool & globalObject ()
 Is object same for all processors. More...
 
bool globalObject () const
 Is object same for all processors. More...
 
readOption readOpt () const
 
readOptionreadOpt ()
 
writeOption writeOpt () const
 
writeOptionwriteOpt ()
 
word group () const
 Return group (extension part of name) More...
 
word member () const
 Return member (name without the extension) More...
 
const fileNamerootPath () const
 
const fileNamecaseName () const
 
const fileNameinstance () const
 
fileNameinstance ()
 
const fileNamelocal () const
 
fileName path () const
 Return complete path. More...
 
fileName path (const word &instance, const fileName &local="") const
 Return complete path with alternative instance and local. More...
 
fileName objectPath () const
 Return complete path + object name. More...
 
fileName localFilePath (const word &typeName) const
 Helper for filePath that searches locally. More...
 
fileName globalFilePath (const word &typeName) const
 Helper for filePath that searches up if in parallel. More...
 
bool readHeader (Istream &)
 Read header. More...
 
template<class Type >
bool typeHeaderOk (const bool checkType=true)
 Read header (uses typeFilePath to find file) and check header. More...
 
template<class Type >
void warnNoRereading () const
 Helper: warn that type does not support re-reading. More...
 
bool writeHeader (Ostream &) const
 Write header. More...
 
bool writeHeader (Ostream &, const word &objectType) const
 Write header. Allow override of type. More...
 
bool good () const
 
bool bad () const
 
InfoProxy< IOobjectinfo () const
 Return info proxy. More...
 
void operator= (const IOobject &)
 
template<class Name >
Foam::word groupName (Name name, const word &group)
 

Protected Member Functions

virtual void read ()
 Read controls from fvSolution dictionary. More...
 
virtual bool criteriaSatisfied ()
 Return true if all convergence checks are satisfied. More...
 
- Protected Member Functions inherited from solutionControl
virtual void read (const bool absTolOnly)
 Read controls from fvSolution dictionary. More...
 
virtual label applyToField (const word &fieldName, const bool useRegEx=true) const
 Return index of field in residualControl_ if present. More...
 
virtual void storePrevIterFields () const
 Store previous iteration fields. More...
 
template<class Type >
void storePrevIter () const
 Store previous iteration field for vol<Type>Fields. More...
 
template<class Type >
void maxTypeResidual (const word &fieldName, ITstream &data, scalar &firstRes, scalar &lastRes) const
 
scalar maxResidual (const word &fieldName, ITstream &data, scalar &lastRes) const
 
- Protected Member Functions inherited from IOobject
void setBad (const string &)
 Set the object state to bad. More...
 

Protected Attributes

bool solveFlow_
 Flag to indicate whether to solve for the flow. More...
 
label nCorrPIMPLE_
 Maximum number of PIMPLE correctors. More...
 
label nCorrPISO_
 Maximum number of PISO correctors. More...
 
label corrPISO_
 Current PISO corrector. More...
 
bool SIMPLErho_
 Flag to indicate whether to update density in SIMPLE. More...
 
bool turbOnFinalIterOnly_
 Flag to indicate whether to only solve turbulence on final iter. More...
 
bool converged_
 Converged flag. More...
 
- Protected Attributes inherited from solutionControl
fvMeshmesh_
 Reference to the mesh database. More...
 
List< fieldDataresidualControl_
 List of residual data per field. More...
 
const word algorithmName_
 The dictionary name, e.g. SIMPLE, PIMPLE. More...
 
label nNonOrthCorr_
 Maximum number of non-orthogonal correctors. More...
 
bool momentumPredictor_
 Flag to indicate to solve for momentum. More...
 
bool transonic_
 Flag to indicate to solve using transonic algorithm. More...
 
bool consistent_
 Flag to indicate to relax pressure using the. More...
 
label corr_
 Current corrector loop index. More...
 
label corrNonOrtho_
 Current non-orthogonal corrector loop index. More...
 

Additional Inherited Members

- Public Types inherited from IOobject
enum  objectState { GOOD, BAD }
 Enumeration defining the valid states of an IOobject. More...
 
enum  readOption { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ }
 Enumeration defining the read options. More...
 
enum  writeOption { AUTO_WRITE = 0, NO_WRITE = 1 }
 Enumeration defining the write options. More...
 
enum  fileCheckTypes { timeStamp, timeStampMaster, inotify, inotifyMaster }
 Enumeration defining the file checking options. More...
 
- Static Public Member Functions inherited from IOobject
static bool fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name)
 Split path into instance, local, name components. More...
 
template<class Name >
static word groupName (Name name, const word &group)
 
template<class Stream >
static Stream & writeBanner (Stream &os, bool noHint=false)
 Write the standard OpenFOAM file/dictionary banner. More...
 
template<class Stream >
static Stream & writeDivider (Stream &os)
 Write the standard file section divider. More...
 
template<class Stream >
static Stream & writeEndDivider (Stream &os)
 Write the standard end file divider. More...
 
- Static Public Attributes inherited from IOobject
static const NamedEnum< fileCheckTypes, 4 > fileCheckTypesNames
 
static fileCheckTypes fileModificationChecking
 Type of file modification checking. More...
 

Detailed Description

PIMPLE control class to supply convergence information/checks for the PIMPLE loop.

May also be used to for PISO-based algorithms as PISO controls are a sub-set of PIMPLE controls.

Definition at line 52 of file pimpleControl.H.

Constructor & Destructor Documentation

◆ pimpleControl()

pimpleControl ( fvMesh mesh,
const word dictName = "PIMPLE" 
)

Construct from mesh and the name of control sub-dictionary.

Definition at line 125 of file pimpleControl.C.

References solutionControl::algorithmName_, Foam::endl(), forAll, Foam::Info, pimpleControl::nCorrPIMPLE_, Foam::nl, pimpleControl::read(), solutionControl::residualControl_, and token::TAB.

Here is the call graph for this function:

◆ ~pimpleControl()

~pimpleControl ( )
virtual

Destructor.

Definition at line 171 of file pimpleControl.C.

Member Function Documentation

◆ read()

void read ( )
protectedvirtual

Read controls from fvSolution dictionary.

Reimplemented from solutionControl.

Definition at line 39 of file pimpleControl.C.

References dict, dictionary::lookupOrDefault(), pimpleDict, and solutionControl::read().

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

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

◆ criteriaSatisfied()

bool criteriaSatisfied ( )
protectedvirtual

Return true if all convergence checks are satisfied.

Implements solutionControl.

Definition at line 54 of file pimpleControl.C.

References Foam::endl(), forAllConstIter(), Foam::Info, and Foam::fvc::relative().

Referenced by pimpleControl::loop().

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

◆ TypeName()

TypeName ( "pimpleControl"  )

Run-time type information.

◆ nCorrPIMPLE()

Foam::label nCorrPIMPLE ( ) const
inline

Maximum number of PIMPLE correctors.

Definition at line 28 of file pimpleControlI.H.

References pimpleControl::nCorrPIMPLE_.

◆ nCorrPISO()

Foam::label nCorrPISO ( ) const
inline

Maximum number of PISO correctors.

Definition at line 34 of file pimpleControlI.H.

References pimpleControl::nCorrPISO_.

◆ corrPISO()

Foam::label corrPISO ( ) const
inline

Current PISO corrector index.

Definition at line 40 of file pimpleControlI.H.

References pimpleControl::corrPISO_.

◆ SIMPLErho()

bool SIMPLErho ( ) const
inline

Flag to indicate whether to update density in SIMPLE.

rather than PISO mode

Definition at line 46 of file pimpleControlI.H.

References pimpleControl::SIMPLErho_.

◆ loop()

bool loop ( )
virtual

◆ correct()

bool correct ( )
inline

Pressure corrector loop control.

Definition at line 52 of file pimpleControlI.H.

References solutionControl::algorithmName_, pimpleControl::corrPISO_, Foam::endl(), Foam::Info, and pimpleControl::nCorrPISO_.

Here is the call graph for this function:

◆ storeInitialResiduals()

bool storeInitialResiduals ( ) const
inline

Return true to store the intial residuals.

Definition at line 73 of file pimpleControlI.H.

References solutionControl::corr_, solutionControl::corrNonOrtho_, and pimpleControl::corrPISO_.

◆ firstIter()

bool firstIter ( ) const
inline

Return true for first PIMPLE (outer) iteration.

Definition at line 80 of file pimpleControlI.H.

References solutionControl::corr_.

◆ finalIter()

bool finalIter ( ) const
inline

Return true fore final PIMPLE (outer) iteration.

Definition at line 86 of file pimpleControlI.H.

References pimpleControl::converged_, solutionControl::corr_, and pimpleControl::nCorrPIMPLE_.

Referenced by pimpleControl::loop(), and pimpleControl::turbCorr().

Here is the caller graph for this function:

◆ finalInnerIter()

bool finalInnerIter ( ) const
inline

Return true for final inner iteration.

Definition at line 92 of file pimpleControlI.H.

References solutionControl::corrNonOrtho_, pimpleControl::corrPISO_, pimpleControl::nCorrPISO_, and solutionControl::nNonOrthCorr_.

◆ solveFlow()

bool solveFlow ( ) const
inline

Return true to solve for flow.

Definition at line 100 of file pimpleControlI.H.

References pimpleControl::solveFlow_.

◆ turbCorr()

bool turbCorr ( ) const
inline

Return true to solve for turbulence.

Definition at line 106 of file pimpleControlI.H.

References pimpleControl::finalIter(), and pimpleControl::turbOnFinalIterOnly_.

Here is the call graph for this function:

Member Data Documentation

◆ solveFlow_

bool solveFlow_
protected

Flag to indicate whether to solve for the flow.

Definition at line 72 of file pimpleControl.H.

Referenced by pimpleControl::solveFlow().

◆ nCorrPIMPLE_

label nCorrPIMPLE_
protected

Maximum number of PIMPLE correctors.

Definition at line 75 of file pimpleControl.H.

Referenced by pimpleControl::finalIter(), pimpleControl::loop(), pimpleControl::nCorrPIMPLE(), and pimpleControl::pimpleControl().

◆ nCorrPISO_

label nCorrPISO_
protected

Maximum number of PISO correctors.

Definition at line 78 of file pimpleControl.H.

Referenced by pimpleControl::correct(), pimpleControl::finalInnerIter(), and pimpleControl::nCorrPISO().

◆ corrPISO_

label corrPISO_
protected

◆ SIMPLErho_

bool SIMPLErho_
protected

Flag to indicate whether to update density in SIMPLE.

rather than PISO mode

Definition at line 85 of file pimpleControl.H.

Referenced by pimpleControl::SIMPLErho().

◆ turbOnFinalIterOnly_

bool turbOnFinalIterOnly_
protected

Flag to indicate whether to only solve turbulence on final iter.

Definition at line 88 of file pimpleControl.H.

Referenced by pimpleControl::turbCorr().

◆ converged_

bool converged_
protected

Converged flag.

Definition at line 91 of file pimpleControl.H.

Referenced by pimpleControl::finalIter(), and pimpleControl::loop().


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