39 template<
class BasicTurbulenceModel>
42 this->nut_ = Cmu_*
sqr(k_)/epsilon_;
43 this->nut_.correctBoundaryConditions();
46 BasicTurbulenceModel::correctNut();
50 template<
class BasicTurbulenceModel>
58 dimVolume*this->rho_.dimensions()*k_.dimensions()
65 template<
class BasicTurbulenceModel>
73 dimVolume*this->rho_.dimensions()*epsilon_.dimensions()
82 template<
class BasicTurbulenceModel>
91 const word& propertiesName,
167 this->runTime_.timeName(),
179 this->runTime_.timeName(),
187 bound(k_, this->kMin_);
188 bound(epsilon_, this->epsilonMin_);
190 if (type == typeName)
192 this->printCoeffs(type);
199 template<
class BasicTurbulenceModel>
204 Cmu_.readIfPresent(this->coeffDict());
205 C1_.readIfPresent(this->coeffDict());
206 C2_.readIfPresent(this->coeffDict());
207 C3_.readIfPresent(this->coeffDict());
208 sigmak_.readIfPresent(this->coeffDict());
209 sigmaEps_.readIfPresent(this->coeffDict());
220 template<
class BasicTurbulenceModel>
223 if (!this->turbulence_)
247 nut.
v()*(
dev(
twoSymm(tgradU().v())) && tgradU().v())
252 epsilon_.boundaryFieldRef().updateCoeffs();
268 epsEqn.
ref().relax();
270 epsEqn.
ref().boundaryManipulate(epsilon_.boundaryFieldRef());
273 bound(epsilon_, this->epsilonMin_);
293 bound(k_, this->kMin_);
virtual tmp< fvScalarMatrix > epsilonSource() const
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
fvMatrix< scalar > fvScalarMatrix
tmp< fvMatrix< Type > > SuSp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
void clear() const
If object pointer points to valid object:
void correct(GeometricField< Type, fvPatchField, volMesh > &field)
Apply correction to field.
const dimensionedScalar G
Newtonian constant of gravitation.
T & ref() const
Return non-const reference or generate a fatal error.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
virtual tmp< fvScalarMatrix > kSource() const
Generic dimensioned Type class.
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
Eddy viscosity turbulence model base class.
dimensionedSymmTensor twoSymm(const dimensionedSymmTensor &dt)
kEpsilon(const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName=turbulenceModel::propertiesName, const word &type=typeName)
Construct from components.
BasicTurbulenceModel::alphaField alphaField
Templated abstract base class for RAS turbulence models.
const dimensionSet dimVolume(pow3(dimLength))
bool read(const char *, int32_t &)
const Internal & v() const
Return a const-reference to the dimensioned internal field.
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
A class for handling words, derived from string.
static word groupName(Name name, const word &group)
tmp< fvMatrix< Type > > ddt(const GeometricField< Type, fvPatchField, volMesh > &vf)
void constrain(fvMatrix< Type > &eqn)
Apply constraints to equation.
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
Bound the given scalar field if it has gone unbounded.
Info<< "Predicted p max-min : "<< max(p).value()<< " "<< min(p).value()<< endl;rho==max(rho0+psi *p, rhoMin);# 1 "/home/ubuntu/OpenFOAM-7/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 bool read()
Re-read model coefficients if they have changed.
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
volScalarField & bound(volScalarField &, const dimensionedScalar &lowerBound)
Bound the given scalar field if it has gone unbounded.
tmp< fvMatrix< Type > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
BasicTurbulenceModel::transportModel transportModel
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
virtual void correctNut()
SolverPerformance< Type > solve(fvMatrix< Type > &, const word &)
Solve returning the solution statistics given convergence tolerance.
volScalarField alpha(IOobject("alpha", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
A class for managing temporary objects.
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
static options & New(const fvMesh &mesh)
Construct fvOptions and register to datbase if not present.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...