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...
 
virtual bool loop ()
 PIMPLE loop. More...
 
bool correct ()
 Pressure corrector loop. More...
 
bool storeInitialResiduals () const
 Helper function to identify when to store the intial residuals. More...
 
bool firstIter () const
 Helper function to identify first PIMPLE (outer) iteration. More...
 
bool finalIter () const
 Helper function to identify final PIMPLE (outer) iteration. More...
 
bool finalInnerIter () const
 Helper function to identify final inner iteration. More...
 
bool turbCorr () const
 Helper function to identify whether 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)
 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)
 Construct from path, registry, io options. More...
 
Foam::autoPtr< IOobjectclone () const
 Clone. 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...
 
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...
 
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 filePath () const
 Return complete path + object name if the file exists. More...
 
bool readHeader (Istream &)
 Read header. More...
 
bool headerOk ()
 Read and check header info. 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
IstreamobjectStream ()
 Construct and return an IFstream for the object. More...
 
IstreamobjectStream (const fileName &)
 Construct and return an IFstream for the object given the. More...
 
void setBad (const string &)
 Set the object state to bad. More...
 

Protected Attributes

label nCorrPIMPLE_
 Maximum number of PIMPLE correctors. More...
 
label nCorrPISO_
 Maximum number of PISO correctors. More...
 
label corrPISO_
 Current PISO corrector. 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...
 
- 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...
 

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 ( fvMesh mesh,
const word dictName = "PIMPLE" 
)

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

Definition at line 123 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 ( )
virtual

Destructor.

Definition at line 167 of file pimpleControl.C.

Member Function Documentation

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:

bool criteriaSatisfied ( )
protectedvirtual

Return true if all convergence checks are satisfied.

Implements solutionControl.

Definition at line 52 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 ( "pimpleControl"  )

Run-time type information.

Foam::label nCorrPIMPLE ( ) const
inline

Maximum number of PIMPLE correctors.

Definition at line 28 of file pimpleControlI.H.

References pimpleControl::nCorrPIMPLE_.

Foam::label nCorrPISO ( ) const
inline

Maximum number of PISO correctors.

Definition at line 34 of file pimpleControlI.H.

References pimpleControl::nCorrPISO_.

Foam::label corrPISO ( ) const
inline

Current PISO corrector index.

Definition at line 40 of file pimpleControlI.H.

References pimpleControl::corrPISO_.

bool loop ( )
virtual
bool correct ( )
inline

Pressure corrector loop.

Definition at line 46 of file pimpleControlI.H.

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

Here is the call graph for this function:

bool storeInitialResiduals ( ) const
inline

Helper function to identify when to store the intial residuals.

Definition at line 67 of file pimpleControlI.H.

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

bool firstIter ( ) const
inline

Helper function to identify first PIMPLE (outer) iteration.

Definition at line 74 of file pimpleControlI.H.

References solutionControl::corr_.

bool finalIter ( ) const
inline

Helper function to identify final PIMPLE (outer) iteration.

Definition at line 80 of file pimpleControlI.H.

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

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

Here is the caller graph for this function:

bool finalInnerIter ( ) const
inline

Helper function to identify final inner iteration.

Definition at line 86 of file pimpleControlI.H.

References solutionControl::corrNonOrtho_, pimpleControl::corrPISO_, pimpleControl::finalIter(), pimpleControl::nCorrPISO_, and solutionControl::nNonOrthCorr_.

Here is the call graph for this function:

bool turbCorr ( ) const
inline

Helper function to identify whether to solve for turbulence.

Definition at line 95 of file pimpleControlI.H.

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

Here is the call graph for this function:

Member Data Documentation

label nCorrPIMPLE_
protected

Maximum number of PIMPLE correctors.

Definition at line 72 of file pimpleControl.H.

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

label nCorrPISO_
protected

Maximum number of PISO correctors.

Definition at line 75 of file pimpleControl.H.

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

label corrPISO_
protected
bool turbOnFinalIterOnly_
protected

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

Definition at line 81 of file pimpleControl.H.

Referenced by pimpleControl::turbCorr().

bool converged_
protected

Converged flag.

Definition at line 84 of file pimpleControl.H.

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


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