34template<
class BasicTurbulenceModel>
39 Info<< coeffDict_.dictName() << coeffDict_ <<
endl;
46template<
class BasicTurbulenceModel>
56 const word& propertiesName
71 laminarDict_(this->subOrEmptyDict(
"laminar")),
72 printCoeffs_(laminarDict_.getOrDefault<
Switch>(
"printCoeffs", false)),
73 coeffDict_(laminarDict_.optionalSubDict(type +
"Coeffs"))
77 this->mesh_.deltaCoeffs();
83template<
class BasicTurbulenceModel>
93 const word& propertiesName
100 IOobject::groupName(propertiesName, alphaRhoPhi.
group()),
103 IOobject::MUST_READ_IF_MODIFIED,
118 dict.getCompat<
word>(
"model", {{
"laminarModel", -2006}})
121 Info<<
"Selecting laminar stress model " << modelType <<
endl;
123 auto* ctorPtr = dictionaryConstructorTable(modelType);
132 *dictionaryConstructorTablePtr_
145 transport, propertiesName)
150 Info<<
"Selecting laminar stress model "
151 << laminarModels::Stokes<BasicTurbulenceModel>::typeName << endl;
172template<
class BasicTurbulenceModel>
177 laminarDict_ <<= this->subDict(
"laminar");
179 coeffDict_ <<= laminarDict_.optionalSubDict(type() +
"Coeffs");
188template<
class BasicTurbulenceModel>
196 IOobject::groupName(
"nut", this->alphaRhoPhi_.group()),
197 this->runTime_.timeName(),
209template<
class BasicTurbulenceModel>
218 new scalarField(this->mesh_.boundary()[patchi].size(), Zero)
223template<
class BasicTurbulenceModel>
231 IOobject::groupName(
"nuEff", this->alphaRhoPhi_.group()), this->nu()
237template<
class BasicTurbulenceModel>
244 return this->
nu(patchi);
248template<
class BasicTurbulenceModel>
256 IOobject::groupName(
"k", this->alphaRhoPhi_.group()),
257 this->runTime_.timeName(),
269template<
class BasicTurbulenceModel>
277 IOobject::groupName(
"epsilon", this->alphaRhoPhi_.group()),
278 this->runTime_.timeName(),
290template<
class BasicTurbulenceModel>
298 IOobject::groupName(
"omega", this->alphaRhoPhi_.group()),
299 this->runTime_.timeName(),
311template<
class BasicTurbulenceModel>
319 IOobject::groupName(
"R", this->alphaRhoPhi_.group()),
320 this->runTime_.timeName(),
332template<
class BasicTurbulenceModel>
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Defines the attributes of an object for which implicit objectRegistry management is supported,...
static word group(const word &name)
Return group (extension part of name)
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
virtual bool read()
Re-read model coefficients if they have changed.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
dictionary * findDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX)
Find and return a sub-dictionary pointer if present.
virtual void printCoeffs()
Print model coefficients.
Templated abstract base class for laminar transport models.
virtual tmp< volScalarField > epsilon() const
Return the turbulence kinetic energy dissipation rate,.
BasicTurbulenceModel::alphaField alphaField
virtual tmp< volSymmTensorField > R() const
Return the Reynolds stress tensor, i.e. 0 for laminar flow.
BasicTurbulenceModel::rhoField rhoField
virtual void correct()
Correct the laminar transport.
virtual tmp< volScalarField > k() const
Return the turbulence kinetic energy, i.e. 0 for laminar flow.
virtual tmp< volScalarField > nuEff() const
Return the effective viscosity, i.e. the laminar viscosity.
BasicTurbulenceModel::transportModel transportModel
virtual tmp< volScalarField > nut() const
Return the turbulence viscosity, i.e. 0 for laminar flow.
virtual tmp< volScalarField > omega() const
Return the specific dissipation rate, i.e. 0 for laminar flow.
virtual bool read()
Read model coefficients if they have changed.
Turbulence model for Stokes flow.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
const dimensionSet dimViscosity
const dimensionSet dimless
Dimensionless.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManipArg< error, int > exit(error &err, const int errNo=1)