35 incompressibleMomentumTransportModel
42 namespace incompressible
52 RASincompressibleMomentumTransportModel,
65 tmp<volScalarField> kkLOmega::fINT()
const
78 tmp<volScalarField> kkLOmega::fSS(
const volScalarField& Omega)
const
90 tmp<volScalarField> kkLOmega::BetaTS(
const volScalarField& ReOmega)
const
96 tmp<volScalarField> kkLOmega::fTaul
123 tmp<volScalarField> kkLOmega::alphaT
134 tmp<volScalarField> kkLOmega::fOmega
154 lambdaT.dimensions(),
164 tmp<volScalarField> kkLOmega::phiBP(
const volScalarField& Omega)
const
191 tmp<volScalarField> kkLOmega::phiNAT
232 const geometricOneField&
alpha,
233 const geometricOneField&
rho,
241 eddyViscosity<incompressible::RASModel>
252 A0_(
"A0", coeffDict(), 4.04),
253 As_(
"As", coeffDict(), 2.12),
254 Av_(
"Av", coeffDict(), 6.75),
255 Abp_(
"Abp", coeffDict(), 0.6),
256 Anat_(
"Anat", coeffDict(), 200),
257 Ats_(
"Ats", coeffDict(), 200),
258 CbpCrit_(
"CbpCrit", coeffDict(), 1.2),
259 Cnc_(
"Cnc", coeffDict(), 0.1),
260 CnatCrit_(
"CnatCrit", coeffDict(), 1250),
261 Cint_(
"Cint", coeffDict(), 0.75),
262 CtsCrit_(
"CtsCrit", coeffDict(), 1000),
263 CrNat_(
"CrNat", coeffDict(), 0.02),
264 C11_(
"C11", coeffDict(), 3.4e-6),
265 C12_(
"C12", coeffDict(), 1.0e-10),
266 CR_(
"CR", coeffDict(), 0.12),
267 CalphaTheta_(
"CalphaTheta", coeffDict(), 0.035),
268 Css_(
"Css", coeffDict(), 1.5),
269 CtauL_(
"CtauL", coeffDict(), 4360),
270 Cw1_(
"Cw1", coeffDict(), 0.44),
271 Cw2_(
"Cw2", coeffDict(), 0.92),
272 Cw3_(
"Cw3", coeffDict(), 0.3),
273 CwR_(
"CwR", coeffDict(), 1.5),
274 Clambda_(
"Clambda", coeffDict(), 2.495),
275 CmuStd_(
"CmuStd", coeffDict(), 0.09),
276 Prtheta_(
"Prtheta", coeffDict(), 0.85),
277 Sigmak_(
"Sigmak", coeffDict(), 1),
278 Sigmaw_(
"Sigmaw", coeffDict(), 1.17),
284 this->groupName(
"kt"),
296 this->groupName(
"kl"),
308 this->groupName(
"omega"),
329 bound(omega_, omegaMin_);
330 epsilon_ = kt_*omega_ +
D(kl_) +
D(kt_);
332 if (
type == typeName)
335 nut_.correctBoundaryConditions();
413 tmp<volTensorField> tgradU(
fvc::grad(U_));
437 C11_*fTaul(lambdaEff, ktL, Omega)*Omega*
sqr(lambdaEff)
438 *
sqrt(ktL)*lambdaEff/nu()
473 tmp<fvScalarMatrix> omegaEqn
482 (1 -
CwR_/(fw + fwMin))*
kl_*(Rbp + Rnat)/(
kt_ + kMin_)
491 omegaEqn.ref().relax();
501 tmp<fvScalarMatrix> klEqn
521 tmp<fvScalarMatrix> ktEqn
Bound the given scalar field where it is below the specified minimum.
void updateCoeffs()
Update the boundary condition coefficients.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
void correctBoundaryConditions()
Correct boundary field.
bool readIfPresent(const dictionary &, const unitConversion &defaultUnits=NullObjectRef< unitConversion >())
Update the value of dimensioned<Type> if found in the dictionary.
virtual bool read()=0
Re-read model coefficients if they have changed.
virtual void correct()=0
Solve the turbulence equations and correct the turbulence viscosity.
virtual void validate()
Validate the turbulence fields after construction.
dimensionedScalar CnatCrit_
virtual void correctNut()
virtual tmp< volScalarField > k() const
Return the total fluctuation kinetic energy.
dimensionedScalar Sigmaw_
dimensionedScalar Sigmak_
dimensionedScalar CbpCrit_
dimensionedScalar Prtheta_
dimensionedScalar omegaMin_
Lower limit for omega.
dimensionedScalar CalphaTheta_
dimensionedScalar CtsCrit_
dimensionedScalar CmuStd_
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
kkLOmega(const geometricOneField &alpha, const geometricOneField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity, const word &type=typeName)
Construct from components.
virtual bool read()
Read RASProperties dictionary.
dimensionedScalar Clambda_
tmp< volScalarField > DomegaEff(const volScalarField &alphaT) const
Return the effective diffusivity for omega.
tmp< volScalarField > DkEff(const volScalarField &alphaT) const
Return the effective diffusivity for k.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
makeMomentumTransportModelTypes(geometricOneField, geometricOneField, incompressibleMomentumTransportModel)
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
tmp< VolField< typename outerProduct< vector, Type >::type > > grad(const SurfaceField< Type > &ssf)
tmp< fvMatrix< Type > > S(const Pair< tmp< volScalarField::Internal >> &, const VolField< Type > &)
tmp< fvMatrix< Type > > laplacian(const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const VolField< Type > &)
tmp< fvMatrix< Type > > SuSp(const volScalarField::Internal &, const VolField< Type > &)
tmp< fvMatrix< Type > > ddt(const VolField< Type > &vf)
static const coefficient D("D", dimTemperature, 257.14)
void skew(LagrangianPatchField< tensor > &f, const LagrangianPatchField< tensor > &f1)
dimensionedScalar exp(const dimensionedScalar &ds)
VolField< vector > volVectorField
addToRunTimeSelectionTable(polyPatch, mergedCyclicPolyPatch, word)
void dev(LagrangianPatchField< tensor > &f, const LagrangianPatchField< tensor > &f1)
const dimensionSet dimless
SurfaceField< scalar > surfaceScalarField
const dimensionSet dimLength
void pow4(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
void mag(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)
VolField< tensor > volTensorField
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimTime
void symm(LagrangianPatchField< tensor > &f, const LagrangianPatchField< tensor > &f1)
void pow(LagrangianPatchField< typename powProduct< Type, r >::type > &f, const LagrangianPatchField< Type > &f1)
VolField< scalar > volScalarField
defineTypeNameAndDebug(combustionModel, 0)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
bool bound(volScalarField &, const dimensionedScalar &min)
Bound the given scalar field where it is below the specified min value.
void pow3(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
void sqr(LagrangianPatchField< typename outerProduct< Type, Type >::type > &f, const LagrangianPatchField< Type > &f1)
void magSqr(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)
void sqrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
SolverPerformance< Type > solve(fvMatrix< Type > &, const word &)
Solve returning the solution statistics given convergence tolerance.
Info<< "Reading field U\n"<< endl;volVectorField U(IOobject("U", runTime.name(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);Info<< "Creating face flux\n"<< endl;surfaceScalarField phi(IOobject("phi", runTime.name(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), mesh, dimensionedScalar(mesh.Sf().dimensions() *U.dimensions(), 0));autoPtr< viscosityModel > viscosity(viscosityModel::New(mesh))