Go to the documentation of this file.
38 namespace functionObjects
51 { compressibleField::cfK,
"k" },
52 { compressibleField::cfEpsilon,
"epsilon" },
53 { compressibleField::cfOmega,
"omega" },
54 { compressibleField::cfNuTilda,
"nuTilda" },
55 { compressibleField::cfMut,
"mut" },
56 { compressibleField::cfMuEff,
"muEff" },
57 { compressibleField::cfAlphat,
"alphat" },
58 { compressibleField::cfAlphaEff,
"alphaEff" },
59 { compressibleField::cfR,
"R" },
60 { compressibleField::cfDevRhoReff,
"devRhoReff" },
61 { compressibleField::cfL,
"L" },
62 { compressibleField::cfI,
"I" },
72 { incompressibleField::ifK,
"k" },
73 { incompressibleField::ifEpsilon,
"epsilon" },
74 { incompressibleField::ifOmega,
"omega" },
75 { incompressibleField::ifNuTilda,
"nuTilda" },
76 { incompressibleField::ifNut,
"nut" },
77 { incompressibleField::ifNuEff,
"nuEff" },
78 { incompressibleField::ifR,
"R" },
79 { incompressibleField::ifDevReff,
"devReff" },
80 { incompressibleField::ifL,
"L" },
81 { incompressibleField::ifI,
"I" },
102 <<
"Cannot store turbulence field " << localName
103 <<
" since an object with that name already exists"
126 <<
"Turbulence model not found in database, deactivating"
144 prefix_(
dict.getOrDefault<
word>(
"prefix",
"turbulenceProperties")),
157 dict.readIfPresent(
"prefix", prefix_);
159 if (
dict.found(
"field"))
161 fieldSet_.insert(
dict.get<
word>(
"field"));
169 if (fieldSet_.size())
171 Info<<
"storing fields:" <<
nl;
172 for (
const word&
f : fieldSet_)
180 Info<<
"no fields requested to be stored" <<
nl <<
endl;
183 initialised_ =
false;
206 for (
const word&
f : fieldSet_)
208 switch (compressibleFieldNames_[
f])
212 processField<scalar>(
f, model.k());
217 processField<scalar>(
f, model.epsilon());
222 processField<scalar>(
f, model.omega());
227 processField<scalar>(
f, nuTilda(model));
232 processField<scalar>(
f, model.mut());
237 processField<scalar>(
f, model.muEff());
242 processField<scalar>(
f, model.alphat());
247 processField<scalar>(
f, model.alphaEff());
252 processField<symmTensor>(
f, model.R());
257 processField<symmTensor>(
f, model.devRhoReff());
262 processField<scalar>(
f,
L(model));
267 processField<scalar>(
f,
I(model));
283 for (
const word&
f : fieldSet_)
285 switch (incompressibleFieldNames_[
f])
289 processField<scalar>(
f, model.k());
294 processField<scalar>(
f, model.epsilon());
299 processField<scalar>(
f, model.omega());
304 processField<scalar>(
f, nuTilda(model));
309 processField<scalar>(
f, model.nut());
314 processField<scalar>(
f, model.nuEff());
319 processField<symmTensor>(
f, model.R());
324 processField<symmTensor>(
f, model.devReff());
329 processField<scalar>(
f,
L(model));
334 processField<scalar>(
f,
I(model));
352 for (
const word&
f : fieldSet_)
356 writeObject(localName);
void initialise()
Unset duplicate fields already registered by other function objects.
const vector L(dict.get< vector >("L"))
const objectRegistry & obr_
Reference to the region objectRegistry.
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A class for handling words, derived from Foam::string.
static const Enum< incompressibleField > incompressibleFieldNames_
Names for incompressibleField turbulence fields.
static const word modelName_
Name of the turbulence properties dictionary.
bool read(const char *buf, int32_t &val)
Same as readInt32.
compressibleField
Options for the turbulence fields (compressible)
static const word propertiesName
Default name of the turbulence properties dictionary.
turbulenceFields(const word &name, const Time &runTime, const dictionary &dict)
Construct from Time and dictionary.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Specialization of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
word prefix_
Name of output-field prefix.
wordHashSet fieldSet_
Fields to load.
virtual bool write()
Do nothing.
messageStream Info
Information stream (stdout output on master, null elsewhere)
bool unset(const Key &key)
Unset the specified key - same as erase.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
bool found(const word &name, const bool recursive=false) const
Can the regIOobject object be found (by name).
virtual bool read(const dictionary &dict)
Read optional controls.
Macros for easy insertion into run-time selection tables.
errorManip< error > abort(error &err)
virtual bool read(const dictionary &)
Read the controls.
errorManipArg< error, int > exit(error &err, const int errNo=1)
static const Enum< compressibleField > compressibleFieldNames_
Names for compressibleField turbulence fields.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
incompressibleField
Options for the turbulence fields (incompressible)
addToRunTimeSelectionTable(functionObject, ObukhovLength, dictionary)
Templated wrapper class to provide compressible turbulence models thermal diffusivity based thermal t...
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
defineTypeNameAndDebug(ObukhovLength, 0)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
bool initialised_
Flag to track initialisation.
Templated abstract base class for single-phase incompressible turbulence models.
static word scopedName(const std::string &scope, const word &name)
Create scope:name or scope_name string.
bool compressible()
Return true if compressible turbulence model is identified.
virtual bool execute()
Calculate turbulence fields.
#define WarningInFunction
Report a warning using Foam::Warning.
static const Identity< scalar > I