Base driver for parsing value expressions associated with an fvMesh. More...
#include <fvExprDriver.H>


Public Member Functions | |
| TypeName ("fvExprDriver") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, fvExprDriver, dictionary,(const dictionary &dict, const fvMesh &mesh),(dict, mesh)) | |
| declareRunTimeSelectionTable (autoPtr, fvExprDriver, idName,(const word &ident, const fvMesh &mesh),(ident, mesh)) | |
| fvExprDriver (enum exprDriver::searchControls search=exprDriver::searchControls::DEFAULT_SEARCH, const dictionary &dict=dictionary::null) | |
| Default construct, and default construct with search preferences. | |
| fvExprDriver (const fvExprDriver &rhs, const dictionary &dict) | |
| Copy construct with dictionary reference. | |
| fvExprDriver (const dictionary &dict) | |
| Construct from a dictionary. | |
| virtual autoPtr< fvExprDriver > | clone ()=delete |
| Not generally clonable. | |
| virtual | ~fvExprDriver () |
| Destructor. | |
| virtual label | size () const =0 |
| The natural field size for the expression. | |
| virtual label | pointSize () const =0 |
| The point field size for the expression. | |
| bool | cacheSets () const |
| Status of cache-sets (static variable). | |
| virtual void | clearVariables () |
| Clear temporary variables, reset from expression strings. | |
| virtual bool | hasVariable (const word &name) const |
| True if named variable exists. | |
| virtual const exprResult & | variable (const word &name) const |
| Return const-access to the named variable. | |
| template<class Type> | |
| bool | isVariableOrField (const word &name, const bool wantPointData=false, const label expectSize=-1) const |
| Test for existence of a local/global variable or a field. | |
| template<class Type> | |
| tmp< Field< Type > > | getVariable (const word &name, const label expectSize, const bool mandatory=true) const |
| Retrieve local/global variable as a tmp field. | |
| word | getFieldClassName (const word &name) const |
| Lookup the field class name (memory or read from disk). | |
| topoSetSource::sourceType | topoSetType (const word &name) const |
| Return cell/face/point set type or unknown. | |
| topoSetSource::sourceType | topoZoneType (const word &name) const |
| Return cell/face/point zone type or unknown. | |
| topoSetSource::sourceType | topoSourceType (const word &name) const |
| Return cell/face/point zone/set type or unknown. | |
| refPtr< labelList > | getTopoSetLabels (const word &name, enum topoSetSource::sourceType setType) const |
| Get the labels associated with the topo set. | |
| bool | isCellZone (const word &name) const |
| Test if name is a known cellZone. | |
| bool | isFaceZone (const word &name) const |
| Test if name is a known faceZone. | |
| bool | isPointZone (const word &name) const |
| Test if name is a known pointZone. | |
| bool | isCellSet (const word &name) const |
| Test if name is a known cellSet. | |
| bool | isFaceSet (const word &name) const |
| Test if name is a known faceSet. | |
| bool | isPointSet (const word &name) const |
| Test if name is a known pointSet. | |
| virtual void | evaluateVariable (const word &varName, const expressions::exprString &expr) |
| Evaluate the expression and save as the specified named variable. | |
| virtual void | evaluateVariableRemote (string remote, const word &varName, const expressions::exprString &expr) |
| Evaluate an expression on a remote and save as the specified named variable. | |
| template<class Type> | |
| bool | isVariable (const word &name, bool wantPointData=false, label expectSize=-1) const |
| Test existence of a local/global variable. | |
| template<class Type> | |
| bool | foundField (const word &name) const |
| Test if specified field can be found in memory or disk. | |
| word | getTypeOfField (const word &fieldName) const |
| Read the IOobject for fieldName and return its headerClassName. | |
| virtual bool | readDict (const dictionary &dict) |
| Read variables, tables etc. | |
| Ostream & | writeCommon (Ostream &os, bool debug=false) const |
| Write "variables", "storedVariables", "delayedVariables", "globalScopes" if they are present. | |
| void | createWriterAndRead (const word &name) |
| Create a writer for this object. | |
| void | tryWrite () const |
| Write data if appropriate Should enable exact restarts. | |
| template<class GeomField> | |
| Foam::tmp< GeomField > | getOrReadField (const word &name, const bool mandatory, const bool getOldTime) |
| template<class GeomField> | |
| Foam::tmp< GeomField > | getOrReadPointField (const word &name, const bool mandatory, const bool getOldTime) |
| template<class GeomField, class Mesh> | |
| Foam::tmp< GeomField > | readAndRegister (const word &name, const Mesh &meshRef) |
| template<class Type> | |
| Foam::tmp< Foam::Field< Type > > | getVariable (const word &name, const label expectedSize, const bool mandatory) const |
| template<class GeomField, class Mesh> | |
| Foam::tmp< GeomField > | getOrReadFieldImpl (const word &name, const Mesh &meshRef, bool mandatory, bool getOldTime) |
| template<class T> | |
| Foam::autoPtr< T > | getTopoSet (const fvMesh &mesh, const word &name, SetOrigin &origin) const |
| Public Member Functions inherited from exprDriver | |
| TypeName ("exprDriver") | |
| Runtime type information. | |
| exprDriver (const exprDriver &)=delete | |
| No copy construct. | |
| void | operator= (const exprDriver &)=delete |
| No copy assignment. | |
| exprDriver (enum searchControls search=searchControls::DEFAULT_SEARCH, const dictionary &dict=dictionary::null) | |
| Default construct, and default construct with search preferences. | |
| exprDriver (const exprDriver &rhs, const dictionary &dict) | |
| Copy construct with new dictionary reference. | |
| exprDriver (const dictionary &dict) | |
| Construct from a dictionary. | |
| virtual | ~exprDriver ()=default |
| Destructor. | |
| const TimeState * | timeState () const noexcept |
| Reference to the current time-state (can be nullptr). | |
| virtual scalar | timeValue () const |
| The current time value. | |
| virtual scalar | deltaT () const |
| The current deltaT value. | |
| const dictionary & | dict () const noexcept |
| The dictionary with all input data/specification. | |
| const exprResult & | result () const noexcept |
| Const access to expression result. | |
| exprResult & | result () noexcept |
| Non-const access to expression result. | |
| void | clearResult () |
| Clear the result. | |
| template<class Type> | |
| tmp< Field< Type > > | getResult (bool wantPointData=false) |
| Return the expression result as a tmp field. | |
| const word & | getResultType () const noexcept |
| The result type as word - same as result().valueType(). | |
| void | resetDb (const objectRegistry *obrPtr=nullptr) |
| Reset the objectRegistry (for functions). | |
| void | resetDb (const objectRegistry &db) |
| Reset the objectRegistry (for functions). | |
| scalar | argValue () const noexcept |
| Get special-purpose scalar reference argument. | |
| int | stashedTokenId () const noexcept |
| Get "look-behind" parsing context (internal bookkeeping). | |
| int | resetStashedTokenId (int tokenId=0) const noexcept |
| Reset "look-behind" parsing context (mutable operation). | |
| void | setDebugging (bool scannerDebug, bool parserDebug) |
| Set the scanner/parser debug. | |
| void | setDebugging (const exprDriver &rhs) |
| Set the scanner/parser debug to match the input. | |
| bool | setCaching (bool on) noexcept |
| Toggle CACHE_READ_FIELDS control. | |
| void | setSearchBehaviour (enum searchControls search, const bool caching=false) |
| Set search behaviour, with additional CACHE_READ_FIELDS toggle on. | |
| void | setSearchBehaviour (const exprDriver &rhs) |
| Set search behaviour to be identical to rhs. | |
| bool | debugScanner () const noexcept |
| Read access to scanner debug. | |
| bool | debugParser () const noexcept |
| Read access to parser debug. | |
| bool | prevIterIsOldTime () const |
| void | setArgument (const scalar val) noexcept |
| Set special-purpose scalar reference argument. | |
| void | addVariables (const expressions::exprString &expr, bool clear=true) |
| Add/set string expressions for variables. | |
| void | addVariables (const UList< expressions::exprString > &list, bool clear=true) |
| Add/set string expressions for variables. | |
| template<class T> | |
| void | addUniformVariable (const word &name, const T &val) |
| Add a uniform variable from an outside caller. | |
| bool | hasContextObjects () const |
| True if any context fields are defined. | |
| const regIOobject * | cfindContextIOobject (const word &name) const |
| Find named context field, if it exists. | |
| template<class ObjType> | |
| const ObjType * | cfindContextObject (const word &name) const |
| Find context field object of specified type. | |
| void | addContextObject (const word &name, const regIOobject *) |
| Add the object to the context. | |
| void | addContextObject (const regIOobject *) |
| Add the object to the context. | |
| void | removeContextObject (const word &name) |
| Remove the object from the context. | |
| void | removeContextObject (const regIOobject *) |
| Remove the object from the context. | |
| const contextObjectTableType & | contextObjects () const noexcept |
| Read access to the object context. | |
| contextObjectTableType & | contextObjects () noexcept |
| Write access to the object context. | |
| template<class Type> | |
| bool | isFunction (const word &name) const |
| Named mapping with given type exists. | |
| template<class Type> | |
| Type | getFunctionValue (const word &name, const scalar x) const |
| Evaluate named mapping for the given time/value. Zero for undefined/unknown. | |
| template<class Type> | |
| void | fillFunctionValues (Field< Type > &result, const word &name, const scalarField &input) const |
| Fill result with values remapped according to the named Function1. | |
| template<class T> | |
| bool | isLocalVariable (const word &name, bool wantPointData=false, label expectedSize=-1) const |
| Test existence of a local variable. | |
| template<class Type> | |
| tmp< Field< Type > > | getLocalVariable (const word &name, label expectSize, const bool mandatory=true) const |
| Retrieve local/global variable as a tmp field. | |
| virtual unsigned | parse (const std::string &expr, size_t pos=0, size_t len=std::string::npos)=0 |
| Execute the parser. | |
| template<class Type> | |
| tmp< Field< Type > > | evaluate (const expressions::exprString &expr, bool wantPointData=false) |
| Evaluate the expression and return the field. | |
| template<class Type> | |
| Type | evaluateUniform (const expressions::exprString &expr, bool wantPointData=false) |
| Evaluate the expression and return a single value. | |
| void | evaluateVariable (const word &varName, const expressions::exprString &expr) |
| Evaluate the expression and save as the specified named variable. | |
| template<class Type> | |
| tmp< Field< Type > > | newField (const Type &val=pTraits< Type >::zero) const |
| Return a new field with the size(). | |
| template<class Type> | |
| tmp< Field< Type > > | newPointField (const Type &val=pTraits< Type >::zero) const |
| Return a new field with the pointSize(). | |
| expressions::exprString | readExpression (const word &name) |
| Read an expression string (with the current dictionary) and do substitutions. | |
| label | setVariableStrings (const dictionary &dict, bool mandatory=false) |
| Read "variables" and assigns to the list of expression strings. | |
| Ostream & | writeVariableStrings (Ostream &os, const word &keyword="") const |
| Write "variables". | |
| template<class Type> | |
| void | addUniformVariable (const word &name, const Type &val) |
| template<class Type> | |
| Foam::tmp< Foam::Field< Type > > | evaluate (const expressions::exprString &expr, bool wantPointData) |
| template<class Type> | |
| Foam::tmp< Foam::Field< Type > > | getResult (bool wantPointData) |
| template<class Type> | |
| const Foam::Function1< Type > * | getFunction1Ptr (const word &name, const HashTable< refPtr< Function1< Type > > > &tbl, wordList *listFailure) |
| template<class Type> | |
| Foam::tmp< Foam::Field< Type > > | newField (const Type &val) const |
| template<class Type> | |
| Foam::tmp< Foam::Field< Type > > | newPointField (const Type &val) const |
Static Public Member Functions | |
| static const fvMesh & | defaultMesh () |
| Get the default mesh, if one is defined. | |
| static const fvMesh * | resetDefaultMesh (const fvMesh &mesh, const bool force=false) |
| Set the default mesh (if not already set). | |
| static autoPtr< fvExprDriver > | New (const dictionary &dict, const fvMesh &mesh) |
| Return a reference to the selected value driver. | |
| static autoPtr< fvExprDriver > | New (const dictionary &dict) |
| Return a reference to the selected value driver. | |
| static autoPtr< fvExprDriver > | New (const word &type, const word &id, const fvMesh &mesh) |
| Return a reference to the selected value driver. | |
| Static Public Member Functions inherited from exprDriver | |
| static expressions::exprString | readExpression (const word &name, const dictionary &dict) |
| Read an expression string and do substitutions. | |
| static List< expressions::exprString > | readVariableStrings (const dictionary &dict, const word &name="variables", bool mandatory=false) |
| Read the list of variable strings. | |
Protected Types | |
| enum | SetOrigin { INVALID = 0 , NEW , FILE , MEMORY , CACHE } |
| The origin of the topoSet. More... | |
Protected Member Functions | |
| virtual const fvMesh & | mesh () const =0 |
| The mesh we are attached to. | |
| void | setGlobalScopes (const wordUList &scopes) |
| Define scopes for global variables. | |
| virtual exprResult & | variable (const word &name) |
| Non-const access to the named variable (sub-classes only). | |
| template<class T> | |
| bool | isGlobalVariable (const word &name, const bool wantPointData=false, const label expectedSize=-1) const |
| Test existence of a global variable. | |
| const exprResult & | lookupGlobal (const word &name) const |
| Return the global variable if available or a null result. | |
| template<class Type> | |
| bool | isField (const word &name, const bool wantPointData=false, const label expectSize=-1) const |
| Test for the existence of a mesh field. | |
| template<class GeomField> | |
| tmp< GeomField > | getOrReadField (const word &name, const bool mandatory=true, const bool getOldTime=false) |
| Retrieve field from memory or disk. | |
| template<class GeomField> | |
| tmp< GeomField > | getOrReadPointField (const word &name, const bool mandatory=true, const bool getOldTime=false) |
| Retrieve point field from memory or disk. | |
| template<class GeomField, class MeshRef> | |
| tmp< GeomField > | getOrReadFieldImpl (const word &name, const MeshRef &meshRef, const bool mandatory=true, const bool getOldTime=false) |
| Retrieve field from memory or disk (implementation). | |
| template<class GeomField, class MeshRef> | |
| tmp< GeomField > | readAndRegister (const word &name, const MeshRef &meshRef) |
| Helper function for getOrReadField. | |
| template<class T> | |
| autoPtr< T > | getTopoSet (const fvMesh &mesh, const word &setName, SetOrigin &origin) const |
| Get topoSet. | |
| template<class T> | |
| bool | updateSet (autoPtr< T > &setPtr, const word &setName, SetOrigin origin) const |
| Update topoSet. | |
| virtual void | updateSpecialVariables (bool force=false) |
| Examine current variable values and update stored variables. | |
| virtual bool | hasDataToWrite () const |
| Do we need a data file to be written. | |
| virtual void | prepareData (dictionary &dict) const |
| Prepare/update special variables and add to dictionary, normally via the reader/writer. | |
| virtual void | getData (const dictionary &dict) |
| Read data from dictionary, normally via the reader/writer. | |
| Protected Member Functions inherited from exprDriver | |
| bool | searchRegistry () const noexcept |
| bool | searchFiles () const noexcept |
| bool | cacheReadFields () const noexcept |
| void | resetTimeReference (const TimeState *ts) |
| Reset the time-state reference. | |
| void | resetTimeReference (const TimeState &ts) |
| Reset the time-state reference. | |
| void | writeFunctions (Ostream &os) const |
| Write scalar/vector Function1 entries in dictionary format. | |
| void | fill_random (scalarField &field, label seed=0, const bool gaussian=false) const |
| Fill a random field. | |
| virtual bool | update () |
| Update things. | |
| virtual exprResult | getRemoteResult (const exprDriver &other) const |
| Get the result from another driver. | |
Static Protected Member Functions | |
| static const fvMesh & | regionMesh (const dictionary &dict, const fvMesh &mesh, bool readIfNecessary) |
| Determine mesh or region mesh as specified in the dictionary with the keyword "region". | |
| template<class T> | |
| static word | defaultBoundaryType (const T &) |
| Default boundary type is calculated. | |
| template<class Type> | |
| static word | defaultBoundaryType (const VolumeField< Type > &) |
| Default boundary type for volume fields is zeroGradient since they are essentially just internal fields. | |
| template<class T> | |
| static void | correctField (T &) |
| Apply correctBoundaryConditions (volume fields only). | |
| template<class Type> | |
| static void | correctField (VolumeField< Type > &fld) |
| Static Protected Member Functions inherited from exprDriver | |
| static point | getPositionOfMinimum (const scalarField &vals, const pointField &locs) |
| Return the location of the min value. | |
| static point | getPositionOfMaximum (const scalarField &vals, const pointField &locs) |
| Return the location of the max value. | |
Friends | |
| class | fvExprDriverWriter |
Additional Inherited Members | |
| Public Types inherited from exprDriver | |
| enum | searchControls { NO_SEARCH = 0 , SEARCH_REGISTRY = 1 , SEARCH_FILES = 2 , CACHE_READ_FIELDS = 4 , DEFAULT_SEARCH = (SEARCH_REGISTRY) } |
| Search/caching controls. More... | |
| typedef HashTable< const regIOobject * > | contextObjectTableType |
| Externally defined context fields. | |
| Protected Attributes inherited from exprDriver | |
| const dictionary & | dict_ |
| The dictionary with all input data/specification. | |
| exprResult | result_ |
| The result. | |
| List< expressions::exprString > | variableStrings_ |
| Variable definitions, as read from a dictionary. | |
| HashTable< exprResult > | variables_ |
| The variables table. | |
| HashTable< refPtr< Function1< scalar > > > | scalarFuncs_ |
| Function1 mappings/timelines (scalar), evaluated at the simulation time or with arbitrary scalars. | |
| HashTable< refPtr< Function1< vector > > > | vectorFuncs_ |
| Function1 mappings/timelines (vector), evaluated at the simulation time or with arbitrary scalars. | |
| contextObjectTableType | contextObjects_ |
| Externally defined context fields. | |
| scalar | arg1Value_ |
| Special-purpose scalar reference argument. | |
| const TimeState * | timeStatePtr_ |
| Reference to the time-state. | |
| const objectRegistry * | obrPtr_ |
| Pointer to an object registry (for functions etc). | |
| int | stashedTokenId_ |
| Internal bookkeeping as "look-behind" parsing context. | |
| bool | debugScanner_ |
| Request debugging for scanner. | |
| bool | debugParser_ |
| Request debugging for parser. | |
| bool | allowShadowing_ |
| Allow variable names to mask field names. | |
| bool | prevIterIsOldTime_ |
| Use value of previous iteration when oldTime is requested. | |
| searchControls | searchCtrl_ |
| Registry/disk/caching control. | |
Base driver for parsing value expressions associated with an fvMesh.
Largely based on code and ideas from swak4foam
Properties
| Property | Description | Required | Default |
|---|---|---|---|
variables | List of variables for expressions | no | () |
delayedVariables | List of delayed variables | no | () |
storedVariables | List of stored variables | no | () |
globalScopes | Scopes for global variables | no | () |
allowShadowing | Allow variables to shadow field names | no | false |
Debug Properties
| Property | Description | Required | Default |
|---|---|---|---|
debug.driver | Debug level (int) for base driver | no | |
debug.scanner | Add debug for scanner | no | false |
debug.parser | Add debug for parser | no | false |
Definition at line 132 of file fvExprDriver.H.
|
protected |
The origin of the topoSet.
| Enumerator | |
|---|---|
| INVALID | |
| NEW | |
| FILE | |
| MEMORY | |
| CACHE | |
Definition at line 371 of file fvExprDriver.H.
|
explicit |
Default construct, and default construct with search preferences.
Definition at line 88 of file fvExprDriver.C.
References exprDriver::dict(), exprDriver::exprDriver(), and Foam::search().
Referenced by declareRunTimeSelectionTable(), declareRunTimeSelectionTable(), fvExprDriver(), parseDriver::parseDriver(), parseDriver::parseDriver(), parseDriver::parseDriver(), parseDriver::parseDriver(), parseDriver::parseDriver(), prepareData(), and writeCommon().


|
explicit |
Copy construct with dictionary reference.
Definition at line 104 of file fvExprDriver.C.
References exprDriver::dict(), exprDriver::exprDriver(), fvExprDriver(), and Foam::rhs().

|
explicit |
Construct from a dictionary.
Definition at line 120 of file fvExprDriver.C.
References exprDriver::dict(), exprDriver::exprDriver(), and readDict().

|
virtual |
Destructor.
Definition at line 139 of file fvExprDriver.C.
|
staticprotected |
Determine mesh or region mesh as specified in the dictionary with the keyword "region".
Definition at line 501 of file fvExprDriver.C.
References DebugInFunction, exprDriver::dict(), Foam::endl(), FatalErrorInFunction, mesh(), meshPtr, IOobjectOption::MUST_READ, Foam::nl, IOobjectOption::NO_WRITE, regionName, IOobjectOption::REGISTER, and WarningInFunction.

Default boundary type is calculated.
Definition at line 230 of file fvExprDriver.H.
References Foam::T().
Referenced by getOrReadFieldImpl().


|
inlinestaticprotected |
Default boundary type for volume fields is zeroGradient since they are essentially just internal fields.
Definition at line 240 of file fvExprDriver.H.
Apply correctBoundaryConditions (volume fields only).
Definition at line 253 of file fvExprDriver.H.
References Foam::T().
Referenced by getOrReadFieldImpl().


|
inlinestaticprotected |
Definition at line 256 of file fvExprDriver.H.
References fld().

|
protectedpure virtual |
The mesh we are attached to.
Implemented in parseDriver, and parseDriver.
Referenced by declareRunTimeSelectionTable(), declareRunTimeSelectionTable(), fvExprDriverWriter, getTopoSet(), getTopoSet(), getTopoSetLabels(), New(), New(), regionMesh(), resetDefaultMesh(), and updateSet().

|
inlineprotected |
Define scopes for global variables.
Definition at line 280 of file fvExprDriver.H.
|
inlineprotectedvirtual |
Non-const access to the named variable (sub-classes only).
Reimplemented from exprDriver.
Definition at line 51 of file fvExprDriverI.H.
References Foam::name(), and exprDriver::variables_.
Referenced by getOrReadFieldImpl(), getVariable(), and parseDriver::getVariableIfAvailable().


|
protected |
Test existence of a global variable.
Definition at line 30 of file fvExprDriverTemplates.C.
References DebugInfo, Foam::endl(), Foam::Info, lookupGlobal(), Foam::name(), exprDriver::result(), and Foam::returnReduceAnd().
Referenced by getOrReadFieldImpl(), getVariable(), parseDriver::getVariableIfAvailable(), and isVariable().


|
protected |
Return the global variable if available or a null result.
Definition at line 694 of file fvExprDriver.C.
References exprResultGlobals::get(), mesh, Foam::name(), and exprResultGlobals::New().
Referenced by getOrReadFieldImpl(), getVariable(), parseDriver::getVariableIfAvailable(), and isGlobalVariable().


|
protected |
Test for the existence of a mesh field.
| expectSize | ignored |
Definition at line 214 of file fvExprDriverTemplates.C.
References Foam::endl(), foundField(), Foam::Info, and Foam::name().
Referenced by isVariableOrField().


|
inlineprotected |
Retrieve field from memory or disk.
References Foam::name().
Referenced by parseDriver::getSurfaceField(), and parseDriver::getVolField().


|
inlineprotected |
Retrieve point field from memory or disk.
References Foam::name().
Referenced by parseDriver::getPointField().


|
protected |
Retrieve field from memory or disk (implementation).
References Foam::name().
Referenced by getOrReadField(), and getOrReadPointField().


|
inlineprotected |
Helper function for getOrReadField.
References Foam::name().
Referenced by parseDriver::getField(), getOrReadFieldImpl(), parseDriver::patchInternalField(), parseDriver::patchNeighbourField(), and parseDriver::patchNormalField().


|
inlineprotected |
Update topoSet.
Definition at line 561 of file fvExprDriverTemplates.C.
References CACHE, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, FILE, Foam::Info, INVALID, IOobject::localFilePath(), MEMORY, mesh(), polyMesh::meshSubDir, IOobjectOption::MUST_READ, Foam::name(), NEW, IOobjectOption::NO_WRITE, Foam::Pout, Foam::refCast(), autoPtr< T >::reset(), Foam::T(), T, IOobject::typeHeaderOk(), and WarningInFunction.

|
protectedvirtual |
Examine current variable values and update stored variables.
Reimplemented from exprDriver.
Definition at line 233 of file fvExprDriver.C.
References DebugInfo, Foam::endl(), forAllIters, mesh, Foam::nl, exprDriver::parse(), exprDriver::result_, size(), update(), and exprDriver::variables_.
Referenced by clearVariables(), and writeCommon().


|
protectedvirtual |
Do we need a data file to be written.
Definition at line 703 of file fvExprDriver.C.
Referenced by createWriterAndRead().

|
protectedvirtual |
Prepare/update special variables and add to dictionary, normally via the reader/writer.
Definition at line 718 of file fvExprDriver.C.
References exprDriver::dict(), and fvExprDriver().

|
protectedvirtual |
Read data from dictionary, normally via the reader/writer.
Definition at line 709 of file fvExprDriver.C.
References exprDriver::dict().

|
static |
Get the default mesh, if one is defined.
Definition at line 54 of file fvExprDriver.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, and Foam::nl.
Referenced by New().


|
static |
Set the default mesh (if not already set).
| force | Force reset, even if already set |
Definition at line 69 of file fvExprDriver.C.
References mesh().
Referenced by New(), and New().


| TypeName | ( | "fvExprDriver" | ) |
Runtime type information.
| declareRunTimeSelectionTable | ( | autoPtr | , |
| fvExprDriver | , | ||
| dictionary | , | ||
| (const dictionary &dict, const fvMesh &mesh) | , | ||
| (dict, mesh) | ) |
References exprDriver::dict(), fvExprDriver(), and mesh().

| declareRunTimeSelectionTable | ( | autoPtr | , |
| fvExprDriver | , | ||
| idName | , | ||
| (const word &ident, const fvMesh &mesh) | , | ||
| (ident, mesh) | ) |
References exprDriver::DEFAULT_SEARCH, exprDriver::dict(), fvExprDriver(), mesh(), dictionary::null, Foam::rhs(), and Foam::search().

|
static |
Return a reference to the selected value driver.
Definition at line 41 of file fvExprDriverNew.C.
References DebugInFunction, exprDriver::dict(), Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, mesh(), and resetDefaultMesh().
Referenced by evaluateVariableRemote(), parseDriver::getVariableIfAvailable(), and New().


|
static |
Return a reference to the selected value driver.
Definition at line 27 of file fvExprDriverNew.C.
References defaultMesh(), exprDriver::dict(), and New().

|
static |
Return a reference to the selected value driver.
Definition at line 71 of file fvExprDriverNew.C.
References DebugInFunction, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInLookup, mesh(), and resetDefaultMesh().

|
virtualdelete |
Not generally clonable.
|
pure virtual |
The natural field size for the expression.
Reimplemented from exprDriver.
Implemented in parseDriver, and parseDriver.
Referenced by updateSpecialVariables().

|
pure virtual |
The point field size for the expression.
Reimplemented from exprDriver.
Implemented in parseDriver, and parseDriver.
|
inline |
Status of cache-sets (static variable).
Definition at line 560 of file fvExprDriver.H.
Referenced by getTopoSet().

|
virtual |
Clear temporary variables, reset from expression strings.
Reimplemented from exprDriver.
Definition at line 324 of file fvExprDriver.C.
References exprDriver::addVariables(), DebugInfo, Foam::endl(), forAllIters, mesh, update(), updateSpecialVariables(), exprDriver::variables_, and exprDriver::variableStrings_.

|
inlinevirtual |
True if named variable exists.
Reimplemented from exprDriver.
Definition at line 26 of file fvExprDriverI.H.
References Foam::name(), and exprDriver::variables_.
Referenced by getOrReadFieldImpl(), getVariable(), and parseDriver::getVariableIfAvailable().


|
inlinevirtual |
Return const-access to the named variable.
Reimplemented from exprDriver.
Definition at line 36 of file fvExprDriverI.H.
References Foam::name(), and exprDriver::variables_.

|
inline |
Test for existence of a local/global variable or a field.
Definition at line 82 of file fvExprDriverI.H.
References isField(), isVariable(), and Foam::name().

| tmp< Field< Type > > getVariable | ( | const word & | name, |
| const label | expectSize, | ||
| const bool | mandatory = true ) const |
Retrieve local/global variable as a tmp field.
| name | The name of the local/global field |
| expectSize | The size check on the variable, -1 to ignore |
| mandatory | A missing variable is Fatal, or return an invalid tmp |
References exprDriver::dict(), Foam::name(), and os().
Referenced by parseDriver::getPointField().


| Foam::word getFieldClassName | ( | const word & | name | ) | const |
Lookup the field class name (memory or read from disk).
Return empty if the name cannot be resolved.
Definition at line 562 of file fvExprDriver.C.
References mesh, Foam::name(), word::null, exprDriver::searchFiles(), and exprDriver::searchRegistry().

| Foam::topoSetSource::sourceType topoSetType | ( | const word & | name | ) | const |
Return cell/face/point set type or unknown.
Definition at line 587 of file fvExprDriver.C.
References topoSetSource::CELLSET_SOURCE, topoSetSource::FACESET_SOURCE, topoSet::findIOobject(), io, mesh, topoSetSource::POINTSET_SOURCE, and topoSetSource::UNKNOWN_SOURCE.
Referenced by isCellSet(), isFaceSet(), isPointSet(), and topoSourceType().


| Foam::topoSetSource::sourceType topoZoneType | ( | const word & | name | ) | const |
Return cell/face/point zone type or unknown.
Definition at line 609 of file fvExprDriver.C.
References topoSetSource::CELLZONE_SOURCE, topoSetSource::FACEZONE_SOURCE, mesh, topoSetSource::POINTZONE_SOURCE, and topoSetSource::UNKNOWN_SOURCE.
Referenced by topoSourceType().

| Foam::topoSetSource::sourceType topoSourceType | ( | const word & | name | ) | const |
Return cell/face/point zone/set type or unknown.
Definition at line 631 of file fvExprDriver.C.
References topoSetType(), topoZoneType(), and topoSetSource::UNKNOWN_SOURCE.

| Foam::refPtr< Foam::labelList > getTopoSetLabels | ( | const word & | name, |
| enum topoSetSource::sourceType | setType ) const |
Get the labels associated with the topo set.
Definition at line 31 of file fvExprDriverIO.C.
References topoSetSource::CELLSET_SOURCE, topoSetSource::CELLZONE_SOURCE, polyMesh::cellZones(), refPtr< T >::cref(), Foam::endl(), Foam::exit(), topoSetSource::FACESET_SOURCE, topoSetSource::FACEZONE_SOURCE, polyMesh::faceZones(), Foam::FatalError, FatalErrorInFunction, topoSet::findIOobject(), refPtr< T >::good(), io, mesh(), Foam::name(), refPtr< T >::New(), Foam::nl, topoSetSource::POINTSET_SOURCE, topoSetSource::POINTZONE_SOURCE, polyMesh::pointZones(), and refPtr< T >::reset().
Referenced by parseDriver::field_cellSelection(), parseDriver::field_faceSelection(), and parseDriver::field_pointSelection().


| bool isCellZone | ( | const word & | name | ) | const |
Test if name is a known cellZone.
Definition at line 675 of file fvExprDriver.C.
References mesh, and Foam::name().

| bool isFaceZone | ( | const word & | name | ) | const |
Test if name is a known faceZone.
Definition at line 681 of file fvExprDriver.C.
References mesh, and Foam::name().

| bool isPointZone | ( | const word & | name | ) | const |
Test if name is a known pointZone.
Definition at line 687 of file fvExprDriver.C.
References mesh, and Foam::name().

| bool isCellSet | ( | const word & | name | ) | const |
Test if name is a known cellSet.
Definition at line 645 of file fvExprDriver.C.
References topoSetSource::CELLSET_SOURCE, and topoSetType().

| bool isFaceSet | ( | const word & | name | ) | const |
Test if name is a known faceSet.
Definition at line 655 of file fvExprDriver.C.
References topoSetSource::FACESET_SOURCE, and topoSetType().

| bool isPointSet | ( | const word & | name | ) | const |
Test if name is a known pointSet.
Definition at line 665 of file fvExprDriver.C.
References topoSetSource::POINTSET_SOURCE, and topoSetType().

|
virtual |
Evaluate the expression and save as the specified named variable.
Definition at line 349 of file fvExprDriver.C.
References exprDriver::allowShadowing_, DebugInfo, Foam::endl(), IOobject::headerClassName(), mesh, Foam::nl, exprDriver::parse(), exprDriver::result_, exprDriver::variables_, and WarningInFunction.

|
virtual |
Evaluate an expression on a remote and save as the specified named variable.
The fully qualified form of the remote is given as follows
* type'name/region *
If not specified, the default type is "patch", which means the following are equivalent
* patch'name/region * name/region *
If region is identical to the current region, it can be omitted:
* patch'name * name (default is patch) *
Reimplemented from exprDriver.
Definition at line 397 of file fvExprDriver.C.
References objectRegistry::cfindObject(), DebugInfo, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, exprDriver::getRemoteResult(), exprResult::isUniform(), mesh, New(), Foam::nl, regionName, exprResult::testIfSingleValue(), fvMesh::time(), word::validate(), and exprDriver::variables_.

|
inline |
Test existence of a local/global variable.
Definition at line 66 of file fvExprDriverI.H.
References isGlobalVariable(), exprDriver::isLocalVariable(), and Foam::name().
Referenced by isVariableOrField().


| bool foundField | ( | const word & | name | ) | const |
Test if specified field can be found in memory or disk.
Definition at line 128 of file fvExprDriverTemplates.C.
References exprDriver::cfindContextIOobject(), Foam::endl(), getTypeOfField(), IOobject::headerClassName(), Foam::Info, mesh, Foam::name(), Foam::nl, exprDriver::searchFiles(), and exprDriver::searchRegistry().
Referenced by isField().


| Foam::word getTypeOfField | ( | const word & | fieldName | ) | const |
Read the IOobject for fieldName and return its headerClassName.
Empty if the field could not be found.
Definition at line 553 of file fvExprDriver.C.
References mesh.
Referenced by foundField(), parseDriver::getField(), getOrReadFieldImpl(), parseDriver::patchInternalField(), parseDriver::patchNeighbourField(), and parseDriver::patchNormalField().

|
virtual |
Read variables, tables etc.
Also usable for objects not constructed from a dictionary.
Reimplemented from exprDriver.
Reimplemented in parseDriver.
Definition at line 145 of file fvExprDriver.C.
References exprDriver::dict(), Foam::endl(), keyType::LITERAL, exprDriver::readDict(), entry::stream(), and WarningInFunction.
Referenced by fvExprDriver(), and parseDriver::readDict().


| Foam::Ostream & writeCommon | ( | Ostream & | os, |
| bool | debug = false ) const |
Write "variables", "storedVariables", "delayedVariables", "globalScopes" if they are present.
Definition at line 210 of file fvExprDriverIO.C.
References UList< T >::begin(), forAllConstIters, fvExprDriver(), os(), updateSpecialVariables(), exprDriver::variables_, exprDriver::writeFunctions(), and exprDriver::writeVariableStrings().

| void createWriterAndRead | ( | const word & | name | ) |
Create a writer for this object.
Definition at line 264 of file fvExprDriverIO.C.
References fvExprDriverWriter, hasDataToWrite(), Foam::name(), and Foam::type().

| void tryWrite | ( | ) | const |
Write data if appropriate Should enable exact restarts.
Definition at line 273 of file fvExprDriverIO.C.
References mesh.
|
inline |
Definition at line 100 of file fvExprDriverI.H.
References getOrReadFieldImpl(), mesh, and Foam::name().

|
inline |
Definition at line 119 of file fvExprDriverI.H.
References getOrReadFieldImpl(), mesh, Foam::name(), and MeshObject< polyMesh, UpdateableMeshObject, pointMesh >::New().

|
inline |
Definition at line 138 of file fvExprDriverI.H.
References exprDriver::cacheReadFields(), DebugInfo, IOobjectOption::MUST_READ, Foam::name(), Foam::nl, IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, and regIOobject::store().

| Foam::tmp< Foam::Field< Type > > getVariable | ( | const word & | name, |
| const label | expectedSize, | ||
| const bool | mandatory ) const |
Definition at line 70 of file fvExprDriverTemplates.C.
References refPtr< T >::cref(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::gAverage(), hasVariable(), isGlobalVariable(), Foam::isType(), lookupGlobal(), Foam::name(), Foam::New(), Foam::nl, Foam::returnReduceAnd(), UList< T >::size(), refPtr< T >::valid(), variable(), and WarningInFunction.

| Foam::tmp< GeomField > getOrReadFieldImpl | ( | const word & | name, |
| const Mesh & | meshRef, | ||
| bool | mandatory, | ||
| bool | getOldTime ) |
Definition at line 240 of file fvExprDriverTemplates.C.
References exprDriver::cfindContextObject(), dimensionSet::checking(), correctField(), refPtr< T >::cref(), defaultBoundaryType(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, fld(), Foam::gAverage(), getTypeOfField(), Foam::gMinMax(), hasVariable(), Foam::Info, isGlobalVariable(), Foam::isType(), lookupGlobal(), Foam::name(), Switch::name(), Foam::nl, Foam::Pout, range, readAndRegister(), tmp< T >::ref(), tmp< T >::reset(), Foam::returnReduceAnd(), exprDriver::searchFiles(), exprDriver::searchRegistry(), UList< T >::size(), refPtr< T >::valid(), tmp< T >::valid(), variable(), and WarningInFunction.

| Foam::autoPtr< T > getTopoSet | ( | const fvMesh & | mesh, |
| const word & | name, | ||
| SetOrigin & | origin ) const |
Definition at line 471 of file fvExprDriverTemplates.C.
References CACHE, cacheSets(), Foam::endl(), FILE, Foam::Info, INVALID, MEMORY, mesh(), IOobjectOption::MUST_READ, Foam::name(), Foam::nl, Foam::Pout, autoPtr< T >::reset(), Foam::T(), and T.

|
friend |
Definition at line 423 of file fvExprDriver.H.
References fvExprDriverWriter, and mesh().
Referenced by createWriterAndRead(), and fvExprDriverWriter.