Computes various turbulence-related quantities that are not typically output during calculations, and stores/writes them on the mesh database for further manipulation. More...
Public Types | |
enum | compressibleField { cfK, cfEpsilon, cfOmega, cfNuTilda, cfMut, cfMuEff, cfAlphat, cfAlphaEff, cfR, cfDevRhoReff, cfL, cfI } |
Options for the turbulence fields (compressible) More... | |
enum | incompressibleField { ifK, ifEpsilon, ifOmega, ifNuTilda, ifNut, ifNuEff, ifR, ifDevReff, ifL, ifI } |
Options for the turbulence fields (incompressible) More... | |
Public Member Functions | |
TypeName ("turbulenceFields") | |
Runtime type information. More... | |
turbulenceFields (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
turbulenceFields (const turbulenceFields &)=delete | |
No copy construct. More... | |
void | operator= (const turbulenceFields &)=delete |
No copy assignment. More... | |
virtual | ~turbulenceFields ()=default |
Destructor. More... | |
virtual bool | read (const dictionary &) |
Read the controls. More... | |
virtual bool | execute () |
Calculate turbulence fields. More... | |
virtual bool | write () |
Do nothing. More... | |
template<class Model > | |
Foam::tmp< Foam::volScalarField > | omega (const Model &model) const |
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. 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... | |
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... | |
label | getTrigger () const |
Get the current trigger index. More... | |
bool | setTrigger (const label triggeri) |
Set the current 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... | |
List< word > | objectResultEntries () const |
Retrieve the result entries. More... | |
List< word > | 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 | |
virtual const word & | type () const =0 |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
functionObject (const word &name) | |
Construct from components. More... | |
autoPtr< functionObject > | clone () const |
Return clone. More... | |
virtual | ~functionObject ()=default |
Destructor. More... | |
const word & | name () const |
Return the name of this functionObject. More... | |
virtual bool | execute (const label subIndex) |
Execute using the specified subIndex. 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< compressibleField > | compressibleFieldNames_ |
Names for compressibleField turbulence fields. More... | |
static const Enum< incompressibleField > | incompressibleFieldNames_ |
Names for incompressibleField turbulence fields. More... | |
static const word | modelName_ |
Turbulence closure model name. 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 word | outputPrefix |
Directory prefix. More... | |
Protected Member Functions | |
bool | compressible () |
Return true if compressible turbulence model is identified. More... | |
template<class Type > | |
void | processField (const word &fieldName, const tmp< GeometricField< Type, fvPatchField, volMesh >> &tvalue) |
Process the turbulence field. More... | |
template<class Model > | |
tmp< volScalarField > | omega (const Model &model) const |
Return omega calculated from k and epsilon. More... | |
template<class Model > | |
tmp< volScalarField > | nuTilda (const Model &model) const |
Return nuTilda calculated from k and omega. More... | |
template<class Model > | |
tmp< volScalarField > | L (const Model &model) const |
Return integral length scale, L, calculated from k and epsilon. More... | |
template<class Model > | |
tmp< volScalarField > | I (const Model &model) const |
Return turbulence intensity, I, calculated from k and U. More... | |
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... | |
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 IOdictionary & | stateDict () const |
Return a const reference to the state dictionary. More... | |
IOdictionary & | 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 name, e.g. used to construct local field names. More... | |
Protected Attributes | |
wordHashSet | fieldSet_ |
Fields to load. More... | |
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... | |
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 the prefix "turbulenceModel:", e.g.:
turbulenceModel:R
Operands:
Operand | Type | Location |
---|---|---|
input | - | - |
output file | - | - |
output field | vol<Type>Field | $FOAM_CASE/<time>/<outField> |
where <Type>=Scalar/SymmTensor
.
system/controlDict.functions
: turbulenceFields1 { // Mandatory entries (unmodifiable) type turbulenceFields; libs (fieldFunctionObjects); // Mandatory entries (runtime modifiable) // Either field or fields entries fields (R devRhoReff); field R; // Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Req'd | Dflt |
---|---|---|---|---|
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 | - |
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:
Minimal example by using the postProcess
utility:
<solver> -postProcess -func turbulenceFields
Definition at line 186 of file turbulenceFields.H.
enum compressibleField |
Options for the turbulence fields (compressible)
Definition at line 195 of file turbulenceFields.H.
enum incompressibleField |
Options for the turbulence fields (incompressible)
Definition at line 215 of file turbulenceFields.H.
turbulenceFields | ( | const word & | name, |
const Time & | runTime, | ||
const dictionary & | dict | ||
) |
Construct from Time and dictionary.
Definition at line 115 of file turbulenceFields.C.
References dict, and Foam::read().
|
delete |
No copy construct.
|
virtualdefault |
Destructor.
|
protected |
Return true if compressible turbulence model is identified.
Definition at line 93 of file turbulenceFields.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, objectRegistry::foundObject(), turbulenceFields::modelName_, and regionFunctionObject::obr_.
|
protected |
Process the turbulence field.
Definition at line 35 of file turbulenceFieldsTemplates.C.
References Foam::endl(), Foam::nl, and WarningInFunction.
|
protected |
Return omega calculated from k and epsilon.
|
protected |
Return nuTilda calculated from k and omega.
|
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.
|
delete |
No copy assignment.
|
virtual |
Read the controls.
Reimplemented from regionFunctionObject.
Definition at line 130 of file turbulenceFields.C.
References dict, Foam::endl(), f(), Foam::Info, Foam::name(), Foam::nl, regionFunctionObject::read(), and Foam::type().
|
virtual |
Calculate turbulence fields.
Implements functionObject.
Definition at line 162 of file turbulenceFields.C.
References Foam::abort(), ThermalDiffusivity< BasicTurbulenceModel >::alphaEff(), ThermalDiffusivity< BasicTurbulenceModel >::alphat(), compressible, IncompressibleTurbulenceModel< TransportModel >::devReff(), turbulenceModel::epsilon(), f(), Foam::FatalError, FatalErrorInFunction, Foam::I, turbulenceModel::k(), L(), turbulenceModel::nuEff(), turbulenceModel::nut(), and turbulenceModel::R().
|
virtual |
Do nothing.
The turbulence fields are registered and written automatically
Implements functionObject.
Definition at line 315 of file turbulenceFields.C.
References f().
Foam::tmp<Foam::volScalarField> omega | ( | const Model & | model | ) | const |
Definition at line 81 of file turbulenceFieldsTemplates.C.
References epsilon, k, and Foam::New().
Foam::tmp<Foam::volScalarField> nuTilda | ( | const Model & | model | ) | const |
Definition at line 108 of file turbulenceFieldsTemplates.C.
References Foam::New().
Foam::tmp<Foam::volScalarField> L | ( | const Model & | model | ) | const |
Definition at line 123 of file turbulenceFieldsTemplates.C.
References epsilon, k, Foam::New(), and Foam::pow().
Foam::tmp<Foam::volScalarField> I | ( | const Model & | model | ) | const |
Definition at line 145 of file turbulenceFieldsTemplates.C.
References Foam::dimVelocity, Foam::mag(), Foam::max(), Foam::New(), and Foam::sqrt().
|
static |
Names for compressibleField turbulence fields.
Definition at line 212 of file turbulenceFields.H.
|
static |
Names for incompressibleField turbulence fields.
Definition at line 230 of file turbulenceFields.H.
|
static |
Turbulence closure model name.
Definition at line 233 of file turbulenceFields.H.
Referenced by turbulenceFields::compressible().
|
protected |
Fields to load.
Definition at line 240 of file turbulenceFields.H.