Pimple control class. Provides time-loop control methods which exit the simulation once convergence criteria have been reached. Also provides Pimple-loop control methods which exit the iteration once corrector convergence criteria have been met. Example usage: More...
Public Member Functions | |
TypeName ("pimpleControl") | |
Run-time type information. More... | |
pimpleControl (fvMesh &mesh, const word &algorithmName="PIMPLE") | |
Construct from a mesh and the name of the algorithm. More... | |
virtual | ~pimpleControl () |
Destructor. More... | |
virtual bool | read () |
Read controls. More... | |
bool | turbCorr () const |
Flag to indicate whether to solve the turbulence. More... | |
bool | loop () |
Pimple loop. More... | |
bool | run (Time &time) |
Time run loop. More... | |
bool | loop (Time &time) |
Time loop loop. More... | |
Public Member Functions inherited from pimpleNoLoopControl | |
TypeName ("pimpleNoLoopControl") | |
Run-time type information. More... | |
pimpleNoLoopControl (fvMesh &mesh, const word &algorithmName, const pimpleLoop &loop) | |
Construct from a mesh, the name of the algorithm, and a reference. More... | |
virtual | ~pimpleNoLoopControl () |
Destructor. More... | |
virtual bool | isFinal () const |
Flag to indicate whether in final state. More... | |
bool | simpleRho () const |
Flag to indicate whether to update the density in simple mode. More... | |
bool | turbOnFinalIterOnly () const |
Flag to indicate whether to solve the turbulence on the final. More... | |
Public Member Functions inherited from pisoControl | |
TypeName ("pisoControl") | |
Run-time type information. More... | |
pisoControl (fvMesh &mesh, const word &algorithmName="PISO") | |
Construct from a mesh and the name of the algorithm. More... | |
virtual | ~pisoControl () |
Destructor. More... | |
label | nCorrPiso () const |
Maximum number of piso correctors. More... | |
bool | anyPisoIter () const |
Flag to indicate any piso iteration. More... | |
bool | firstPisoIter () const |
Flag to indicate the first piso iteration. More... | |
bool | finalPisoIter () const |
Flag to indicate the last piso iteration. More... | |
bool | finalInnerIter () const |
Flag to indicate the last inner iteration (last piso and last. More... | |
bool | correct () |
Piso loop. More... | |
bool | run (Time &time) |
Time run loop. More... | |
bool | loop (Time &time) |
Time loop loop. More... | |
Public Member Functions inherited from fluidSolutionControl | |
TypeName ("fluidSolutionControl") | |
Run-time type information. More... | |
fluidSolutionControl (fvMesh &mesh, const word &algorithmName) | |
Construct from a mesh and the name of the algorithm. More... | |
virtual | ~fluidSolutionControl () |
Destructor. More... | |
bool | frozenFlow () const |
Flag to indicate not to solve for the flow. 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 "consistent". More... | |
Public Member Functions inherited from nonOrthogonalSolutionControl | |
TypeName ("nonOrthogonalSolutionControl") | |
Run-time type information. More... | |
nonOrthogonalSolutionControl (fvMesh &mesh, const word &algorithmName) | |
Construct from a mesh and the name of the algorithm. More... | |
virtual | ~nonOrthogonalSolutionControl () |
Destructor. More... | |
label | nCorrNonOrth () const |
Maximum number of non-orthogonal correctors. More... | |
bool | anyNonOrthogonalIter () const |
Flag to indicate any non-orthogonal iteration. More... | |
bool | firstNonOrthogonalIter () const |
Flag to indicate the first non-orthogonal iteration. More... | |
bool | finalNonOrthogonalIter () const |
Flag to indicate the last non-orthogonal iteration. More... | |
bool | correctNonOrthogonal () |
Non-orthogonal corrector loop. More... | |
Public Member Functions inherited from singleRegionSolutionControl | |
TypeName ("singleRegionSolutionControl") | |
Run-time type information. More... | |
singleRegionSolutionControl (fvMesh &mesh, const word &algorithmName) | |
Construct from a mesh and the name of the algorithm. More... | |
virtual | ~singleRegionSolutionControl () |
Destructor. More... | |
const fvMesh & | mesh () const |
Return the mesh. More... | |
fvMesh & | mesh () |
Return the mesh. More... | |
virtual const dictionary & | dict () const |
Return the solution dictionary. More... | |
void | updateFinal () const |
Update the mesh data for the final state. More... | |
void | storePrevIterFields () |
Store previous iteration for fields. More... | |
Public Member Functions inherited from solutionControl | |
TypeName ("solutionControl") | |
Run-time type information. More... | |
solutionControl (const objectRegistry ®istry, const Time &time, const word &algorithmName) | |
Construct from the time, the name of the algorithm and a registry. More... | |
virtual | ~solutionControl () |
Destructor. More... | |
const Time & | time () const |
Return the time. More... | |
const word & | algorithmName () const |
Return the name of the algorithm. More... | |
const char * | algorithmSpace () const |
Return some whitespace the same length as the algorithm name. More... | |
Public Member Functions inherited from regIOobject | |
TypeName ("regIOobject") | |
Runtime type information. More... | |
regIOobject (const IOobject &, const bool isTime=false) | |
Construct from IOobject. Optional flag for if IOobject is the. More... | |
regIOobject (const regIOobject &) | |
Copy constructor. More... | |
regIOobject (const regIOobject &, bool registerCopy) | |
Copy constructor, transferring registry registration to copy. More... | |
regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
Copy constructor with new name, transferring registry registration. More... | |
regIOobject (const IOobject &, const regIOobject &) | |
Copy constructor with new IO parameters. More... | |
virtual | ~regIOobject () |
Destructor. More... | |
bool | checkIn () |
Add object to registry. More... | |
bool | checkOut () |
Remove object from registry. More... | |
virtual void | addWatch () |
Add file watch on object (if registered and READ_IF_MODIFIED) More... | |
bool | ownedByRegistry () const |
Is this object owned by the registry? More... | |
void | store () |
Transfer ownership of this object to its registry. More... | |
void | release () |
Release ownership of this object from its registry. More... | |
label | eventNo () const |
Event number at last update. More... | |
label & | eventNo () |
Event number at last update. More... | |
bool | upToDate (const regIOobject &) const |
Return true if up-to-date with respect to given object. More... | |
bool | upToDate (const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
void | setUpToDate () |
Set up to date (obviously) More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
virtual fileName | filePath () const |
Return complete path + object name if the file exists. More... | |
bool | headerOk () |
Read and check header info. More... | |
Istream & | readStream (const word &, const bool read=true) |
Return Istream and check object type against that given. More... | |
void | close () |
Close Istream. More... | |
virtual bool | readData (Istream &) |
Virtual readData function. More... | |
virtual label | addWatch (const fileName &) |
Add file watch for fileName on object if not yet watched. Return. More... | |
const labelList & | watchIndices () const |
Return file-monitoring handles. More... | |
labelList & | watchIndices () |
Return file-monitoring handles. More... | |
virtual bool | modified () const |
Return true if the object's file (or files for objectRegistry) More... | |
virtual bool | readIfModified () |
Read object if modified (as set by call to modified) More... | |
virtual bool | global () const |
Is object same for all processors. More... | |
virtual bool | writeObject (IOstream::streamFormat, IOstream::versionNumber, IOstream::compressionType, const bool write) const |
Write using given format, version and compression. More... | |
virtual bool | write (const bool write=true) const |
Write using setting from DB. More... | |
void | operator= (const IOobject &) |
Public Member Functions inherited from IOobject | |
TypeName ("IOobject") | |
Runtime type information. More... | |
IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, 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 ®istry, 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 ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true) | |
Construct from path, registry, io options. More... | |
IOobject (const IOobject &io, const objectRegistry ®istry) | |
Construct from copy resetting registry. More... | |
IOobject (const IOobject &io, const word &name) | |
Construct from copy resetting name. More... | |
IOobject (const IOobject &io)=default | |
Copy constructor. More... | |
autoPtr< IOobject > | clone () const |
Clone. More... | |
autoPtr< IOobject > | clone (const objectRegistry ®istry) const |
Clone resetting registry. More... | |
virtual | ~IOobject () |
Destructor. More... | |
const Time & | time () const |
Return time. More... | |
const objectRegistry & | db () const |
Return the local objectRegistry. More... | |
const word & | name () const |
Return name. More... | |
const word & | headerClassName () const |
Return name of the class name read from header. More... | |
word & | headerClassName () |
Return name of the class name read from header. More... | |
string & | note () |
Return non-constant access to the optional note. More... | |
const string & | note () const |
Return the optional note. 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 |
readOption & | readOpt () |
writeOption | writeOpt () const |
writeOption & | writeOpt () |
word | group () const |
Return group (extension part of name) More... | |
word | member () const |
Return member (name without the extension) More... | |
word | modelName (const char *name) const |
Return the name of the object within this model. More... | |
const fileName & | rootPath () const |
const fileName & | caseName () const |
const fileName & | instance () const |
fileName & | instance () |
const fileName & | local () 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 | localPath () const |
Return the path relative to the case. More... | |
fileName | objectPath () const |
Return complete path + object name. More... | |
fileName | localObjectPath () const |
Return complete localPath + 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< IOobject > | info () const |
Return info proxy. More... | |
void | operator= (const IOobject &) |
template<class Name > | |
Foam::word | groupName (Name name, const word &group) |
template<class Name > | |
Foam::word | modelName (Name name, const word &model) |
Public Member Functions inherited from singleRegionConvergenceControl | |
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) |
Public Member Functions inherited from singleRegionCorrectorConvergenceControl | |
TypeName ("singleRegionCorrectorConvergenceControl") | |
Run-time type information. More... | |
singleRegionCorrectorConvergenceControl (const singleRegionSolutionControl &control, const word &loopName) | |
Construct from a solution control and the loop name. More... | |
virtual | ~singleRegionCorrectorConvergenceControl () |
Destructor. More... | |
bool | readCorrResidualControls () |
Read residual controls. More... | |
void | printCorrResidualControls (const label n) const |
Print the residual controls. More... | |
virtual bool | hasCorrResidualControls () const |
Return true if corrector residual controls are present. More... | |
virtual bool | corrCriteriaSatisfied () const |
Return true if all correction convergence checks are satisfied. More... | |
virtual void | resetCorrSolveIndex () |
Reset the solve index in the correction residual control data. More... | |
virtual void | updateCorrSolveIndex () |
Update the solve index in the correction residual control data. More... | |
Public Member Functions inherited from correctorConvergenceControl | |
TypeName ("correctorConvergenceControl") | |
Run-time type information. More... | |
correctorConvergenceControl (const solutionControl &control, const word &loopName) | |
Construct from a solution control and the loop name. More... | |
virtual | ~correctorConvergenceControl () |
Destructor. More... | |
Public Member Functions inherited from pimpleLoop | |
TypeName ("pimpleLoop") | |
Run-time type information. More... | |
pimpleLoop (const solutionControl &control) | |
Construct from a solution control. More... | |
virtual | ~pimpleLoop () |
Destructor. More... | |
label | nCorrPimple () const |
Maximum number of pimple correctors. More... | |
bool | anyPimpleIter () const |
Flag to indicate any pimple iteration. More... | |
bool | firstPimpleIter () const |
Flag to indicate the first pimple iteration. More... | |
bool | finalPimpleIter () const |
Flag to indicate the last pimple iteration. More... | |
bool | loop (correctorConvergenceControl &convergence) |
Pimple loop. 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 regIOobject | |
template<class Type > | |
static Type & | store (Type *) |
Transfer ownership of the given object pointer to its registry. More... | |
template<class Type > | |
static Type & | store (autoPtr< Type > &) |
Transfer ownership of the given object pointer to its registry. 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) |
static word | group (const word &name) |
Return group (extension part of name) More... | |
static word | member (const word &name) |
Return member (name without the extension) More... | |
template<class Name > | |
static word | modelName (Name name, const word &model) |
Return the name of the object within the given model. More... | |
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 Member Functions inherited from convergenceControl | |
static DynamicList< word > | getFieldNames (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... | |
Static Public Attributes inherited from regIOobject | |
static float | fileModificationSkew |
Static Public Attributes inherited from IOobject | |
static constexpr const char * | foamFile = "FoamFile" |
Keyword for the FoamFile header sub-dictionary. More... | |
static const NamedEnum< fileCheckTypes, 4 > | fileCheckTypesNames |
static fileCheckTypes | fileModificationChecking |
Type of file modification checking. More... | |
Protected Member Functions inherited from singleRegionSolutionControl | |
template<class Type > | |
void | storePrevIterTypeFields () const |
Store previous iteration for fields. More... | |
Protected Member Functions inherited from solutionControl | |
virtual bool | writeData (Ostream &) const |
Dummy write for regIOobject. More... | |
Protected Member Functions inherited from regIOobject | |
bool | readHeaderOk (const IOstream::streamFormat PstreamFormat, const word &typeName) |
Helper: check readOpt flags and read if necessary. More... | |
Protected Member Functions inherited from IOobject | |
void | setBad (const string &) |
Set the object state to bad. More... | |
Static Protected Member Functions inherited from correctorConvergenceControl | |
static void | getNSolves (const fvMesh &mesh, const word &fieldName, label &n) |
Get the number of solves that have happened for this variable in. More... | |
template<class Type > | |
static void | getNTypeSolves (const fvMesh &mesh, const word &fieldName, label &n) |
Get the number of solves that have happened for this variable in. More... | |
Protected Attributes inherited from pimpleNoLoopControl | |
const pimpleLoop & | loop_ |
The pimple loop. More... | |
bool | simpleRho_ |
Flag to indicate whether to update the density in SIMPLE mode rather. More... | |
bool | turbOnFinalIterOnly_ |
Flag to control whether turbulence is solved just on the final. More... | |
Protected Attributes inherited from pisoControl | |
label | nCorrPiso_ |
Maximum number of piso correctors. More... | |
label | corrPiso_ |
Current piso corrector. More... | |
Protected Attributes inherited from fluidSolutionControl | |
bool | frozenFlow_ |
Flag to indicate not to solve for the flow. 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 "consistent" approach. More... | |
Protected Attributes inherited from nonOrthogonalSolutionControl | |
label | nCorrNonOrth_ |
Maximum number of non-orthogonal correctors. More... | |
label | corrNonOrth_ |
Current non-orthogonal corrector index. More... | |
Protected Attributes inherited from singleRegionSolutionControl | |
fvMesh & | mesh_ |
Reference to the mesh. More... | |
Protected Attributes inherited from solutionControl | |
const Time & | time_ |
Reference to the time. More... | |
const word | algorithmName_ |
Name of the algorithm. More... | |
const string | algorithmSpaceStr_ |
Whitespace the same length as the algorithm name. More... | |
Protected Attributes inherited from singleRegionConvergenceControl | |
const fvMesh & | mesh_ |
Reference to the mesh. More... | |
List< residualData > | residualControl_ |
List of residual data per field. More... | |
Protected Attributes inherited from convergenceControl | |
const solutionControl & | control_ |
Reference to the solution control. More... | |
Protected Attributes inherited from singleRegionCorrectorConvergenceControl | |
const fvMesh & | mesh_ |
Reference to the mesh. More... | |
List< corrResidualData > | corrResidualControl_ |
List of residual data per field. More... | |
HashTable< label > | solveIndex_ |
The index of the solution at the start of the corrector loop, for. More... | |
Protected Attributes inherited from correctorConvergenceControl | |
const solutionControl & | control_ |
Reference to the solution control. More... | |
const word | loopName_ |
Name of the corrector loop. More... | |
Protected Attributes inherited from pimpleLoop | |
const solutionControl & | control_ |
Reference to the solution control. More... | |
label | nCorrPimple_ |
Maximum number of pimple correctors. More... | |
label | corrPimple_ |
Current pimple corrector. More... | |
bool | converged_ |
Flag to indicate convergence of the pimple loop. More... | |
Pimple control class. Provides time-loop control methods which exit the simulation once convergence criteria have been reached. Also provides Pimple-loop control methods which exit the iteration once corrector convergence criteria have been met. Example usage:
pimpleControl pimple(mesh); while (pimple.run(runTime)) { // pre-time-increment operations ... runTime ++; Info<< "Time = " << runTime.timeName() << nl << endl; while (pimple.loop()) { // solve ... } // post-solve operations ... }
Definition at line 74 of file pimpleControl.H.
pimpleControl | ( | fvMesh & | mesh, |
const word & | algorithmName = "PIMPLE" |
||
) |
Construct from a mesh and the name of the algorithm.
Definition at line 38 of file pimpleControl.C.
References Foam::endl(), Foam::Info, pimpleLoop::nCorrPimple_, Foam::nl, singleRegionCorrectorConvergenceControl::printCorrResidualControls(), singleRegionConvergenceControl::printResidualControls(), pimpleControl::read(), fvSchemes::steady(), and fvSchemes::transient().
|
virtual |
Destructor.
Definition at line 69 of file pimpleControl.C.
TypeName | ( | "pimpleControl" | ) |
Run-time type information.
|
virtual |
Read controls.
Reimplemented from pimpleLoop.
Definition at line 75 of file pimpleControl.C.
References pimpleLoop::read(), and pimpleNoLoopControl::read().
Referenced by pimpleControl::loop(), pimpleControl::pimpleControl(), and pimpleControl::run().
|
inline |
Flag to indicate whether to solve the turbulence.
Definition at line 28 of file pimpleControlI.H.
References pimpleLoop::finalPimpleIter(), and pimpleNoLoopControl::turbOnFinalIterOnly().
bool loop | ( | ) |
Pimple loop.
Definition at line 81 of file pimpleControl.C.
References pimpleLoop::loop(), pimpleControl::read(), singleRegionSolutionControl::storePrevIterFields(), and singleRegionSolutionControl::updateFinal().
Referenced by thermoSingleLayer::evolveRegion(), and kinematicSingleLayer::evolveRegion().
bool run | ( | Time & | time | ) |
Time run loop.
Definition at line 100 of file pimpleControl.C.
References convergenceControl::endIfConverged(), pimpleControl::read(), Time::run(), Time::running(), and singleRegionSolutionControl::storePrevIterFields().
bool loop | ( | Time & | time | ) |
Time loop loop.
Definition at line 115 of file pimpleControl.C.
References convergenceControl::endIfConverged(), pimpleControl::read(), Time::run(), Time::running(), and singleRegionSolutionControl::storePrevIterFields().