mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Code refactoring
This commit is contained in:
@ -61,7 +61,27 @@ tmp<volScalarField> SpalartAllmarasDDES<BasicTurbulenceModel>::Stilda
|
|||||||
const volScalarField& dTilda
|
const volScalarField& dTilda
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
tmp<volScalarField> St =
|
if (this->useSigma_)
|
||||||
|
{
|
||||||
|
const volScalarField& lRAS(this->y_);
|
||||||
|
const volScalarField fv2(this->fv2(chi, fv1));
|
||||||
|
const volScalarField lLES(this->lengthScaleLES(chi, fv1));
|
||||||
|
const volScalarField Omega(this->Omega(gradU));
|
||||||
|
const volScalarField Ssigma(this->Ssigma(gradU));
|
||||||
|
const volScalarField SsigmaDES
|
||||||
|
(
|
||||||
|
Omega - fd(mag(gradU))*pos(lRAS - lLES)*(Omega - Ssigma)
|
||||||
|
);
|
||||||
|
|
||||||
|
return
|
||||||
|
max
|
||||||
|
(
|
||||||
|
SsigmaDES + fv2*this->nuTilda_/sqr(this->kappa_*dTilda),
|
||||||
|
this->Cs_*SsigmaDES
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
SpalartAllmarasBase<DESModel<BasicTurbulenceModel>>::Stilda
|
SpalartAllmarasBase<DESModel<BasicTurbulenceModel>>::Stilda
|
||||||
(
|
(
|
||||||
chi,
|
chi,
|
||||||
@ -69,23 +89,6 @@ tmp<volScalarField> SpalartAllmarasDDES<BasicTurbulenceModel>::Stilda
|
|||||||
gradU,
|
gradU,
|
||||||
dTilda
|
dTilda
|
||||||
);
|
);
|
||||||
|
|
||||||
if (useSigma_)
|
|
||||||
{
|
|
||||||
const volScalarField& lRAS(this->y_);
|
|
||||||
const volScalarField lLES(this->lengthScaleLES(chi, fv1));
|
|
||||||
const volScalarField Omega(this->Omega(gradU));
|
|
||||||
const volScalarField Ssigma(this->Ssigma(gradU));
|
|
||||||
|
|
||||||
return
|
|
||||||
max
|
|
||||||
(
|
|
||||||
St - fd(mag(gradU))*pos(lRAS - lLES)*(Omega - Ssigma),
|
|
||||||
this->Cs_*Omega
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return St;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -136,18 +139,9 @@ SpalartAllmarasDDES<BasicTurbulenceModel>::SpalartAllmarasDDES
|
|||||||
type
|
type
|
||||||
),
|
),
|
||||||
|
|
||||||
useSigma_
|
|
||||||
(
|
|
||||||
Switch::getOrAddToDict
|
|
||||||
(
|
|
||||||
"useSigma",
|
|
||||||
this->coeffDict_,
|
|
||||||
false
|
|
||||||
)
|
|
||||||
),
|
|
||||||
Cd1_
|
Cd1_
|
||||||
(
|
(
|
||||||
useSigma_ ?
|
this->useSigma_ ?
|
||||||
dimensioned<scalar>::getOrAddToDict
|
dimensioned<scalar>::getOrAddToDict
|
||||||
(
|
(
|
||||||
"Cd1Sigma",
|
"Cd1Sigma",
|
||||||
@ -185,7 +179,6 @@ bool SpalartAllmarasDDES<BasicTurbulenceModel>::read()
|
|||||||
{
|
{
|
||||||
if (SpalartAllmarasDES<BasicTurbulenceModel>::read())
|
if (SpalartAllmarasDES<BasicTurbulenceModel>::read())
|
||||||
{
|
{
|
||||||
useSigma_.readIfPresent("useSigma", this->coeffDict());
|
|
||||||
Cd1_.readIfPresent(this->coeffDict());
|
Cd1_.readIfPresent(this->coeffDict());
|
||||||
Cd2_.readIfPresent(this->coeffDict());
|
Cd2_.readIfPresent(this->coeffDict());
|
||||||
|
|
||||||
|
|||||||
@ -72,7 +72,7 @@ class SpalartAllmarasDDES
|
|||||||
{
|
{
|
||||||
// Private Member Functions
|
// Private Member Functions
|
||||||
|
|
||||||
//- Delay function
|
//- Shielding function
|
||||||
tmp<volScalarField> fd(const volScalarField& magGradU) const;
|
tmp<volScalarField> fd(const volScalarField& magGradU) const;
|
||||||
|
|
||||||
//- No copy construct
|
//- No copy construct
|
||||||
@ -86,9 +86,6 @@ protected:
|
|||||||
|
|
||||||
// Protected data
|
// Protected data
|
||||||
|
|
||||||
//- Switch to activate grey-area enhanced sigma-DDES
|
|
||||||
Switch useSigma_;
|
|
||||||
|
|
||||||
// Model coefficients
|
// Model coefficients
|
||||||
|
|
||||||
dimensionedScalar Cd1_;
|
dimensionedScalar Cd1_;
|
||||||
@ -97,6 +94,7 @@ protected:
|
|||||||
|
|
||||||
// Protected Member Functions
|
// Protected Member Functions
|
||||||
|
|
||||||
|
//- Production term
|
||||||
virtual tmp<volScalarField> Stilda
|
virtual tmp<volScalarField> Stilda
|
||||||
(
|
(
|
||||||
const volScalarField& chi,
|
const volScalarField& chi,
|
||||||
|
|||||||
@ -95,6 +95,46 @@ tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::lengthScaleLES
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasicTurbulenceModel>
|
||||||
|
tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::Stilda
|
||||||
|
(
|
||||||
|
const volScalarField& chi,
|
||||||
|
const volScalarField& fv1,
|
||||||
|
const volTensorField& gradU,
|
||||||
|
const volScalarField& dTilda
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
if (useSigma_)
|
||||||
|
{
|
||||||
|
const volScalarField& lRAS = this->y_;
|
||||||
|
const volScalarField fv2(this->fv2(chi, fv1));
|
||||||
|
const volScalarField lLES(this->lengthScaleLES(chi, fv1));
|
||||||
|
const volScalarField Omega(this->Omega(gradU));
|
||||||
|
const volScalarField Ssigma(this->Ssigma(gradU));
|
||||||
|
const volScalarField SsigmaDES
|
||||||
|
(
|
||||||
|
pos(dTilda - lRAS)*Omega + (scalar(1) - pos(dTilda - lRAS))*Ssigma
|
||||||
|
);
|
||||||
|
|
||||||
|
return
|
||||||
|
max
|
||||||
|
(
|
||||||
|
SsigmaDES + fv2*this->nuTilda_/sqr(this->kappa_*dTilda),
|
||||||
|
this->Cs_*SsigmaDES
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
SpalartAllmarasBase<DESModel<BasicTurbulenceModel>>::Stilda
|
||||||
|
(
|
||||||
|
chi,
|
||||||
|
fv1,
|
||||||
|
gradU,
|
||||||
|
dTilda
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class BasicTurbulenceModel>
|
template<class BasicTurbulenceModel>
|
||||||
tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::dTilda
|
tmp<volScalarField> SpalartAllmarasDES<BasicTurbulenceModel>::dTilda
|
||||||
(
|
(
|
||||||
@ -139,6 +179,15 @@ SpalartAllmarasDES<BasicTurbulenceModel>::SpalartAllmarasDES
|
|||||||
propertiesName
|
propertiesName
|
||||||
),
|
),
|
||||||
|
|
||||||
|
useSigma_
|
||||||
|
(
|
||||||
|
Switch::getOrAddToDict
|
||||||
|
(
|
||||||
|
"useSigma",
|
||||||
|
this->coeffDict_,
|
||||||
|
false
|
||||||
|
)
|
||||||
|
),
|
||||||
CDES_
|
CDES_
|
||||||
(
|
(
|
||||||
dimensioned<scalar>::getOrAddToDict
|
dimensioned<scalar>::getOrAddToDict
|
||||||
@ -190,6 +239,7 @@ bool SpalartAllmarasDES<BasicTurbulenceModel>::read()
|
|||||||
{
|
{
|
||||||
if (SpalartAllmarasBase<DESModel<BasicTurbulenceModel>>::read())
|
if (SpalartAllmarasBase<DESModel<BasicTurbulenceModel>>::read())
|
||||||
{
|
{
|
||||||
|
useSigma_.readIfPresent("useSigma", this->coeffDict());
|
||||||
CDES_.readIfPresent(this->coeffDict());
|
CDES_.readIfPresent(this->coeffDict());
|
||||||
lowReCorrection_.readIfPresent("lowReCorrection", this->coeffDict());
|
lowReCorrection_.readIfPresent("lowReCorrection", this->coeffDict());
|
||||||
fwStar_.readIfPresent(this->coeffDict());
|
fwStar_.readIfPresent(this->coeffDict());
|
||||||
|
|||||||
@ -96,6 +96,9 @@ protected:
|
|||||||
|
|
||||||
// Protected data
|
// Protected data
|
||||||
|
|
||||||
|
//- Switch to activate grey-area enhanced sigma-(D)DES
|
||||||
|
Switch useSigma_;
|
||||||
|
|
||||||
// Model constants
|
// Model constants
|
||||||
|
|
||||||
// DES coefficient
|
// DES coefficient
|
||||||
@ -108,7 +111,7 @@ protected:
|
|||||||
|
|
||||||
// Protected Member Functions
|
// Protected Member Functions
|
||||||
|
|
||||||
//- Shielding function
|
//- Low Reynolds number correction function
|
||||||
virtual tmp<volScalarField> psi
|
virtual tmp<volScalarField> psi
|
||||||
(
|
(
|
||||||
const volScalarField& chi,
|
const volScalarField& chi,
|
||||||
@ -122,6 +125,15 @@ protected:
|
|||||||
const volScalarField& fv1
|
const volScalarField& fv1
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
|
//- Production term
|
||||||
|
virtual tmp<volScalarField> Stilda
|
||||||
|
(
|
||||||
|
const volScalarField& chi,
|
||||||
|
const volScalarField& fv1,
|
||||||
|
const volTensorField& gradU,
|
||||||
|
const volScalarField& dTilda
|
||||||
|
) const;
|
||||||
|
|
||||||
//- Length scale
|
//- Length scale
|
||||||
virtual tmp<volScalarField> dTilda
|
virtual tmp<volScalarField> dTilda
|
||||||
(
|
(
|
||||||
|
|||||||
@ -58,20 +58,18 @@ tmp<volScalarField> kOmegaSSTDDES<BasicTurbulenceModel>::S2
|
|||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
tmp<volScalarField> tS2 =
|
tmp<volScalarField> tS2 =
|
||||||
this->kOmegaSSTDES<BasicTurbulenceModel>::S2(F1, gradU);
|
kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::S2(F1, gradU);
|
||||||
|
|
||||||
if (useSigma_)
|
if (this->useSigma_)
|
||||||
{
|
{
|
||||||
volScalarField& S2 = tS2.ref();
|
volScalarField& S2 = tS2.ref();
|
||||||
const volScalarField CDES(this->CDES(F1));
|
const volScalarField CDES(this->CDES(F1));
|
||||||
const volScalarField Ssigma(this->Ssigma(gradU));
|
const volScalarField Ssigma(this->Ssigma(gradU));
|
||||||
|
|
||||||
S2 -=
|
S2 -=
|
||||||
(
|
fd(mag(gradU))
|
||||||
fd(mag(gradU))
|
*pos(this->lengthScaleRAS() - this->lengthScaleLES(CDES))
|
||||||
*pos(this->lengthScaleRAS() - this->lengthScaleLES(CDES))
|
*(S2 - sqr(Ssigma));
|
||||||
*(S2 - sqr(Ssigma))
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return tS2;
|
return tS2;
|
||||||
@ -104,21 +102,13 @@ tmp<volScalarField::Internal> kOmegaSSTDDES<BasicTurbulenceModel>::GbyNu0
|
|||||||
const volScalarField& S2
|
const volScalarField& S2
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
tmp<volScalarField::Internal> tGbyNu0 =
|
if (this->useSigma_)
|
||||||
this->kOmegaSSTDES<BasicTurbulenceModel>::GbyNu0(gradU, F1, S2);
|
|
||||||
|
|
||||||
if (useSigma_)
|
|
||||||
{
|
{
|
||||||
volScalarField::Internal& GbyNu0 = tGbyNu0.ref();
|
return S2();
|
||||||
const volScalarField CDES(this->CDES(F1));
|
|
||||||
|
|
||||||
GbyNu0 -=
|
|
||||||
fd(mag(gradU))()()
|
|
||||||
*pos(this->lengthScaleRAS()()() - this->lengthScaleLES(CDES)()())
|
|
||||||
*(GbyNu0 - S2());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return tGbyNu0;
|
return
|
||||||
|
kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::GbyNu0(gradU, F1, S2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -161,18 +151,9 @@ kOmegaSSTDDES<BasicTurbulenceModel>::kOmegaSSTDDES
|
|||||||
type
|
type
|
||||||
),
|
),
|
||||||
|
|
||||||
useSigma_
|
|
||||||
(
|
|
||||||
Switch::getOrAddToDict
|
|
||||||
(
|
|
||||||
"useSigma",
|
|
||||||
this->coeffDict_,
|
|
||||||
false
|
|
||||||
)
|
|
||||||
),
|
|
||||||
Cd1_
|
Cd1_
|
||||||
(
|
(
|
||||||
useSigma_ ?
|
this->useSigma_ ?
|
||||||
dimensioned<scalar>::getOrAddToDict
|
dimensioned<scalar>::getOrAddToDict
|
||||||
(
|
(
|
||||||
"Cd1Sigma",
|
"Cd1Sigma",
|
||||||
|
|||||||
@ -70,6 +70,7 @@ class kOmegaSSTDDES
|
|||||||
{
|
{
|
||||||
// Private Member Functions
|
// Private Member Functions
|
||||||
|
|
||||||
|
//- Shielding function
|
||||||
tmp<volScalarField> fd(const volScalarField& magGradU) const;
|
tmp<volScalarField> fd(const volScalarField& magGradU) const;
|
||||||
|
|
||||||
//- No copy construct
|
//- No copy construct
|
||||||
@ -83,9 +84,6 @@ protected:
|
|||||||
|
|
||||||
// Protected data
|
// Protected data
|
||||||
|
|
||||||
//- Switch to activate grey-area enhanced sigma-DDES
|
|
||||||
Switch useSigma_;
|
|
||||||
|
|
||||||
// Model coefficients
|
// Model coefficients
|
||||||
|
|
||||||
dimensionedScalar Cd1_;
|
dimensionedScalar Cd1_;
|
||||||
|
|||||||
@ -75,6 +75,33 @@ tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::r
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasicTurbulenceModel>
|
||||||
|
tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::S2
|
||||||
|
(
|
||||||
|
const volScalarField& F1,
|
||||||
|
const volTensorField& gradU
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
tmp<volScalarField> tS2 =
|
||||||
|
kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::S2(F1, gradU);
|
||||||
|
|
||||||
|
if (this->useSigma_)
|
||||||
|
{
|
||||||
|
volScalarField& S2 = tS2.ref();
|
||||||
|
const volScalarField CDES(this->CDES(F1));
|
||||||
|
const volScalarField dTilda(this->dTilda(mag(gradU), CDES));
|
||||||
|
const volScalarField lengthScaleRAS(this->lengthScaleRAS());
|
||||||
|
const volScalarField Ssigma(this->Ssigma(gradU));
|
||||||
|
|
||||||
|
S2 =
|
||||||
|
pos(dTilda - lengthScaleRAS)*S2
|
||||||
|
+ (scalar(1) - pos(dTilda - lengthScaleRAS))*sqr(Ssigma);
|
||||||
|
}
|
||||||
|
|
||||||
|
return tS2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class BasicTurbulenceModel>
|
template<class BasicTurbulenceModel>
|
||||||
tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::dTilda
|
tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::dTilda
|
||||||
(
|
(
|
||||||
@ -98,6 +125,24 @@ tmp<volScalarField::Internal> kOmegaSSTDES<BasicTurbulenceModel>::epsilonByk
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasicTurbulenceModel>
|
||||||
|
tmp<volScalarField::Internal> kOmegaSSTDES<BasicTurbulenceModel>::GbyNu0
|
||||||
|
(
|
||||||
|
const volTensorField& gradU,
|
||||||
|
const volScalarField& F1,
|
||||||
|
const volScalarField& S2
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
if (this->useSigma_)
|
||||||
|
{
|
||||||
|
return S2();
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::GbyNu0(gradU, F1, S2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class BasicTurbulenceModel>
|
template<class BasicTurbulenceModel>
|
||||||
tmp<volScalarField::Internal> kOmegaSSTDES<BasicTurbulenceModel>::GbyNu
|
tmp<volScalarField::Internal> kOmegaSSTDES<BasicTurbulenceModel>::GbyNu
|
||||||
(
|
(
|
||||||
@ -137,6 +182,15 @@ kOmegaSSTDES<BasicTurbulenceModel>::kOmegaSSTDES
|
|||||||
propertiesName
|
propertiesName
|
||||||
),
|
),
|
||||||
|
|
||||||
|
useSigma_
|
||||||
|
(
|
||||||
|
Switch::getOrAddToDict
|
||||||
|
(
|
||||||
|
"useSigma",
|
||||||
|
this->coeffDict_,
|
||||||
|
false
|
||||||
|
)
|
||||||
|
),
|
||||||
kappa_
|
kappa_
|
||||||
(
|
(
|
||||||
dimensioned<scalar>::getOrAddToDict
|
dimensioned<scalar>::getOrAddToDict
|
||||||
@ -188,6 +242,7 @@ bool kOmegaSSTDES<BasicTurbulenceModel>::read()
|
|||||||
{
|
{
|
||||||
if (kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::read())
|
if (kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::read())
|
||||||
{
|
{
|
||||||
|
useSigma_.readIfPresent("useSigma", this->coeffDict());
|
||||||
kappa_.readIfPresent(this->coeffDict());
|
kappa_.readIfPresent(this->coeffDict());
|
||||||
CDESkom_.readIfPresent(this->coeffDict());
|
CDESkom_.readIfPresent(this->coeffDict());
|
||||||
CDESkeps_.readIfPresent(this->coeffDict());
|
CDESkeps_.readIfPresent(this->coeffDict());
|
||||||
|
|||||||
@ -86,9 +86,14 @@ protected:
|
|||||||
|
|
||||||
// Protected data
|
// Protected data
|
||||||
|
|
||||||
|
//- Switch to activate grey-area enhanced sigma-(D)DES
|
||||||
|
Switch useSigma_;
|
||||||
|
|
||||||
// Model coefficients
|
// Model coefficients
|
||||||
|
|
||||||
dimensionedScalar kappa_;
|
dimensionedScalar kappa_;
|
||||||
|
|
||||||
|
//- DES coefficients
|
||||||
dimensionedScalar CDESkom_;
|
dimensionedScalar CDESkom_;
|
||||||
dimensionedScalar CDESkeps_;
|
dimensionedScalar CDESkeps_;
|
||||||
|
|
||||||
@ -110,6 +115,13 @@ protected:
|
|||||||
const volScalarField& magGradU
|
const volScalarField& magGradU
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
|
//- Return square of strain rate
|
||||||
|
virtual tmp<volScalarField> S2
|
||||||
|
(
|
||||||
|
const volScalarField& F1,
|
||||||
|
const volTensorField& gradU
|
||||||
|
) const;
|
||||||
|
|
||||||
//- Length scale
|
//- Length scale
|
||||||
virtual tmp<volScalarField> dTilda
|
virtual tmp<volScalarField> dTilda
|
||||||
(
|
(
|
||||||
@ -124,6 +136,14 @@ protected:
|
|||||||
const volTensorField& gradU
|
const volTensorField& gradU
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
|
//- Return (G/nu)_0
|
||||||
|
virtual tmp<volScalarField::Internal> GbyNu0
|
||||||
|
(
|
||||||
|
const volTensorField& gradU,
|
||||||
|
const volScalarField& F1,
|
||||||
|
const volScalarField& S2
|
||||||
|
) const;
|
||||||
|
|
||||||
//- Return G/nu
|
//- Return G/nu
|
||||||
virtual tmp<volScalarField::Internal> GbyNu
|
virtual tmp<volScalarField::Internal> GbyNu
|
||||||
(
|
(
|
||||||
|
|||||||
Reference in New Issue
Block a user