Computes various turbulence-related quantities that are not typically output during calculations, and stores/writes them on the mesh database for further manipulation. More...
#include <turbulenceFields.H>


Public Types | |
| enum | compressibleField { cfK , cfEpsilon , cfOmega , cfNuTilda , cfMut , cfMuEff , cfAlphat , cfAlphaEff , cfR , cfDevRhoReff , cfL , cfI , cfLESRegion , cffd } |
| Options for the turbulence fields (compressible). More... | |
| enum | incompressibleField { ifK , ifEpsilon , ifOmega , ifNuTilda , ifNut , ifNuEff , ifR , ifDevReff , ifL , ifI , ifLESRegion , iffd } |
| Options for the turbulence fields (incompressible). More... | |
Public Member Functions | |
| TypeName ("turbulenceFields") | |
| Runtime type information. | |
| turbulenceFields (const word &name, const Time &runTime, const dictionary &dict) | |
| Construct from name, Time and dictionary. | |
| turbulenceFields (const turbulenceFields &)=delete | |
| No copy construct. | |
| void | operator= (const turbulenceFields &)=delete |
| No copy assignment. | |
| virtual | ~turbulenceFields ()=default |
| Destructor. | |
| virtual bool | read (const dictionary &dict) |
| Read the function-object dictionary. | |
| virtual bool | execute () |
| Execute the function-object operations. | |
| virtual bool | write () |
| Write the function-object results. | |
| template<class Model> | |
| Foam::tmp< Foam::volScalarField > | nuTilda (const Model &model) const |
| template<class Model> | |
| Foam::tmp< Foam::volScalarField > | L (const Model &model) const |
| template<class Model> | |
| Foam::tmp< Foam::volScalarField > | I (const Model &model) const |
| Public Member Functions inherited from fvMeshFunctionObject | |
| TypeName ("fvMeshFunctionObject") | |
| Runtime type information. | |
| fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
| Construct from Time and dictionary. | |
| fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
| Construct from the region objectRegistry and dictionary. | |
| virtual | ~fvMeshFunctionObject ()=default |
| Destructor. | |
| Public Member Functions inherited from regionFunctionObject | |
| TypeName ("regionFunctionObject") | |
| Runtime type information. | |
| regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
| Construct from Time and dictionary. | |
| regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
| Construct from the region objectRegistry and dictionary. | |
| virtual | ~regionFunctionObject ()=default |
| Destructor. | |
| template<class ObjectType> | |
| const ObjectType * | lookupObjectPtr (const word &fieldName) const |
| Deprecated(2018-10). | |
| template<class ObjectType> | |
| ObjectType * | lookupObjectRefPtr (const word &fieldName) const |
| Deprecated(2018-10). | |
| Public Member Functions inherited from stateFunctionObject | |
| stateFunctionObject (const word &name, const Time &runTime) | |
| Construct from components. | |
| virtual | ~stateFunctionObject ()=default |
| Destructor. | |
| dictionary & | propertyDict () |
| Return access to the property dictionary. | |
| bool | foundProperty (const word &entryName) const |
| Return true if the property exists. | |
| void | clearTrigger () |
| Remove the trigger index from the properties. | |
| label | getTrigger () const |
| Get the current trigger index. | |
| bool | setTrigger (const label triggeri) |
| Set new trigger index. | |
| bool | getDict (const word &entryName, dictionary &dict) const |
| Set dictionary, return true if set. | |
| bool | getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const |
| Set dictionary from named object, return true if set. | |
| template<class Type> | |
| Type | getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property. | |
| template<class Type> | |
| bool | getProperty (const word &entryName, Type &value) const |
| Set generic property, return true if set. | |
| template<class Type> | |
| void | setProperty (const word &entryName, const Type &value) |
| Add generic property. | |
| template<class Type> | |
| Type | getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property from named object. | |
| template<class Type> | |
| bool | getObjectProperty (const word &objectName, const word &entryName, Type &value) const |
| Set generic property from named object, return true if set. | |
| template<class Type> | |
| void | setObjectProperty (const word &objectName, const word &entryName, const Type &value) |
| Add generic property from named object. | |
| bool | getObjectResultDict (const word &objectName, dictionary &dict) const |
| template<class Type> | |
| void | setResult (const word &entryName, const Type &value) |
| Add result. | |
| template<class Type> | |
| void | setObjectResult (const word &objectName, const word &entryName, const Type &value) |
| Add result from named object. | |
| template<class Type> | |
| Type | getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve result. | |
| template<class Type> | |
| Type | getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve result from named object. | |
| template<class Type> | |
| bool | getObjectResult (const word &objectName, const word &entryName, Type &value) const |
| Set result from named object, return true if set. | |
| word | resultType (const word &entryName) const |
| Retrieve the result type. | |
| word | objectResultType (const word &objectName, const word &entryName) const |
| Return the type of result. | |
| wordList | objectResultEntries () const |
| Retrieve the result entries. | |
| wordList | objectResultEntries (const word &objectName) const |
| Return result entries for named object. | |
| void | writeResultEntries (Ostream &os) const |
| Write the results entries for all objects to stream. | |
| void | writeResultEntries (const word &objectName, Ostream &os) const |
| Write the results entries for named object to stream. | |
| void | writeAllResultEntries (Ostream &os) const |
| Write the results entries for all objects to stream. | |
| Public Member Functions inherited from timeFunctionObject | |
| timeFunctionObject (const word &name, const Time &runTime) | |
| Construct from Time. | |
| virtual | ~timeFunctionObject ()=default |
| Destructor. | |
| const Time & | time () const |
| Return time database. | |
| objectRegistry & | storedObjects () |
| Write access to the output objects ("functionObjectObjects") registered on Time. | |
| const objectRegistry & | storedObjects () const |
| Const access to the output objects ("functionObjectObjects") registered on Time. | |
| 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. | |
| autoPtr< functionObject > | clone () const |
| Return clone. | |
| virtual | ~functionObject ()=default |
| Destructor. | |
| virtual const word & | type () const =0 |
| Runtime type information. | |
| const word & | name () const noexcept |
| Return the name of this functionObject. | |
| bool | useNamePrefix () const noexcept |
| Return the flag for adding a scoping name prefix. | |
| bool | useNamePrefix (bool on) noexcept |
| Modify the flag for adding a scoping name prefix. | |
| virtual bool | execute (const label subIndex) |
| Execute using the specified subIndex. | |
| virtual bool | end () |
| Called when Time::run() determines that the time-loop exits. | |
| virtual bool | adjustTimeStep () |
| Called at the end of Time::adjustDeltaT() if adjustTime is true. | |
| virtual bool | filesModified () const |
| Did any file get changed during execution? | |
| virtual void | updateMesh (const mapPolyMesh &mpm) |
| Update for changes of mesh. | |
| virtual void | movePoints (const polyMesh &mesh) |
| Update for changes of mesh. | |
Static Public Attributes | |
| static const Enum< compressibleField > | compressibleFieldNames_ |
| Names for compressibleField turbulence fields. | |
| static const Enum< incompressibleField > | incompressibleFieldNames_ |
| Names for incompressibleField turbulence fields. | |
| static const word | modelName_ |
| Name of the turbulence properties dictionary. | |
| Static Public Attributes inherited from functionObject | |
| static int | debug |
| Flag to execute debug content. | |
| static bool | postProcess |
| Global post-processing mode switch. | |
| static bool | defaultUseNamePrefix |
| Global default for useNamePrefix. | |
| static word | outputPrefix |
| Directory prefix. | |
Protected Member Functions | |
| void | initialise () |
| Unset duplicate fields already registered by other function objects. | |
| bool | compressible () |
| Return true if compressible turbulence model is identified. | |
| template<class Type> | |
| void | processField (const word &fieldName, const tmp< GeometricField< Type, fvPatchField, volMesh > > &tvalue) |
| Process the turbulence field. | |
| template<class Model> | |
| tmp< volScalarField > | nuTilda (const Model &model) const |
| Return nuTilda calculated from k and omega. | |
| template<class Model> | |
| tmp< volScalarField > | L (const Model &model) const |
| Return integral length scale, L, calculated from k and epsilon. | |
| template<class Model> | |
| tmp< volScalarField > | I (const Model &model) const |
| Return turbulence intensity, I, calculated from k and U. | |
| Protected Member Functions inherited from fvMeshFunctionObject | |
| fvMeshFunctionObject (const fvMeshFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const fvMeshFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from regionFunctionObject | |
| virtual const objectRegistry & | obr () const |
| The region or sub-region registry being used. | |
| template<class ObjectType> | |
| bool | foundObject (const word &fieldName) const |
| Find object (eg, a field) in the (sub) objectRegistry. | |
| template<class ObjectType> | |
| const ObjectType * | cfindObject (const word &fieldName) const |
| Return const pointer to the object (eg, a field) in the (sub) objectRegistry. | |
| template<class ObjectType> | |
| const ObjectType * | findObject (const word &fieldName) const |
| Return const pointer to the object (eg, a field) in the (sub) objectRegistry. | |
| template<class ObjectType> | |
| ObjectType * | findObject (const word &fieldName) |
| Return non-const pointer to the object of the given Type, (sub) objectRegistry. | |
| template<class ObjectType> | |
| ObjectType * | getObjectPtr (const word &fieldName) const |
| Return non-const pointer to the object of the given Type, using a const-cast to have it behave like a mutable. | |
| template<class ObjectType> | |
| const ObjectType & | lookupObject (const word &fieldName) const |
| Lookup and return object (eg, a field) from the (sub) objectRegistry. | |
| template<class ObjectType> | |
| ObjectType & | lookupObjectRef (const word &fieldName) const |
| Lookup and return object (eg, a field) from the (sub) objectRegistry. | |
| 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. | |
| 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. | |
| bool | writeObject (const word &fieldName) |
| Write field if present in the (sub) objectRegistry. | |
| bool | clearObject (const word &fieldName) |
| Clear field from the (sub) objectRegistry if present. | |
| void | clearObjects (const wordList &objNames) |
| Clear fields from the (sub) objectRegistry if present. | |
| regionFunctionObject (const regionFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const regionFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from stateFunctionObject | |
| const functionObjects::properties & | stateDict () const |
| Return a const reference to the state dictionary. | |
| functionObjects::properties & | stateDict () |
| Return non-const access to the state dictionary. | |
| stateFunctionObject (const stateFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const stateFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from timeFunctionObject | |
| void | clearOutputObjects (const wordList &objNames) |
| Remove specified items from "functionObjectObjects". | |
| timeFunctionObject (const timeFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const timeFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from functionObject | |
| word | scopedName (const word &name) const |
| Return a scoped (prefixed) name. | |
Protected Attributes | |
| bool | initialised_ |
| Flag to track initialisation. | |
| word | prefix_ |
| Name of output-field prefix. | |
| wordHashSet | fieldSet_ |
| Fields to load. | |
| Protected Attributes inherited from fvMeshFunctionObject | |
| const fvMesh & | mesh_ |
| Reference to the fvMesh. | |
| Protected Attributes inherited from regionFunctionObject | |
| word | subRegistryName_ |
| Name for alternative object registry. | |
| const objectRegistry & | obr_ |
| Reference to the region objectRegistry. | |
| const objectRegistry * | obrPtr_ |
| Pointer to alternative (eg, sub-region) objectRegistry. | |
| Protected Attributes inherited from timeFunctionObject | |
| const Time & | time_ |
| Reference to the time database. | |
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. | |
| Public Attributes inherited from functionObject | |
| bool | log |
| Flag to write log into Info. | |
Computes various turbulence-related quantities that are not typically output during calculations, and stores/writes them on the mesh database for further manipulation.
Fields are stored as copies of the original with a user-defined prefix e.g. a prefix of turbulenceModel yields the following for field R:
turbulenceModel:R
Operands:
| Operand | Type | Location |
|---|---|---|
input | - | - |
output file | - | - |
output field | vol<Type>Field | <time>/outputFields |
where Type can be one of: Scalar or SymmTensor.
References:
Estimation expressions for L (tag:P), Eq. 10.37:
Pope, S. B. (2000).
Turbulent flows.
Cambridge, UK: Cambridge Univ. Press
DOI:10.1017/CBO9780511840531
system/controlDict.functions: turbulenceFieldsFO
{
// Mandatory entries
type turbulenceFields;
libs (fieldFunctionObjects);
// Conditional entries
// Either of the below
// Option-1
fields (R devRhoReff);
// Option-2
field R;
// Optional entries
prefix <word>;
// Inherited entries
...
}
where the entries mean:
| Property | Description | Type | Reqd | Deflt |
|---|---|---|---|---|
type | Type name: turbulenceFields | word | yes | - |
libs | Library name: fieldFunctionObjects | word | yes | - |
fields | Names of fields to store (see below) | wordList | yes | - |
field | Name of a field to store (see below) | word | yes | - |
prefix | Name of output-field prefix | word | no | turbulenceProperties |
where fields can include:
k | turbulent kinetic energy
epsilon | turbulent kinetic energy dissipation rate
omega | specific dissipation rate
nuTilda | modified turbulent viscosity
nut | turbulent viscosity (incompressible)
nuEff | effective turbulent viscosity (incompressible)
mut | turbulent viscosity (compressible)
muEff | effective turbulent viscosity (compressible)
alphat | turbulence thermal diffusivity (compressible)
alphaEff | effective turbulence thermal diffusivity (compressible)
R | Reynolds stress tensor
devReff | deviatoric part of the effective Reynolds stress
devRhoReff | divergence of the Reynolds stress
L | integral-length scale / mixing-length scale
I | turbulence intensity
The inherited entries are elaborated in:
nuTilda is an approximation based on a dimensional analysis.Definition at line 200 of file turbulenceFields.H.
| enum compressibleField |
Options for the turbulence fields (compressible).
Definition at line 211 of file turbulenceFields.H.
| enum incompressibleField |
Options for the turbulence fields (incompressible).
Definition at line 237 of file turbulenceFields.H.
| turbulenceFields | ( | const word & | name, |
| const Time & | runTime, | ||
| const dictionary & | dict ) |
Construct from name, Time and dictionary.
Definition at line 133 of file turbulenceFields.C.
References dict, fieldSet_, fvMeshFunctionObject::fvMeshFunctionObject(), initialised_, Foam::name(), prefix_, read(), and runTime.
Referenced by operator=(), and turbulenceFields().


|
delete |
|
virtualdefault |
Destructor.
References dict.
|
protected |
Unset duplicate fields already registered by other function objects.
Definition at line 91 of file turbulenceFields.C.
References Foam::endl(), f(), fieldSet_, initialised_, Foam::nl, regionFunctionObject::obr_, prefix_, IOobject::scopedName(), and WarningInFunction.
Referenced by execute().


|
protected |
Return true if compressible turbulence model is identified.
Definition at line 112 of file turbulenceFields.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, modelName_, and regionFunctionObject::obr_.
Referenced by execute().


|
protected |
Process the turbulence field.
Definition at line 27 of file turbulenceFieldsTemplates.C.
References IOobjectOption::LAZY_READ, IOobjectOption::NO_WRITE, regionFunctionObject::obr_, prefix_, IOobjectOption::REGISTER, and IOobject::scopedName().
Referenced by execute().


|
protected |
Return nuTilda calculated from k and omega.
Referenced by execute().

|
protected |
Return integral length scale, L, calculated from k and epsilon.
|
protected |
Return turbulence intensity, I, calculated from k and U.
| TypeName | ( | "turbulenceFields" | ) |
Runtime type information.
References dict, Foam::name(), and runTime.

|
delete |
|
virtual |
Read the function-object dictionary.
Reimplemented from regionFunctionObject.
Definition at line 151 of file turbulenceFields.C.
References dict, Foam::endl(), f(), fieldSet_, Foam::Info, initialised_, name, Foam::nl, prefix_, functionObject::read(), IOobject::scopedName(), and Foam::type().
Referenced by turbulenceFields().


|
virtual |
Execute the function-object operations.
Implements functionObject.
Definition at line 190 of file turbulenceFields.C.
References Foam::abort(), cfAlphaEff, cfAlphat, cfDevRhoReff, cfEpsilon, cffd, cfI, cfK, cfL, cfLESRegion, cfMuEff, cfMut, cfNuTilda, cfOmega, cfR, compressible(), compressibleFieldNames_, Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, fieldSet_, Foam::I, ifDevReff, ifEpsilon, iffd, ifI, ifK, ifL, ifLESRegion, ifNuEff, ifNut, ifNuTilda, ifOmega, ifR, incompressibleFieldNames_, initialise(), initialised_, L, fvMeshFunctionObject::mesh_, modelName_, nuTilda(), regionFunctionObject::obr_, processField(), and WarningInFunction.

|
virtual |
Write the function-object results.
The turbulence fields are registered and written automatically
Implements functionObject.
Definition at line 408 of file turbulenceFields.C.
References Foam::endl(), f(), fieldSet_, Foam::Info, prefix_, IOobject::scopedName(), and regionFunctionObject::writeObject().

| Foam::tmp< Foam::volScalarField > nuTilda | ( | const Model & | model | ) | const |
Definition at line 66 of file turbulenceFieldsTemplates.C.
References Foam::dimless, Foam::dimTime, GeometricField< scalar, fvPatchField, volMesh >::New(), and IOobjectOption::NO_REGISTER.

| Foam::tmp< Foam::volScalarField > L | ( | const Model & | model | ) | const |
Definition at line 84 of file turbulenceFieldsTemplates.C.
References Foam::dimTime, Foam::dimVelocity, GeometricField< scalar, fvPatchField, volMesh >::New(), IOobjectOption::NO_REGISTER, Foam::pow(), and Foam::sqr().

| Foam::tmp< Foam::volScalarField > I | ( | const Model & | model | ) | const |
Definition at line 104 of file turbulenceFieldsTemplates.C.
References Foam::dimVelocity, Foam::mag(), Foam::max(), GeometricField< scalar, fvPatchField, volMesh >::New(), IOobjectOption::NO_REGISTER, and Foam::sqrt().

|
static |
Names for compressibleField turbulence fields.
Definition at line 232 of file turbulenceFields.H.
Referenced by execute().
|
static |
Names for incompressibleField turbulence fields.
Definition at line 256 of file turbulenceFields.H.
Referenced by execute().
|
static |
Name of the turbulence properties dictionary.
Definition at line 261 of file turbulenceFields.H.
Referenced by compressible(), and execute().
|
protected |
Flag to track initialisation.
Definition at line 271 of file turbulenceFields.H.
Referenced by execute(), initialise(), read(), and turbulenceFields().
|
protected |
Name of output-field prefix.
Definition at line 276 of file turbulenceFields.H.
Referenced by initialise(), processField(), read(), turbulenceFields(), and write().
|
protected |
Fields to load.
Definition at line 281 of file turbulenceFields.H.
Referenced by execute(), initialise(), read(), turbulenceFields(), and write().