34template<
class BasicTurbulenceModel>
46template<
class BasicTurbulenceModel>
50 const alphaField&
alpha,
52 const volVectorField&
U,
53 const surfaceScalarField& alphaRhoPhi,
54 const surfaceScalarField&
phi,
55 const transportModel& transport,
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>
87 const alphaField&
alpha,
93 const word& propertiesName
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 "
172template<
class BasicTurbulenceModel>
175 if (BasicTurbulenceModel::read())
188template<
class BasicTurbulenceModel>
202template<
class BasicTurbulenceModel>
213template<
class BasicTurbulenceModel>
226template<
class BasicTurbulenceModel>
233 return this->
nu(patchi);
237template<
class BasicTurbulenceModel>
251template<
class BasicTurbulenceModel>
265template<
class BasicTurbulenceModel>
279template<
class BasicTurbulenceModel>
293template<
class BasicTurbulenceModel>
296 BasicTurbulenceModel::correct();
static tmp< GeometricField< scalar, fvPatchField, volMesh > > New(const word &name, IOobjectOption::registerOption regOpt, const Mesh &mesh, const dimensionSet &dims, const word &patchFieldType=fvPatchField< scalar >::calculatedType())
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
@ NO_REGISTER
Do not request registration (bool: false).
@ MUST_READ
Reading required.
@ NO_WRITE
Ignore writing from objectRegistry::writeObject().
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).
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
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,...
const dictionary * findDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary pointer if present (and it is a dictionary) otherwise return nullptr...
virtual tmp< volScalarField > epsilon() const
Return the turbulence kinetic energy dissipation rate,.
BasicTurbulenceModel::alphaField alphaField
dictionary coeffDict_
Model coefficients dictionary.
virtual tmp< volSymmTensorField > R() const
Return the Reynolds stress tensor, i.e. 0 for laminar flow.
virtual void printCoeffs(const word &type)
Print model coefficients.
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.
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.
dictionary laminarDict_
laminar coefficients dictionary
virtual tmp< volScalarField > nuEff() const
Return the effective viscosity, i.e. the laminar viscosity.
laminarModel(const laminarModel &)=delete
No copy construct.
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.
Switch printCoeffs_
Flag to print the model coeffs at run-time.
virtual bool read()
Read model coefficients if they have changed.
Turbulence model for Stokes flow.
A class for managing temporary objects.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
Base-class for all transport models used by the incompressible turbulence models.
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
GeometricField< vector, fvPatchField, volMesh > volVectorField
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).
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
dimensioned< symmTensor > dimensionedSymmTensor
Dimensioned tensor obtained from generic dimensioned type.
Ostream & endl(Ostream &os)
Add newline and flush stream.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
static constexpr const zero Zero
Global zero (0).
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
errorManipArg< error, int > exit(error &err, const int errNo=1)