Function object that generates or modifies a field based on expressions. More...
Public Types | |
enum | actionType : unsigned char { opNone = 0 , opNew , opModify } |
Action type enumeration. More... | |
Public Member Functions | |
TypeName ("exprField") | |
Runtime type information. More... | |
fvExpressionField (const word &name, const Time &runTime, const dictionary &dict, const bool loadFromFiles=false) | |
Construct from Time and dictionary. More... | |
fvExpressionField (const fvExpressionField &)=delete | |
No copy construct. More... | |
void | operator= (const fvExpressionField &)=delete |
No copy assignment. More... | |
virtual | ~fvExpressionField () |
Destructor. More... | |
virtual word | fieldName () const |
Qualified/unqualified field name (depends on action) More... | |
virtual bool | read (const dictionary &dict) |
Read the data. More... | |
virtual bool | execute () |
Execute. More... | |
virtual bool | write () |
Write. More... | |
Public Member Functions inherited from fvMeshFunctionObject | |
TypeName ("fvMeshFunctionObject") | |
Runtime type information. More... | |
fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
Construct from the region objectRegistry and dictionary. More... | |
virtual | ~fvMeshFunctionObject ()=default |
Destructor. More... | |
Public Member Functions inherited from regionFunctionObject | |
TypeName ("regionFunctionObject") | |
Runtime type information. More... | |
regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
Construct from the region objectRegistry and dictionary. More... | |
virtual | ~regionFunctionObject ()=default |
Destructor. More... | |
virtual bool | read (const dictionary &dict) |
Read optional controls. More... | |
template<class ObjectType > | |
const ObjectType * | lookupObjectPtr (const word &fieldName) const |
Deprecated(2018-10) More... | |
template<class ObjectType > | |
ObjectType * | lookupObjectRefPtr (const word &fieldName) const |
Deprecated(2018-10) More... | |
Public Member Functions inherited from stateFunctionObject | |
stateFunctionObject (const word &name, const Time &runTime) | |
Construct from components. More... | |
virtual | ~stateFunctionObject ()=default |
Destructor. More... | |
dictionary & | propertyDict () |
Return access to the property dictionary. More... | |
bool | foundProperty (const word &entryName) const |
Return true if the property exists. More... | |
void | clearTrigger () |
Remove the trigger index from the properties. More... | |
label | getTrigger () const |
Get the current trigger index. More... | |
bool | setTrigger (const label triggeri) |
Set new trigger index. More... | |
bool | getDict (const word &entryName, dictionary &dict) const |
Set dictionary, return true if set. More... | |
bool | getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const |
Set dictionary from named object, return true if set. More... | |
template<class Type > | |
Type | getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve generic property. More... | |
template<class Type > | |
bool | getProperty (const word &entryName, Type &value) const |
Set generic property, return true if set. More... | |
template<class Type > | |
void | setProperty (const word &entryName, const Type &value) |
Add generic property. More... | |
template<class Type > | |
Type | getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve generic property from named object. More... | |
template<class Type > | |
bool | getObjectProperty (const word &objectName, const word &entryName, Type &value) const |
Set generic property from named object, return true if set. More... | |
template<class Type > | |
void | setObjectProperty (const word &objectName, const word &entryName, const Type &value) |
Add generic property from named object. More... | |
template<class Type > | |
void | setResult (const word &entryName, const Type &value) |
Add result. More... | |
template<class Type > | |
void | setObjectResult (const word &objectName, const word &entryName, const Type &value) |
Add result from named object. More... | |
template<class Type > | |
Type | getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve result. More... | |
template<class Type > | |
Type | getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve result from named object. More... | |
template<class Type > | |
bool | getObjectResult (const word &objectName, const word &entryName, Type &value) const |
Set result from named object, return true if set. More... | |
word | resultType (const word &entryName) const |
Retrieve the result type. More... | |
word | objectResultType (const word &objectName, const word &entryName) const |
Return the type of result. More... | |
wordList | objectResultEntries () const |
Retrieve the result entries. More... | |
wordList | objectResultEntries (const word &objectName) const |
Return result entries for named object. More... | |
void | writeResultEntries (Ostream &os) const |
Write the results entries for all objects to stream. More... | |
void | writeResultEntries (const word &objectName, Ostream &os) const |
Write the results entries for named object to stream. More... | |
void | writeAllResultEntries (Ostream &os) const |
Write the results entries for all objects to stream. More... | |
Public Member Functions inherited from timeFunctionObject | |
timeFunctionObject (const word &name, const Time &runTime) | |
Construct from Time. More... | |
virtual | ~timeFunctionObject ()=default |
Destructor. More... | |
const Time & | time () const |
Return time database. More... | |
objectRegistry & | storedObjects () |
const objectRegistry & | storedObjects () 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) | |
Construct from components. More... | |
autoPtr< functionObject > | clone () const |
Return clone. More... | |
virtual | ~functionObject ()=default |
Destructor. More... | |
virtual const word & | type () const =0 |
Runtime type information. More... | |
const word & | name () const noexcept |
Return the name of this functionObject. More... | |
bool | useNamePrefix () const noexcept |
Return the flag for adding a scoping name prefix. More... | |
bool | useNamePrefix (bool on) noexcept |
Modify the flag for adding a scoping name prefix. More... | |
virtual bool | read (const dictionary &dict) |
Read and set the function object if its data have changed. More... | |
virtual bool | execute ()=0 |
Called at each ++ or += of the time-loop. More... | |
virtual bool | execute (const label subIndex) |
Execute using the specified subIndex. More... | |
virtual bool | write ()=0 |
Called at each ++ or += of the time-loop. More... | |
virtual bool | end () |
Called when Time::run() determines that the time-loop exits. More... | |
virtual bool | adjustTimeStep () |
Called at the end of Time::adjustDeltaT() if adjustTime is true. More... | |
virtual bool | filesModified () const |
Did any file get changed during execution? More... | |
virtual void | updateMesh (const mapPolyMesh &mpm) |
Update for changes of mesh. More... | |
virtual void | movePoints (const polyMesh &mesh) |
Update for changes of mesh. More... | |
Static Public Attributes | |
static const Enum< actionType > | actionNames_ |
Action type names. More... | |
Static Public Attributes inherited from functionObject | |
static int | debug |
Flag to execute debug content. More... | |
static bool | postProcess |
Global post-processing mode switch. More... | |
static bool | defaultUseNamePrefix |
Global default for useNamePrefix. More... | |
static word | outputPrefix |
Directory prefix. More... | |
Protected Member Functions | |
template<class FieldType > | |
bool | loadAndStore (const IOobject &io) |
Attempt load from io, store on database if successful. More... | |
template<class Type > | |
bool | loadField (const IOobject &io) |
Forward to loadAndStore for supported types. More... | |
label | loadFields (const UList< word > &fieldSet_) |
Attempt to load specified fields. More... | |
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 | |
No copy construct. More... | |
void | operator= (const fvMeshFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from regionFunctionObject | |
virtual const objectRegistry & | obr () const |
The region or sub-region registry being used. More... | |
template<class ObjectType > | |
bool | foundObject (const word &fieldName) const |
Find object (eg, a field) in the (sub) objectRegistry. More... | |
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 |
Lookup and return object (eg, a field) from the (sub) objectRegistry. More... | |
template<class ObjectType > | |
ObjectType & | lookupObjectRef (const word &fieldName) const |
Lookup and return object (eg, a field) from the (sub) objectRegistry. More... | |
template<class ObjectType > | |
bool | store (word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false) |
Store the field in the (sub) objectRegistry under the given name. More... | |
template<class ObjectType > | |
bool | storeInDb (const word &fieldName, const tmp< ObjectType > &tfield, const objectRegistry &obr) |
Store the field in an optional objectRegistry under the given name. More... | |
bool | writeObject (const word &fieldName) |
Write field if present in the (sub) objectRegistry. More... | |
bool | clearObject (const word &fieldName) |
Clear field from the (sub) objectRegistry if present. More... | |
void | clearObjects (const wordList &objNames) |
Clear fields from the (sub) objectRegistry if present. More... | |
regionFunctionObject (const regionFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const regionFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from stateFunctionObject | |
const functionObjects::properties & | stateDict () const |
Return a const reference to the state dictionary. More... | |
functionObjects::properties & | stateDict () |
Return non-const access to the state dictionary. More... | |
stateFunctionObject (const stateFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const stateFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from timeFunctionObject | |
void | clearOutputObjects (const wordList &objNames) |
Remove specified items from "functionObjectObjects". More... | |
timeFunctionObject (const timeFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const timeFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from functionObject | |
word | scopedName (const word &name) const |
Return a scoped (prefixed) name. More... | |
Protected Attributes | |
dictionary | dict_ |
The context dictionary. More... | |
word | fieldName_ |
Name of the field. More... | |
wordList | preloadFields_ |
Names fields to preload. More... | |
expressions::exprString | maskExpr_ |
The field-mask expression (modify mode) More... | |
expressions::exprString | valueExpr_ |
Expression to evaluate. More... | |
dimensionSet | dimensions_ |
Dimensions for new field. More... | |
actionType | action_ |
Operation mode. More... | |
bool | autowrite_ |
Set AUTO_WRITE for new field. More... | |
bool | store_ |
Store calculated field. More... | |
bool | hasDimensions_ |
True if dimensions_ should be used (creation) More... | |
bool | loadFromFiles_ |
Load fields from files (not from objectRegistry) More... | |
autoPtr< expressions::volumeExprDriver > | driver_ |
Protected Attributes inherited from fvMeshFunctionObject | |
const fvMesh & | mesh_ |
Reference to the fvMesh. More... | |
Protected Attributes inherited from regionFunctionObject | |
word | subRegistryName_ |
Name for alternative object registry. More... | |
const objectRegistry & | obr_ |
Reference to the region objectRegistry. More... | |
const objectRegistry * | obrPtr_ |
Pointer to alternative (eg, sub-region) objectRegistry. More... | |
Protected Attributes inherited from timeFunctionObject | |
const Time & | time_ |
Reference to the time database. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from functionObject | |
static autoPtr< functionObject > | New (const word &name, const Time &runTime, const dictionary &dict) |
Select from dictionary, based on its "type" entry. More... | |
Public Attributes inherited from functionObject | |
bool | log |
Flag to write log into Info. More... | |
Function object that generates or modifies a field based on expressions.
<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 |
useNamePrefix
entry is always ignored for the modify
action.Definition at line 195 of file fvExpressionField.H.
enum actionType : unsigned char |
Action type enumeration.
Enumerator | |
---|---|
opNone | No operation. |
opNew | Create/overwrite field (default) |
opModify | Modify existing field. |
Definition at line 204 of file fvExpressionField.H.
fvExpressionField | ( | const word & | name, |
const Time & | runTime, | ||
const dictionary & | dict, | ||
const bool | loadFromFiles = false |
||
) |
Construct from Time and dictionary.
Definition at line 296 of file fvExpressionField.C.
References dict, and fvExpressionField::read().
|
delete |
No copy construct.
|
virtual |
Destructor.
Definition at line 323 of file fvExpressionField.C.
Attempt load from io, store on database if successful.
Definition at line 132 of file fvExpressionField.C.
References Foam::endl(), io(), IOobject::isHeaderClass(), Log, fvMeshFunctionObject::mesh_, and IOobject::name().
Forward to loadAndStore for supported types.
|| loadAndStore<VolumeInternalField<Type>>(io)
Definition at line 149 of file fvExpressionField.C.
References io().
Attempt to load specified fields.
Definition at line 160 of file fvExpressionField.C.
References DebugInfo, Foam::endl(), io(), IOobject::MUST_READ, and IOobject::NO_WRITE.
Definition at line 222 of file fvExpressionField.C.
References Foam::doCorrectBoundaryConditions(), UList< T >::empty(), Foam::endl(), forAll, Foam::Info, IOstream::name(), Foam::name(), Foam::nl, Foam::output(), Foam::reduce(), and Foam::returnReduce().
Definition at line 444 of file fvExpressionField.C.
References IOobject::AUTO_WRITE, doLocalCode, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::fieldGeoType(), autoPtr< T >::get(), Foam::name(), Foam::nl, autoPtr< T >::release(), autoPtr< T >::reset(), Foam::type(), and WarningInFunction.
TypeName | ( | "exprField" | ) |
Runtime type information.
|
delete |
No copy assignment.
|
virtual |
Qualified/unqualified field name (depends on action)
Definition at line 329 of file fvExpressionField.C.
References word::null.
|
virtual |
Read the data.
Reimplemented from regionFunctionObject.
Definition at line 351 of file fvExpressionField.C.
References dict, Foam::endl(), Log, Foam::name(), Foam::nl, kEpsilonLopesdaCosta< BasicTurbulenceModel >::read(), exprDriver::SEARCH_FILES, exprDriver::SEARCH_REGISTRY, and Foam::type().
Referenced by fvExpressionField::fvExpressionField().
|
virtual |
|
virtual |
|
static |
Action type names.
Definition at line 212 of file fvExpressionField.H.
|
protected |
The context dictionary.
Definition at line 220 of file fvExpressionField.H.
|
protected |
Name of the field.
Definition at line 223 of file fvExpressionField.H.
|
protected |
Names fields to preload.
Definition at line 226 of file fvExpressionField.H.
|
protected |
The field-mask expression (modify mode)
Definition at line 229 of file fvExpressionField.H.
|
protected |
Expression to evaluate.
Definition at line 232 of file fvExpressionField.H.
|
protected |
Dimensions for new field.
Definition at line 235 of file fvExpressionField.H.
|
protected |
Operation mode.
Definition at line 238 of file fvExpressionField.H.
|
protected |
Set AUTO_WRITE for new field.
Definition at line 241 of file fvExpressionField.H.
|
protected |
Store calculated field.
Definition at line 244 of file fvExpressionField.H.
|
protected |
True if dimensions_ should be used (creation)
Definition at line 247 of file fvExpressionField.H.
|
protected |
Load fields from files (not from objectRegistry)
Definition at line 250 of file fvExpressionField.H.
|
protected |
Definition at line 252 of file fvExpressionField.H.