Go to the documentation of this file.
34 template<
class BasicTurbulenceModel>
39 Info<< coeffDict_.dictName() << coeffDict_ <<
endl;
46 template<
class BasicTurbulenceModel>
56 const word& propertiesName
71 laminarDict_(this->subOrEmptyDict(
"laminar")),
72 printCoeffs_(laminarDict_.lookupOrDefault<
Switch>(
"printCoeffs",
false)),
73 coeffDict_(laminarDict_.optionalSubDict(
type +
"Coeffs"))
77 this->mesh_.deltaCoeffs();
83 template<
class BasicTurbulenceModel>
93 const word& propertiesName
100 IOobject::groupName(propertiesName, alphaRhoPhi.group()),
103 IOobject::MUST_READ_IF_MODIFIED,
117 Info<<
"Selecting laminar stress model " << modelType <<
endl;
119 auto cstrIter = dictionaryConstructorTablePtr_->cfind(modelType);
121 if (!cstrIter.found())
128 *dictionaryConstructorTablePtr_
141 transport, propertiesName)
146 Info<<
"Selecting laminar stress model "
168 template<
class BasicTurbulenceModel>
173 laminarDict_ <<= this->subDict(
"laminar");
175 coeffDict_ <<= laminarDict_.optionalSubDict(
type() +
"Coeffs");
184 template<
class BasicTurbulenceModel>
192 IOobject::groupName(
"nut", this->alphaRhoPhi_.group()),
193 this->runTime_.timeName(),
205 template<
class BasicTurbulenceModel>
219 template<
class BasicTurbulenceModel>
227 IOobject::groupName(
"nuEff", this->alphaRhoPhi_.group()), this->
nu()
233 template<
class BasicTurbulenceModel>
240 return this->
nu(patchi);
244 template<
class BasicTurbulenceModel>
252 IOobject::groupName(
"k", this->alphaRhoPhi_.group()),
253 this->runTime_.timeName(),
265 template<
class BasicTurbulenceModel>
273 IOobject::groupName(
"epsilon", this->alphaRhoPhi_.group()),
274 this->runTime_.timeName(),
286 template<
class BasicTurbulenceModel>
294 IOobject::groupName(
"R", this->alphaRhoPhi_.group()),
295 this->runTime_.timeName(),
307 template<
class BasicTurbulenceModel>
dictionary * findDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX)
Find and return a sub-dictionary pointer if present.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
BasicTurbulenceModel::alphaField alphaField
A class for handling words, derived from Foam::string.
dimensioned< symmTensor > dimensionedSymmTensor
Dimensioned tensor obtained from generic dimensioned type.
A class for managing temporary objects.
static constexpr const zero Zero
Global zero.
laminarModel(const laminarModel &)=delete
No copy construct.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
Ostream & endl(Ostream &os)
Add newline and flush stream.
Turbulence model for Stokes flow.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
messageStream Info
Information stream (uses stdout - output is on the master only)
virtual bool read()
Read model coefficients if they have changed.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
virtual void printCoeffs(const word &type)
Print model coefficients.
const dimensionSet dimViscosity
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
BasicTurbulenceModel::transportModel transportModel
virtual tmp< volSymmTensorField > R() const
Return the Reynolds stress tensor, i.e. 0 for laminar flow.
errorManipArg< error, int > exit(error &err, const int errNo=1)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
virtual void correct()
Correct the laminar transport.
virtual tmp< volScalarField > k() const
Return the turbulence kinetic energy, i.e. 0 for laminar flow.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
static autoPtr< laminarModel > New(const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName=turbulenceModel::propertiesName)
Return a reference to the selected laminar model.
virtual tmp< volScalarField > nuEff() const
Return the effective viscosity, i.e. the laminar viscosity.
virtual tmp< volScalarField > epsilon() const
Return the turbulence kinetic energy dissipation rate,.
BasicTurbulenceModel::rhoField rhoField
virtual tmp< volScalarField > nut() const
Return the turbulence viscosity, i.e. 0 for laminar flow.