Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
solutionControl Class Referenceabstract

Base class for solution control classes. More...

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

Classes

struct  fieldData
 

Public Member Functions

 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...
 
virtual bool loop ()=0
 Main control loop. 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 (const bool absTolOnly)
 Read controls from fvSolution dictionary. More...
 
virtual void read ()
 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 bool criteriaSatisfied ()=0
 Return true if all convergence checks are satisfied. 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

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

Base class for solution control classes.

Definition at line 45 of file solutionControl.H.

Constructor & Destructor Documentation

◆ solutionControl()

solutionControl ( fvMesh mesh,
const word algorithmName 
)

Construct from mesh.

Definition at line 216 of file solutionControl.C.

◆ ~solutionControl()

~solutionControl ( )
virtual

Destructor.

Definition at line 238 of file solutionControl.C.

Member Function Documentation

◆ read() [1/2]

void read ( const bool  absTolOnly)
protectedvirtual

◆ read() [2/2]

void read ( )
protectedvirtual

Read controls from fvSolution dictionary.

Reimplemented in pimpleControl, and simpleControl.

Definition at line 136 of file solutionControl.C.

References solutionControl::applyToField(), and Foam::read().

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

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

◆ applyToField()

Foam::label applyToField ( const word fieldName,
const bool  useRegEx = true 
) const
protectedvirtual

Return index of field in residualControl_ if present.

Definition at line 143 of file solutionControl.C.

References forAll, string::match(), and Foam::name().

Referenced by solutionControl::read().

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

◆ criteriaSatisfied()

virtual bool criteriaSatisfied ( )
protectedpure virtual

Return true if all convergence checks are satisfied.

Implemented in pimpleControl, and simpleControl.

◆ storePrevIterFields()

void storePrevIterFields ( ) const
protectedvirtual

Store previous iteration fields.

Definition at line 164 of file solutionControl.C.

References solutionControl::maxTypeResidual().

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

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

◆ storePrevIter()

void storePrevIter ( ) const
protected

Store previous iteration field for vol<Type>Fields.

Definition at line 33 of file solutionControlTemplates.C.

References solutionControl::algorithmName_, Foam::endl(), fld(), forAllIter, Foam::Info, solutionControl::mesh_, and solution::relaxField().

Here is the call graph for this function:

◆ maxTypeResidual()

void maxTypeResidual ( const word fieldName,
ITstream data,
scalar &  firstRes,
scalar &  lastRes 
) const
protected

Definition at line 177 of file solutionControl.C.

References Foam::cmptMax(), UList< T >::first(), UList< T >::last(), and solutionControl::maxResidual().

Referenced by solutionControl::storePrevIterFields().

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

◆ maxResidual()

Foam::scalar maxResidual ( const word fieldName,
ITstream data,
scalar &  lastRes 
) const
protected

Definition at line 196 of file solutionControl.C.

Referenced by solutionControl::maxTypeResidual().

Here is the caller graph for this function:

◆ TypeName()

TypeName ( "solutionControl"  )

Run-time type information.

◆ dict()

const Foam::dictionary & dict ( ) const
inline

Return the solution dictionary.

Definition at line 28 of file solutionControlI.H.

References solutionControl::algorithmName_, solutionControl::mesh_, solution::solutionDict(), and dictionary::subDict().

Here is the call graph for this function:

◆ corr()

Foam::label corr ( ) const
inline

Current corrector loop index.

Definition at line 34 of file solutionControlI.H.

References solutionControl::corr_.

◆ corrNonOrtho()

Foam::label corrNonOrtho ( ) const
inline

Current non-orthogonal corrector index.

Definition at line 40 of file solutionControlI.H.

References solutionControl::corrNonOrtho_.

◆ nNonOrthCorr()

Foam::label nNonOrthCorr ( ) const
inline

Maximum number of non-orthogonal correctors.

Definition at line 46 of file solutionControlI.H.

References solutionControl::nNonOrthCorr_.

◆ finalNonOrthogonalIter()

bool finalNonOrthogonalIter ( ) const
inline

Helper function to identify final non-orthogonal iteration.

Definition at line 52 of file solutionControlI.H.

References solutionControl::corrNonOrtho_, and solutionControl::nNonOrthCorr_.

Referenced by Foam::CorrectPhi().

Here is the caller graph for this function:

◆ momentumPredictor()

bool momentumPredictor ( ) const
inline

Flag to indicate to solve for momentum.

Definition at line 58 of file solutionControlI.H.

References solutionControl::momentumPredictor_.

◆ transonic()

bool transonic ( ) const
inline

Flag to indicate to solve using transonic algorithm.

Definition at line 64 of file solutionControlI.H.

References solutionControl::transonic_.

◆ consistent()

bool consistent ( ) const
inline

Flag to indicate to relax pressure using the.

"consistent" approach of SIMPLEC

Definition at line 70 of file solutionControlI.H.

References solutionControl::consistent_.

◆ loop()

virtual bool loop ( )
pure virtual

Main control loop.

Implemented in pimpleControl, and simpleControl.

◆ correctNonOrthogonal()

bool correctNonOrthogonal ( )
inline

Non-orthogonal corrector loop.

Definition at line 76 of file solutionControlI.H.

References solutionControl::algorithmName_, solutionControl::corrNonOrtho_, Foam::endl(), Foam::Info, and solutionControl::nNonOrthCorr_.

Referenced by Foam::CorrectPhi().

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

Member Data Documentation

◆ mesh_

fvMesh& mesh_
protected

◆ residualControl_

List<fieldData> residualControl_
protected

List of residual data per field.

Definition at line 68 of file solutionControl.H.

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

◆ algorithmName_

const word algorithmName_
protected

◆ nNonOrthCorr_

label nNonOrthCorr_
protected

◆ momentumPredictor_

bool momentumPredictor_
protected

Flag to indicate to solve for momentum.

Definition at line 80 of file solutionControl.H.

Referenced by solutionControl::momentumPredictor().

◆ transonic_

bool transonic_
protected

Flag to indicate to solve using transonic algorithm.

Definition at line 83 of file solutionControl.H.

Referenced by solutionControl::transonic().

◆ consistent_

bool consistent_
protected

Flag to indicate to relax pressure using the.

"consistent" approach of SIMPLEC

Definition at line 87 of file solutionControl.H.

Referenced by solutionControl::consistent().

◆ corr_

label corr_
protected

◆ corrNonOrtho_

label corrNonOrtho_
protected

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