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", typeDict(
type), 4.04),
253 As_(
"As", typeDict(
type), 2.12),
254 Av_(
"Av", typeDict(
type), 6.75),
255 Abp_(
"Abp", typeDict(
type), 0.6),
256 Anat_(
"Anat", typeDict(
type), 200),
257 Ats_(
"Ats", typeDict(
type), 200),
258 CbpCrit_(
"CbpCrit", typeDict(
type), 1.2),
259 Cnc_(
"Cnc", typeDict(
type), 0.1),
260 CnatCrit_(
"CnatCrit", typeDict(
type), 1250),
261 Cint_(
"Cint", typeDict(
type), 0.75),
262 CtsCrit_(
"CtsCrit", typeDict(
type), 1000),
263 CrNat_(
"CrNat", typeDict(
type), 0.02),
264 C11_(
"C11", typeDict(
type), 3.4e-6),
265 C12_(
"C12", typeDict(
type), 1.0e-10),
266 CR_(
"CR", typeDict(
type), 0.12),
267 CalphaTheta_(
"CalphaTheta", typeDict(
type), 0.035),
268 Css_(
"Css", typeDict(
type), 1.5),
269 CtauL_(
"CtauL", typeDict(
type), 4360),
270 Cw1_(
"Cw1", typeDict(
type), 0.44),
271 Cw2_(
"Cw2", typeDict(
type), 0.92),
272 Cw3_(
"Cw3", typeDict(
type), 0.3),
273 CwR_(
"CwR", typeDict(
type), 1.5),
274 Clambda_(
"Clambda", typeDict(
type), 2.495),
275 CmuStd_(
"CmuStd", typeDict(
type), 0.09),
276 Prtheta_(
"Prtheta", typeDict(
type), 0.85),
277 Sigmak_(
"Sigmak", typeDict(
type), 1),
278 Sigmaw_(
"Sigmaw", typeDict(
type), 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_);
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 unitSet &defaultUnits=NullObjectRef< unitSet >())
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.
Template function which returns the un-mangled name of a given type. Useful for types which do not ha...
#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(pointPatchField< tensor > &, const pointPatchField< tensor > &)
dimensionedScalar exp(const dimensionedScalar &ds)
const dimensionSet & dimless
VolField< vector > volVectorField
addToRunTimeSelectionTable(polyPatch, mergedCyclicPolyPatch, word)
const dimensionSet & dimLength
SurfaceField< scalar > surfaceScalarField
void pow4(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
VolField< tensor > volTensorField
tmp< DimensionedField< typename outerProduct< Type, Type >::type, GeoMesh, Field >> sqr(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
const dimensionSet & dimTime
void dev(pointPatchField< tensor > &, const pointPatchField< tensor > &)
VolField< scalar > volScalarField
dimensioned< Type > min(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
void symm(pointPatchField< tensor > &, const pointPatchField< tensor > &)
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)
tmp< DimensionedField< typename powProduct< Type, r >::type, GeoMesh, Field > > pow(const DimensionedField< Type, GeoMesh, PrimitiveField > &df, typename powProduct< Type, r >::type)
tmp< DimensionedField< scalar, GeoMesh, Field > > mag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
void sqrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
tmp< DimensionedField< scalar, GeoMesh, Field > > magSqr(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
defineTypeNameAndDebug(atmosphericBoundaryLayer, 0)
dimensioned< Type > max(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
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))