mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: kOmegaSSTDES - added convenience functions for RAS|LES length scales
This commit is contained in:
@ -99,16 +99,11 @@ tmp<volScalarField> SpalartAllmarasDDES<BasicTurbulenceModel>::dTilda
|
||||
{
|
||||
const volScalarField& lRAS(this->y_);
|
||||
const volScalarField lLES(this->lengthScaleLES(chi, fv1));
|
||||
const dimensionedScalar l0(dimLength, Zero);
|
||||
|
||||
return max
|
||||
(
|
||||
lRAS
|
||||
- fd(mag(gradU))
|
||||
*max
|
||||
(
|
||||
lRAS - lLES,
|
||||
dimensionedScalar(dimLength, Zero)
|
||||
),
|
||||
lRAS - fd(mag(gradU))*max(lRAS - lLES, l0),
|
||||
dimensionedScalar("small", dimLength, SMALL)
|
||||
);
|
||||
}
|
||||
|
||||
@ -64,13 +64,12 @@ tmp<volScalarField> kOmegaSSTDDES<BasicTurbulenceModel>::S2
|
||||
{
|
||||
volScalarField& S2 = tS2.ref();
|
||||
const volScalarField CDES(this->CDES(F1));
|
||||
const volScalarField& k = this->k_;
|
||||
const volScalarField& omega = this->omega_;
|
||||
const volScalarField Ssigma(this->Ssigma(gradU));
|
||||
|
||||
S2 -=
|
||||
(
|
||||
fd(mag(gradU))
|
||||
*pos(sqrt(k)/(this->betaStar_*omega) - CDES*this->delta())
|
||||
*pos(this->lengthScaleRAS() - this->lengthScaleLES(CDES))
|
||||
*(S2 - sqr(Ssigma))
|
||||
);
|
||||
}
|
||||
@ -86,21 +85,13 @@ tmp<volScalarField> kOmegaSSTDDES<BasicTurbulenceModel>::dTilda
|
||||
const volScalarField& CDES
|
||||
) const
|
||||
{
|
||||
const volScalarField& k = this->k_;
|
||||
const volScalarField& omega = this->omega_;
|
||||
|
||||
const volScalarField lRAS(sqrt(k)/(this->betaStar_*omega));
|
||||
const volScalarField lLES(CDES*this->delta());
|
||||
const volScalarField lRAS(this->lengthScaleRAS());
|
||||
const volScalarField lLES(this->lengthScaleLES(CDES));
|
||||
const dimensionedScalar l0(dimLength, Zero);
|
||||
|
||||
return max
|
||||
(
|
||||
lRAS
|
||||
- fd(magGradU)
|
||||
*max
|
||||
(
|
||||
lRAS - lLES,
|
||||
dimensionedScalar(dimLength, Zero)
|
||||
),
|
||||
lRAS - fd(magGradU)*max(lRAS - lLES, l0),
|
||||
dimensionedScalar("small", dimLength, SMALL)
|
||||
);
|
||||
}
|
||||
@ -119,14 +110,12 @@ tmp<volScalarField::Internal> kOmegaSSTDDES<BasicTurbulenceModel>::GbyNu0
|
||||
if (useSigma_)
|
||||
{
|
||||
volScalarField::Internal& GbyNu0 = tGbyNu0.ref();
|
||||
const volScalarField::Internal CDES(this->CDES(F1)()());
|
||||
const volScalarField::Internal& k = this->k_();
|
||||
const volScalarField::Internal& omega = this->omega_();
|
||||
const volScalarField CDES(this->CDES(F1));
|
||||
|
||||
GbyNu0 -=
|
||||
fd(mag(gradU))()()
|
||||
*pos(sqrt(k)/(this->betaStar_*omega) - CDES*this->delta()())
|
||||
*(GbyNu0 - S2);
|
||||
*pos(this->lengthScaleRAS()()() - this->lengthScaleLES(CDES)()())
|
||||
*(GbyNu0 - S2());
|
||||
}
|
||||
|
||||
return tGbyNu0;
|
||||
|
||||
@ -82,10 +82,7 @@ tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::dTilda
|
||||
const volScalarField& CDES
|
||||
) const
|
||||
{
|
||||
const volScalarField& k = this->k_;
|
||||
const volScalarField& omega = this->omega_;
|
||||
|
||||
return min(CDES*this->delta(), sqrt(k)/(this->betaStar_*omega));
|
||||
return min(lengthScaleLES(CDES), lengthScaleRAS());
|
||||
}
|
||||
|
||||
|
||||
@ -202,6 +199,28 @@ bool kOmegaSSTDES<BasicTurbulenceModel>::read()
|
||||
}
|
||||
|
||||
|
||||
template<class BasicTurbulenceModel>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
kOmegaSSTDES<BasicTurbulenceModel>::lengthScaleRAS() const
|
||||
{
|
||||
const volScalarField& k = this->k_;
|
||||
const volScalarField& omega = this->omega_;
|
||||
|
||||
return sqrt(k)/(this->betaStar_*omega);
|
||||
}
|
||||
|
||||
|
||||
template<class BasicTurbulenceModel>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
kOmegaSSTDES<BasicTurbulenceModel>::lengthScaleLES
|
||||
(
|
||||
const volScalarField& CDES
|
||||
) const
|
||||
{
|
||||
return CDES*this->delta();
|
||||
}
|
||||
|
||||
|
||||
template<class BasicTurbulenceModel>
|
||||
tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::LESRegion() const
|
||||
{
|
||||
@ -219,15 +238,7 @@ tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::LESRegion() const
|
||||
return tmp<volScalarField>::New
|
||||
(
|
||||
IOobject::scopedName("DES", "LESRegion"),
|
||||
neg
|
||||
(
|
||||
dTilda
|
||||
(
|
||||
mag(fvc::grad(U)),
|
||||
F1*CDESkom_ + (1 - F1)*CDESkeps_
|
||||
)
|
||||
- sqrt(k)/(this->betaStar_*omega)
|
||||
)
|
||||
neg(dTilda(mag(fvc::grad(U)), CDES(F1)) - lengthScaleRAS())
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -169,6 +169,15 @@ public:
|
||||
//- Re-read model coefficients if they have changed
|
||||
virtual bool read();
|
||||
|
||||
//- RAS length scale
|
||||
virtual tmp<volScalarField> lengthScaleRAS() const;
|
||||
|
||||
//- LES length scale
|
||||
virtual tmp<volScalarField> lengthScaleLES
|
||||
(
|
||||
const volScalarField& CDES
|
||||
) const;
|
||||
|
||||
//- Return the LES field indicator
|
||||
virtual tmp<volScalarField> LESRegion() const;
|
||||
};
|
||||
|
||||
@ -97,11 +97,8 @@ tmp<volScalarField> kOmegaSSTIDDES<BasicTurbulenceModel>::dTilda
|
||||
const volScalarField& CDES
|
||||
) const
|
||||
{
|
||||
const volScalarField& k = this->k_;
|
||||
const volScalarField& omega = this->omega_;
|
||||
|
||||
const volScalarField lRAS(sqrt(k)/(this->betaStar_*omega));
|
||||
const volScalarField lLES(CDES*this->delta());
|
||||
const volScalarField lRAS(this->lengthScaleRAS());
|
||||
const volScalarField lLES(this->lengthScaleLES(CDES));
|
||||
|
||||
const volScalarField alpha(this->alpha());
|
||||
const volScalarField expTerm(exp(sqr(alpha)));
|
||||
|
||||
Reference in New Issue
Block a user