38 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
45 tmp<volScalarField> CDkOmegaPlus =
max 51 tmp<volScalarField> arg1 =
min 57 (scalar(1)/betaStar_)*
sqrt(k_)/(omega_*y_),
58 scalar(500)*(this->
mu()/this->rho_)/(
sqr(y_)*omega_)
60 (4*alphaOmega2_)*k_/(CDkOmegaPlus*
sqr(y_))
68 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
73 tmp<volScalarField> arg2 =
min 77 (scalar(2)/betaStar_)*
sqrt(k_)/(omega_*y_),
78 scalar(500)*(this->
mu()/this->rho_)/(
sqr(y_)*omega_)
86 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
91 tmp<volScalarField> arg3 =
min 93 150*(this->
mu()/this->rho_)/(omega_*
sqr(y_)),
100 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
102 kOmegaSST<MomentumTransportModel, BasicMomentumTransportModel>::kOmegaSST::
105 tmp<volScalarField> f23(
F2());
116 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
123 this->nut_ = a1_*k_/
max(a1_*omega_, b1_*F2*
sqrt(S2));
124 this->nut_.correctBoundaryConditions();
131 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
139 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
146 return min(G, (c1_*betaStar_)*this->k_()*this->omega_());
150 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
158 return betaStar_*omega_();
162 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
177 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
193 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
215 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
363 this->runTime_.timeName(),
375 this->runTime_.timeName(),
383 bound(k_, this->kMin_);
384 bound(omega_, this->omegaMin_);
390 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
395 alphaK1_.readIfPresent(this->coeffDict());
396 alphaK2_.readIfPresent(this->coeffDict());
397 alphaOmega1_.readIfPresent(this->coeffDict());
398 alphaOmega2_.readIfPresent(this->coeffDict());
399 gamma1_.readIfPresent(this->coeffDict());
400 gamma2_.readIfPresent(this->coeffDict());
401 beta1_.readIfPresent(this->coeffDict());
402 beta2_.readIfPresent(this->coeffDict());
403 betaStar_.readIfPresent(this->coeffDict());
404 a1_.readIfPresent(this->coeffDict());
405 b1_.readIfPresent(this->coeffDict());
406 c1_.readIfPresent(this->coeffDict());
407 F3_.readIfPresent(
"F3", this->coeffDict());
418 template<
class MomentumTransportModel,
class BasicMomentumTransportModel>
421 if (!this->turbulence_)
448 omega_.boundaryFieldRef().updateCoeffs();
473 (c1_/a1_)*betaStar_*omega_()
474 *
max(a1_*omega_(), b1_*F23()*
sqrt(S2()))
480 alpha()*
rho()*(
F1() - scalar(1))*CDkOmega()/omega_(),
483 + Qsas(S2(), gamma, beta)
493 bound(omega_, this->omegaMin_);
514 bound(k_, this->kMin_);
static word group(const word &name)
Return group (extension part of name)
dimensionedScalar tanh(const dimensionedScalar &ds)
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:
kOmegaSST(const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport)
Construct from components.
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
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)
virtual tmp< fvScalarMatrix > omegaSource() const
Generic dimensioned Type class.
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
BasicMomentumTransportModel::alphaField alphaField
static Switch lookupOrAddToDict(const word &, dictionary &, const Switch &defaultValue=false)
Construct from dictionary, supplying default value so that if the.
dimensionedSymmTensor twoSymm(const dimensionedSymmTensor &dt)
static const wallDist & New(const fvMesh &mesh)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const dimensionSet dimVolume(pow3(dimLength))
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
BasicMomentumTransportModel::transportModel transportModel
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.
dimensioned< scalar > magSqr(const dimensioned< Type > &)
virtual tmp< fvScalarMatrix > Qsas(const volScalarField::Internal &S2, const volScalarField::Internal &gamma, const volScalarField::Internal &beta) const
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()
void relax(const scalar alpha)
Relax matrix (for steady-state solution).
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
virtual tmp< volScalarField::Internal > Pk(const volScalarField::Internal &G) const
Return k production rate.
BasicMomentumTransportModel::rhoField rhoField
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
const dimensionedScalar & mu
Atomic mass unit.
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)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
dimensionedScalar pow4(const dimensionedScalar &ds)
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
virtual tmp< fvScalarMatrix > kSource() const
SolverPerformance< Type > solve(fvMatrix< Type > &, const word &)
Solve returning the solution statistics given convergence tolerance.
const doubleScalar e
Elementary charge.
virtual tmp< volScalarField::Internal > epsilonByk(const volScalarField::Internal &F1, const volScalarField::Internal &F2) const
Return epsilon/k which for standard RAS is betaStar*omega.
void boundaryManipulate(typename GeometricField< Type, fvPatchField, volMesh >::Boundary &values)
Manipulate based on a boundary field.
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.
Templated abstract base class for turbulence models.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const dimensionedScalar & G
Newtonian constant of gravitation.
virtual bool read()
Re-read model coefficients if they have changed.
virtual void correctNut()