ENH: Turbulence IDDES models - added option to switch fe term in dTilda calc

Default is fe = true, yielding the original form given be Shur (2008)
This commit is contained in:
Andrew Heather
2022-05-13 19:19:56 +01:00
parent 5b1c060e9e
commit 9563607e01
4 changed files with 55 additions and 26 deletions

View File

@ -108,24 +108,28 @@ tmp<volScalarField> SpalartAllmarasIDDES<BasicTurbulenceModel>::dTilda
const volScalarField expTerm(exp(sqr(alpha))); const volScalarField expTerm(exp(sqr(alpha)));
tmp<volScalarField> fB = min(2*pow(expTerm, -9.0), scalar(1)); tmp<volScalarField> fB = min(2*pow(expTerm, -9.0), scalar(1));
tmp<volScalarField> fe1 =
2*(pos0(alpha)*pow(expTerm, -11.09) + neg(alpha)*pow(expTerm, -9.0));
tmp<volScalarField> fe2 = 1 - max(ft(magGradU), fl(magGradU));
tmp<volScalarField> fe = max(fe1 - 1, scalar(0))*psi*fe2;
const volScalarField fdTilda(max(1 - fdt(magGradU), fB)); const volScalarField fdTilda(max(1 - fdt(magGradU), fB));
// Simplified formulation from Gritskevich et al. paper (2011) where fe = 0 if (fe_)
// return max {
// ( tmp<volScalarField> fe1 =
// fdTilda*lRAS + (1 - fdTilda)*lLES, 2*(pos0(alpha)*pow(expTerm, -11.09) + neg(alpha)*pow(expTerm, -9.));
// dimensionedScalar("SMALL", dimLength, SMALL) tmp<volScalarField> fe2 = 1 - max(ft(magGradU), fl(magGradU));
// ); tmp<volScalarField> fe = max(fe1 - 1, scalar(0))*psi*fe2;
// Original formulation from Shur et al. paper (2008) // Original formulation from Shur et al. paper (2008)
return max
(
fdTilda*(1 + fe)*lRAS + (1 - fdTilda)*lLES,
dimensionedScalar("SMALL", dimLength, SMALL)
);
}
// Simplified formulation from Gritskevich et al. paper (2011) where fe = 0
return max return max
( (
fdTilda*(1 + fe)*lRAS + (1 - fdTilda)*lLES, fdTilda*lRAS + (1 - fdTilda)*lLES,
dimensionedScalar("SMALL", dimLength, SMALL) dimensionedScalar("SMALL", dimLength, SMALL)
); );
} }
@ -194,6 +198,16 @@ SpalartAllmarasIDDES<BasicTurbulenceModel>::SpalartAllmarasIDDES
1.63 1.63
) )
), ),
fe_
(
Switch::getOrAddToDict
(
"fe",
this->coeffDict_,
true
)
),
IDDESDelta_(setDelta()) IDDESDelta_(setDelta())
{ {
if (type == typeName) if (type == typeName)

View File

@ -100,6 +100,7 @@ protected:
dimensionedScalar Cdt2_; dimensionedScalar Cdt2_;
dimensionedScalar Cl_; dimensionedScalar Cl_;
dimensionedScalar Ct_; dimensionedScalar Ct_;
Switch fe_;
//- IDDES delta //- IDDES delta

View File

@ -104,24 +104,27 @@ tmp<volScalarField> kOmegaSSTIDDES<BasicTurbulenceModel>::dTilda
const volScalarField expTerm(exp(sqr(alpha))); const volScalarField expTerm(exp(sqr(alpha)));
tmp<volScalarField> fB = min(2*pow(expTerm, -9.0), scalar(1)); tmp<volScalarField> fB = min(2*pow(expTerm, -9.0), scalar(1));
tmp<volScalarField> fe1 =
2*(pos0(alpha)*pow(expTerm, -11.09) + neg(alpha)*pow(expTerm, -9.0));
tmp<volScalarField> fe2 = 1 - max(ft(magGradU), fl(magGradU));
tmp<volScalarField> fe = max(fe1 - 1, scalar(0))*fe2;
const volScalarField fdTilda(max(1 - fdt(magGradU), fB)); const volScalarField fdTilda(max(1 - fdt(magGradU), fB));
// Simplified formulation from Gritskevich et al. paper (2011) where fe = 0 if (fe_)
// return max {
// ( tmp<volScalarField> fe1 =
// fdTilda*lRAS + (1 - fdTilda)*lLES, 2*(pos0(alpha)*pow(expTerm, -11.09) + neg(alpha)*pow(expTerm, -9.));
// dimensionedScalar("SMALL", dimLength, SMALL) tmp<volScalarField> fe2 = 1 - max(ft(magGradU), fl(magGradU));
// ); tmp<volScalarField> fe = max(fe1 - 1, scalar(0))*fe2;
// Original formulation from Shur et al. paper (2008) // Original formulation from Shur et al. paper (2008)
return max
(
fdTilda*(1 + fe)*lRAS + (1 - fdTilda)*lLES,
dimensionedScalar("SMALL", dimLength, SMALL)
);
}
// Simplified formulation from Gritskevich et al. paper (2011) where fe = 0
return max return max
( (
fdTilda*(1 + fe)*lRAS + (1 - fdTilda)*lLES, fdTilda*lRAS + (1 - fdTilda)*lLES,
dimensionedScalar("SMALL", dimLength, SMALL) dimensionedScalar("SMALL", dimLength, SMALL)
); );
} }
@ -190,6 +193,16 @@ kOmegaSSTIDDES<BasicTurbulenceModel>::kOmegaSSTIDDES
1.87 1.87
) )
), ),
fe_
(
Switch::getOrAddToDict
(
"fe",
this->coeffDict_,
true
)
),
IDDESDelta_(setDelta()) IDDESDelta_(setDelta())
{ {
if (type == typeName) if (type == typeName)

View File

@ -97,6 +97,7 @@ protected:
dimensionedScalar Cdt2_; dimensionedScalar Cdt2_;
dimensionedScalar Cl_; dimensionedScalar Cl_;
dimensionedScalar Ct_; dimensionedScalar Ct_;
Switch fe_;
//- IDDES delta //- IDDES delta