31 template<
class BasicTurbulenceModel>
36 Info<< coeffDict_.dictName() << coeffDict_ <<
endl;
43 template<
class BasicTurbulenceModel>
53 const word& propertiesName
68 laminarDict_(this->subOrEmptyDict(
"laminar")),
69 printCoeffs_(laminarDict_.lookupOrDefault<
Switch>(
"printCoeffs",
false)),
70 coeffDict_(laminarDict_.optionalSubDict(type +
"Coeffs"))
74 this->mesh_.deltaCoeffs();
80 template<
class BasicTurbulenceModel>
90 const word& propertiesName
97 IOobject::groupName(propertiesName, alphaRhoPhi.
group()),
100 IOobject::MUST_READ_IF_MODIFIED,
106 if (modelDict.
found(
"laminar"))
115 Info<<
"Selecting laminar stress model " << modelType <<
endl;
117 typename dictionaryConstructorTable::iterator cstrIter =
118 dictionaryConstructorTablePtr_->find(modelType);
120 if (cstrIter == dictionaryConstructorTablePtr_->end())
123 <<
"Unknown laminarModel type " 124 << modelType <<
nl <<
nl 125 <<
"Valid laminarModel types:" << endl
126 << dictionaryConstructorTablePtr_->sortedToc()
139 transport, propertiesName)
144 Info<<
"Selecting laminar stress model " 166 template<
class BasicTurbulenceModel>
171 laminarDict_ <<= this->subDict(
"laminar");
173 coeffDict_ <<= laminarDict_.optionalSubDict(
type() +
"Coeffs");
184 template<
class BasicTurbulenceModel>
194 IOobject::groupName(
"nut", this->alphaRhoPhi_.group()),
195 this->runTime_.timeName(),
208 template<
class BasicTurbulenceModel>
222 template<
class BasicTurbulenceModel>
230 IOobject::groupName(
"nuEff", this->alphaRhoPhi_.group()), this->
nu()
236 template<
class BasicTurbulenceModel>
243 return this->
nu(patchi);
247 template<
class BasicTurbulenceModel>
257 IOobject::groupName(
"k", this->alphaRhoPhi_.group()),
258 this->runTime_.timeName(),
271 template<
class BasicTurbulenceModel>
281 IOobject::groupName(
"epsilon", this->alphaRhoPhi_.group()),
282 this->runTime_.timeName(),
291 "epsilon",
sqr(this->U_.dimensions())/
dimTime, 0.0
298 template<
class BasicTurbulenceModel>
308 IOobject::groupName(
"R", this->alphaRhoPhi_.group()),
309 this->runTime_.timeName(),
318 "R",
sqr(this->U_.dimensions()),
Zero 325 template<
class BasicTurbulenceModel>
static word group(const word &name)
Return group (extension part of name)
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
Templated abstract base class for laminar transport models.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
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.
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, y/n, t/f, or none.
virtual bool read()
Read model coefficients if they have changed.
BasicTurbulenceModel::transportModel transportModel
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
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.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
BasicTurbulenceModel::rhoField rhoField
BasicTurbulenceModel::alphaField alphaField
A class for handling words, derived from string.
const word & constant() const
Return constant name.
virtual tmp< volScalarField > epsilon() const
Return the turbulence kinetic energy dissipation rate,.
volScalarField scalarField(fieldObject, mesh)
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/ubuntu/OpenFOAM-6/applications/solvers/multiphase/cavitatingFoam/alphavPsi.H" 1{ alphav=max(min((rho - rholSat)/(rhovSat - rholSat), scalar(1)), scalar(0));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.
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.
const Time & time() const
Return time.
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.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Turbulence model for Stokes flow.
A class for managing temporary objects.
const objectRegistry & db() const
Return the local objectRegistry.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.