Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
fvExpressionField Class Reference

Function object that generates or modifies a field based on expressions. More...

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

Public Types

enum  actionType : unsigned char { opNone = 0, opNew, opModify }
 

Public Member Functions

 TypeName ("exprField")
 
 fvExpressionField (const word &name, const Time &runTime, const dictionary &dict, const bool loadFromFiles=false)
 
 fvExpressionField (const fvExpressionField &)=delete
 
void operator= (const fvExpressionField &)=delete
 
virtual ~fvExpressionField ()
 
virtual word fieldName () const
 
virtual bool read (const dictionary &dict)
 
virtual bool execute ()
 
virtual bool write ()
 
- Public Member Functions inherited from fvMeshFunctionObject
 TypeName ("fvMeshFunctionObject")
 
 fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict)
 
 fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict)
 
virtual ~fvMeshFunctionObject ()=default
 
- Public Member Functions inherited from regionFunctionObject
 TypeName ("regionFunctionObject")
 
 regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict)
 
 regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict)
 
virtual ~regionFunctionObject ()=default
 
template<class ObjectType >
const ObjectType * lookupObjectPtr (const word &fieldName) const
 
template<class ObjectType >
ObjectType * lookupObjectRefPtr (const word &fieldName) const
 
- Public Member Functions inherited from stateFunctionObject
 stateFunctionObject (const word &name, const Time &runTime)
 
virtual ~stateFunctionObject ()=default
 
dictionarypropertyDict ()
 
bool foundProperty (const word &entryName) const
 
void clearTrigger ()
 
label getTrigger () const
 
bool setTrigger (const label triggeri, bool increaseOnly=true)
 
bool getDict (const word &entryName, dictionary &dict) const
 
bool getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const
 
template<class Type >
Type getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const
 
template<class Type >
bool getProperty (const word &entryName, Type &value) const
 
template<class Type >
void setProperty (const word &entryName, const Type &value)
 
template<class Type >
Type getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const
 
template<class Type >
bool getObjectProperty (const word &objectName, const word &entryName, Type &value) const
 
template<class Type >
void setObjectProperty (const word &objectName, const word &entryName, const Type &value)
 
template<class Type >
void setResult (const word &entryName, const Type &value)
 
template<class Type >
void setObjectResult (const word &objectName, const word &entryName, const Type &value)
 
template<class Type >
Type getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const
 
template<class Type >
Type getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const
 
template<class Type >
bool getObjectResult (const word &objectName, const word &entryName, Type &value) const
 
word resultType (const word &entryName) const
 
word objectResultType (const word &objectName, const word &entryName) const
 
wordList objectResultEntries () const
 
wordList objectResultEntries (const word &objectName) const
 
void writeResultEntries (Ostream &os) const
 
void writeResultEntries (const word &objectName, Ostream &os) const
 
void writeAllResultEntries (Ostream &os) const
 
- Public Member Functions inherited from timeFunctionObject
 timeFunctionObject (const word &name, const Time &runTime)
 
virtual ~timeFunctionObject ()=default
 
const Timetime () const
 
objectRegistrystoredObjects ()
 
const objectRegistrystoredObjects () const
 
- Public Member Functions inherited from functionObject
 declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict))
 
 functionObject (const word &name, const bool withNamePrefix=defaultUseNamePrefix)
 
autoPtr< functionObjectclone () const
 
virtual ~functionObject ()=default
 
virtual const wordtype () const =0
 
const wordname () const noexcept
 
bool useNamePrefix () const noexcept
 
bool useNamePrefix (bool on) noexcept
 
virtual bool execute (const label subIndex)
 
virtual bool end ()
 
virtual bool adjustTimeStep ()
 
virtual bool filesModified () const
 
virtual void updateMesh (const mapPolyMesh &mpm)
 
virtual void movePoints (const polyMesh &mesh)
 

Static Public Attributes

static const Enum< actionTypeactionNames_
 
- Static Public Attributes inherited from functionObject
static int debug
 
static bool postProcess
 
static bool defaultUseNamePrefix
 
static word outputPrefix
 

Protected Member Functions

template<class FieldType >
bool loadAndStore (const IOobject &io)
 
template<class Type >
bool loadField (const IOobject &io)
 
label loadFields (const UList< word > &fieldSet_)
 
template<class GeoField >
bool setField (GeoField &output, const GeoField &evaluated, const boolField &cond)
 
bool performAction (bool doWrite)
 
- Protected Member Functions inherited from fvMeshFunctionObject
 fvMeshFunctionObject (const fvMeshFunctionObject &)=delete
 
void operator= (const fvMeshFunctionObject &)=delete
 
- Protected Member Functions inherited from regionFunctionObject
virtual const objectRegistryobr () const
 
template<class ObjectType >
bool foundObject (const word &fieldName) const
 
template<class ObjectType >
const ObjectType * cfindObject (const word &fieldName) const
 
template<class ObjectType >
const ObjectType * findObject (const word &fieldName) const
 
template<class ObjectType >
ObjectType * findObject (const word &fieldName)
 
template<class ObjectType >
ObjectType * getObjectPtr (const word &fieldName) const
 
template<class ObjectType >
const ObjectType & lookupObject (const word &fieldName) const
 
template<class ObjectType >
ObjectType & lookupObjectRef (const word &fieldName) const
 
template<class ObjectType >
bool store (word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false)
 
template<class ObjectType >
bool storeInDb (const word &fieldName, const tmp< ObjectType > &tfield, const objectRegistry &obr)
 
bool writeObject (const word &fieldName)
 
bool clearObject (const word &fieldName)
 
void clearObjects (const wordList &objNames)
 
 regionFunctionObject (const regionFunctionObject &)=delete
 
void operator= (const regionFunctionObject &)=delete
 
- Protected Member Functions inherited from stateFunctionObject
const functionObjects::propertiesstateDict () const
 
functionObjects::propertiesstateDict ()
 
 stateFunctionObject (const stateFunctionObject &)=delete
 
void operator= (const stateFunctionObject &)=delete
 
- Protected Member Functions inherited from timeFunctionObject
void clearOutputObjects (const wordList &objNames)
 
 timeFunctionObject (const timeFunctionObject &)=delete
 
void operator= (const timeFunctionObject &)=delete
 
- Protected Member Functions inherited from functionObject
word scopedName (const word &name) const
 

Protected Attributes

dictionary dict_
 
word fieldName_
 
wordList preloadFields_
 
expressions::exprString maskExpr_
 
expressions::exprString valueExpr_
 
dimensionSet dimensions_
 
actionType action_
 
bool autowrite_
 
bool store_
 
bool hasDimensions_
 
bool loadFromFiles_
 
autoPtr< expressions::volumeExprDriverdriver_
 
- Protected Attributes inherited from fvMeshFunctionObject
const fvMeshmesh_
 
- Protected Attributes inherited from regionFunctionObject
word subRegistryName_
 
const objectRegistryobr_
 
const objectRegistryobrPtr_
 
- Protected Attributes inherited from timeFunctionObject
const Timetime_
 

Additional Inherited Members

- Static Public Member Functions inherited from functionObject
static autoPtr< functionObjectNew (const word &name, const Time &runTime, const dictionary &dict)
 
- Public Attributes inherited from functionObject
bool log
 

Detailed Description

Function object that generates or modifies a field based on expressions.

Usage
A minimal example:
<name1>
{
    type    exprField;
    libs    (fieldFunctionObjects);
    field   pTotal;

    expression  "p + 0.5*(rho*magSqr(U))";
    dimensions  [ Pa ];
}

// Modify an existing field
<name2>
{
    type    exprField;
    libs    (fieldFunctionObjects);
    field   pTotal;
    action  modify;

    // Static pressure only in these regions
    fieldMask   "(mag(pos()) < 0.05) && (pos().y() > 0)";
    expression  "p";
}

where the entries mean:

Property Description Type Reqd Dflt
type Type name: exprField word yes
libs Libraries: fieldFunctionObjects wordList yes
field Name of input or output field word yes
expression Field evaluation expression string yes
action Type of operation: see below word no new
autowrite Add AUTO_WRITE to created field bool no false
store Store calculated field bool no true
fieldMask Masking as logical expression string no ""
dimensions Apply specified dimensions to created field dim-spec no
readFields Preload named fields (post-process mode) wordList no
useNamePrefix Add prefix scoping to output name bool no false

Options for the action entry:

none : No operation
new : Define field based on expression (default)
modify : Adjust field according to expression and fieldMask
Note
The useNamePrefix entry is always ignored for the modify action.
Source files

Definition at line 191 of file fvExpressionField.H.

Member Enumeration Documentation

◆ actionType

enum actionType : unsigned char
Enumerator
opNone 

No operation.

opNew 

Create/overwrite field (default)

opModify 

Modify existing field.

Definition at line 200 of file fvExpressionField.H.

Constructor & Destructor Documentation

◆ fvExpressionField() [1/2]

fvExpressionField ( const word name,
const Time runTime,
const dictionary dict,
const bool  loadFromFiles = false 
)

Definition at line 294 of file fvExpressionField.C.

References dict, and Foam::read().

Here is the call graph for this function:

◆ fvExpressionField() [2/2]

fvExpressionField ( const fvExpressionField )
delete

◆ ~fvExpressionField()

~fvExpressionField ( )
virtual

Definition at line 320 of file fvExpressionField.C.

Member Function Documentation

◆ loadAndStore()

bool loadAndStore ( const IOobject io)
protected

Definition at line 125 of file fvExpressionField.C.

References Foam::endl(), IOobject::headerClassName(), Log, fvMeshFunctionObject::mesh_, and IOobject::name().

Here is the call graph for this function:

◆ loadField()

bool loadField ( const IOobject io)
protected

|| loadAndStore<IntVolFieldType>(io)

Definition at line 142 of file fvExpressionField.C.

◆ loadFields()

Foam::label loadFields ( const UList< word > &  fieldSet_)
protected

Definition at line 158 of file fvExpressionField.C.

References DebugInfo, Foam::endl(), IOobject::headerClassName(), IOobject::MUST_READ, IOobject::NO_WRITE, and IOobject::typeHeaderOk().

Here is the call graph for this function:

◆ setField()

bool setField ( GeoField &  output,
const GeoField &  evaluated,
const boolField cond 
)
protected

◆ performAction()

bool performAction ( bool  doWrite)
protected

◆ TypeName()

TypeName ( "exprField"  )

◆ operator=()

void operator= ( const fvExpressionField )
delete

◆ fieldName()

Foam::word fieldName ( ) const
virtual

Definition at line 326 of file fvExpressionField.C.

References word::null.

◆ read()

bool read ( const dictionary dict)
virtual

Reimplemented from regionFunctionObject.

Definition at line 348 of file fvExpressionField.C.

References dict, Foam::endl(), Log, Foam::name(), Foam::nl, regionFunctionObject::read(), exprDriver::SEARCH_FILES, exprDriver::SEARCH_REGISTRY, and Foam::type().

Here is the call graph for this function:

◆ execute()

bool execute ( )
virtual

Implements functionObject.

Definition at line 677 of file fvExpressionField.C.

◆ write()

bool write ( )
virtual

Implements functionObject.

Definition at line 683 of file fvExpressionField.C.

Member Data Documentation

◆ actionNames_

Definition at line 208 of file fvExpressionField.H.

◆ dict_

dictionary dict_
protected

Definition at line 216 of file fvExpressionField.H.

◆ fieldName_

word fieldName_
protected

Definition at line 219 of file fvExpressionField.H.

◆ preloadFields_

wordList preloadFields_
protected

Definition at line 222 of file fvExpressionField.H.

◆ maskExpr_

expressions::exprString maskExpr_
protected

Definition at line 225 of file fvExpressionField.H.

◆ valueExpr_

expressions::exprString valueExpr_
protected

Definition at line 228 of file fvExpressionField.H.

◆ dimensions_

dimensionSet dimensions_
protected

Definition at line 231 of file fvExpressionField.H.

◆ action_

actionType action_
protected

Definition at line 234 of file fvExpressionField.H.

◆ autowrite_

bool autowrite_
protected

Definition at line 237 of file fvExpressionField.H.

◆ store_

bool store_
protected

Definition at line 240 of file fvExpressionField.H.

◆ hasDimensions_

bool hasDimensions_
protected

Definition at line 243 of file fvExpressionField.H.

◆ loadFromFiles_

bool loadFromFiles_
protected

Definition at line 246 of file fvExpressionField.H.

◆ driver_

Definition at line 248 of file fvExpressionField.H.


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