34 template<
class BasicTurbulenceModel>
39 Info<< coeffDict_.dictName() << coeffDict_ <<
endl;
46 template<
class BasicTurbulenceModel>
50 const alphaField&
alpha,
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();
83 template<
class BasicTurbulenceModel>
93 const word& propertiesName
100 IOobject::groupName(propertiesName, alphaRhoPhi.
group()),
105 IOobject::NO_REGISTER
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 " 172 template<
class BasicTurbulenceModel>
177 laminarDict_ <<= this->subDict(
"laminar");
179 coeffDict_ <<= laminarDict_.optionalSubDict(
type() +
"Coeffs");
188 template<
class BasicTurbulenceModel>
194 IOobject::groupName(
"nut", this->alphaRhoPhi_.group()),
195 IOobject::NO_REGISTER,
202 template<
class BasicTurbulenceModel>
213 template<
class BasicTurbulenceModel>
219 IOobject::groupName(
"nuEff", this->alphaRhoPhi_.group()),
220 IOobject::NO_REGISTER,
226 template<
class BasicTurbulenceModel>
233 return this->
nu(patchi);
237 template<
class BasicTurbulenceModel>
243 IOobject::groupName(
"k", this->alphaRhoPhi_.group()),
244 IOobject::NO_REGISTER,
251 template<
class BasicTurbulenceModel>
257 IOobject::groupName(
"epsilon", this->alphaRhoPhi_.group()),
258 IOobject::NO_REGISTER,
265 template<
class BasicTurbulenceModel>
271 IOobject::groupName(
"omega", this->alphaRhoPhi_.group()),
272 IOobject::NO_REGISTER,
279 template<
class BasicTurbulenceModel>
285 IOobject::groupName(
"R", this->alphaRhoPhi_.group()),
286 IOobject::NO_REGISTER,
293 template<
class BasicTurbulenceModel>
static word group(const word &name)
Return group (extension part of name)
laminarModel(const laminarModel &)=delete
No copy construct.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual tmp< volScalarField > nuEff() const
Return the effective viscosity, i.e. the laminar viscosity.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionSet dimViscosity
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, any/none. Also accepts 0/1 as a string and shortcuts t/f, y/n.
virtual tmp< volScalarField > omega() const
Return the specific dissipation rate, i.e. 0 for laminar flow.
const dimensionSet dimless
Dimensionless.
virtual bool read()
Read model coefficients if they have changed.
BasicMomentumTransportModel ::transportModel transportModel
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
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.
BasicMomentumTransportModel ::rhoField rhoField
BasicMomentumTransportModel ::alphaField alphaField
A class for handling words, derived from Foam::string.
virtual tmp< volScalarField > epsilon() const
Return the turbulence kinetic energy dissipation rate,.
virtual tmp< volScalarField > nut() const
Return the turbulence viscosity, i.e. 0 for laminar flow.
Info<< "Predicted p max-min : "<< max(p).value()<< " "<< min(p).value()<< endl;rho==max(psi *p+alphal *rhol0+((alphav *psiv+alphal *psil) - psi) *pSat, rhoMin);# 1 "/home/chef2/andy/OpenFOAM/release/v2406/OpenFOAM-v2406/applications/solvers/multiphase/cavitatingFoam/alphavPsi.H" 1{ alphav=clamp((rho - rholSat)/(rhovSat - rholSat), zero_one{});alphal=1.0 - alphav;Info<< "max-min alphav: "<< max(alphav).value()<< " "<< min(alphav).value()<< endl;psiModel-> correct()
virtual tmp< volScalarField > k() const
Return the turbulence kinetic energy, i.e. 0 for laminar flow.
dimensioned< symmTensor > dimensionedSymmTensor
Dimensioned tensor obtained from generic dimensioned type.
virtual void printCoeffs(const word &type)
Print model coefficients.
virtual void correct()
Correct the laminar transport.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Base-class for all transport models used by the incompressible turbulence models. ...
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
virtual tmp< volSymmTensorField > R() const
Return the Reynolds stress tensor, i.e. 0 for laminar flow.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Turbulence model for Stokes flow.
A class for managing temporary objects.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
Defines the attributes of an object for which implicit objectRegistry management is supported...
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
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...
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)