39 template<
class BasicMomentumTransportModel>
52 (2*
sqrt(2.0))*((S&S)&&S)
68 return 1.0/(A0_ + As*Us*k_/epsilon_);
72 template<
class BasicMomentumTransportModel>
80 this->nut_ = rCmu(gradU, S2, magS)*
sqr(k_)/epsilon_;
81 this->nut_.correctBoundaryConditions();
86 template<
class BasicMomentumTransportModel>
93 correctNut(tgradU(), S2, magS);
97 template<
class BasicMomentumTransportModel>
105 dimVolume*this->rho_.dimensions()*k_.dimensions()
112 template<
class BasicMomentumTransportModel>
121 dimVolume*this->rho_.dimensions()*epsilon_.dimensions()
130 template<
class BasicMomentumTransportModel>
194 this->runTime_.timeName(),
206 this->runTime_.timeName(),
214 bound(k_, this->kMin_);
215 bound(epsilon_, this->epsilonMin_);
217 if (type == typeName)
219 this->printCoeffs(type);
226 template<
class BasicMomentumTransportModel>
231 A0_.readIfPresent(this->coeffDict());
232 C2_.readIfPresent(this->coeffDict());
233 sigmak_.readIfPresent(this->coeffDict());
234 sigmaEps_.readIfPresent(this->coeffDict());
245 template<
class BasicMomentumTransportModel>
248 if (!this->turbulence_)
277 max(eta/(scalar(5) + eta), scalar(0.43))
283 nut*(tgradU().v() &&
dev(
twoSymm(tgradU().v())))
287 epsilon_.boundaryFieldRef().updateCoeffs();
299 C2_*
alpha()*
rho()*epsilon_()/(k_() +
sqrt(this->nu()()*epsilon_())),
306 epsEqn.
ref().relax();
308 epsEqn.
ref().boundaryManipulate(epsilon_.boundaryFieldRef());
311 bound(epsilon_, this->epsilonMin_);
333 bound(k_, this->kMin_);
335 correctNut(tgradU(), S2, magS);
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
dimensionedScalar acos(const dimensionedScalar &ds)
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:
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedTensor skew(const dimensionedTensor &dt)
void correct(GeometricField< Type, fvPatchField, volMesh > &field)
Apply correction to field.
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)
dimensionedScalar sqrt(const dimensionedScalar &ds)
realizableKE(const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &type=typeName)
Construct from components.
Generic dimensioned Type class.
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
Eddy viscosity turbulence model base class.
virtual tmp< fvScalarMatrix > kSource() const
BasicMomentumTransportModel::alphaField alphaField
virtual bool read()
Re-read model coefficients if they have changed.
dimensionedSymmTensor twoSymm(const dimensionedSymmTensor &dt)
Templated abstract base class for RAS turbulence models.
tmp< volScalarField > rCmu(const volTensorField &gradU, const volScalarField &S2, const volScalarField &magS)
const dimensionSet dimVolume(pow3(dimLength))
Dimension set for the base types.
bool read(const char *, int32_t &)
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
dimensionedScalar cos(const dimensionedScalar &ds)
BasicMomentumTransportModel::transportModel transportModel
A class for handling words, derived from string.
tmp< fvMatrix< Type > > ddt(const GeometricField< Type, fvPatchField, volMesh > &vf)
void constrain(fvMatrix< Type > &eqn)
Apply constraints to equation.
dimensioned< scalar > magSqr(const dimensioned< Type > &)
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-8/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()
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
virtual tmp< fvScalarMatrix > epsilonSource() const
BasicMomentumTransportModel::rhoField rhoField
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.
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
tmp< fvMatrix< Type > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
virtual void correctNut()
const scalarList W(::W(thermo))
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)
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.
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...
const dimensionedScalar & G
Newtonian constant of gravitation.