kOmegaSST: Updated to be consistent with the latest version in OpenFOAM-2.3.x

This commit is contained in:
Henry
2015-02-11 15:59:16 +00:00
parent 5ebba3f8e1
commit 00f605d9c3
2 changed files with 46 additions and 34 deletions

View File

@ -107,16 +107,22 @@ tmp<volScalarField> kOmegaSST<BasicTurbulenceModel>::kOmegaSST::F23() const
}
template<class BasicTurbulenceModel>
void kOmegaSST<BasicTurbulenceModel>::correctNut(const volScalarField& S2)
{
this->nut_ = a1_*k_/max(a1_*omega_, b1_*F23()*sqrt(S2));
this->nut_.correctBoundaryConditions();
BasicTurbulenceModel::correctNut();
}
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class BasicTurbulenceModel>
void kOmegaSST<BasicTurbulenceModel>::correctNut()
{
this->nut_ =
a1_*k_/max(a1_*omega_, F23()*sqrt(2.0)*mag(symm(fvc::grad(this->U_))));
this->nut_.correctBoundaryConditions();
BasicTurbulenceModel::correctNut();
correctNut(2*magSqr(symm(fvc::grad(this->U_))));
}
@ -181,7 +187,7 @@ kOmegaSST<BasicTurbulenceModel>::kOmegaSST
(
"alphaK1",
this->coeffDict_,
0.85034
0.85
)
),
alphaK2_
@ -208,16 +214,7 @@ kOmegaSST<BasicTurbulenceModel>::kOmegaSST
(
"alphaOmega2",
this->coeffDict_,
0.85616
)
),
Prt_
(
dimensioned<scalar>::lookupOrAddToDict
(
"Prt",
this->coeffDict_,
1.0
0.856
)
),
gamma1_
@ -226,7 +223,7 @@ kOmegaSST<BasicTurbulenceModel>::kOmegaSST
(
"gamma1",
this->coeffDict_,
0.5532
5.0/9.0
)
),
gamma2_
@ -235,7 +232,7 @@ kOmegaSST<BasicTurbulenceModel>::kOmegaSST
(
"gamma2",
this->coeffDict_,
0.4403
0.44
)
),
beta1_
@ -351,11 +348,11 @@ bool kOmegaSST<BasicTurbulenceModel>::read()
alphaK2_.readIfPresent(this->coeffDict());
alphaOmega1_.readIfPresent(this->coeffDict());
alphaOmega2_.readIfPresent(this->coeffDict());
gamma1_.readIfPresent(this->coeffDict());
gamma2_.readIfPresent(this->coeffDict());
beta1_.readIfPresent(this->coeffDict());
beta2_.readIfPresent(this->coeffDict());
betaStar_.readIfPresent(this->coeffDict());
gamma1_.readIfPresent(this->coeffDict());
gamma2_.readIfPresent(this->coeffDict());
a1_.readIfPresent(this->coeffDict());
b1_.readIfPresent(this->coeffDict());
c1_.readIfPresent(this->coeffDict());
@ -413,7 +410,12 @@ void kOmegaSST<BasicTurbulenceModel>::correct()
+ fvm::div(alphaRhoPhi, omega_)
- fvm::laplacian(alpha*rho*DomegaEff(F1), omega_)
==
alpha*rhoGammaF1*GbyNu
alpha*rhoGammaF1
*min
(
GbyNu,
(c1_/a1_)*betaStar_*omega_*max(a1_*omega_, b1_*F23()*sqrt(S2))
)
- fvm::SuSp((2.0/3.0)*alpha*rhoGammaF1*divU, omega_)
- fvm::Sp(alpha*rho*beta(F1)*omega_, omega_)
- fvm::SuSp

View File

@ -36,14 +36,23 @@ Description
Menter, F. R. & Esch, T. (2001).
Elements of Industrial Heat Transfer Prediction.
16th Brazilian Congress of Mechanical Engineering (COBEM).
\endverbatim
with updated coefficients from
\verbatim
Menter, F. R., Kuntz, M., and Langtry, R. (2003).
Ten Years of Industrial Experience with the SST Turbulence Model.
Turbulence, Heat and Mass Transfer 4, ed: K. Hanjalic, Y. Nagano,
& M. Tummers, Begell House, Inc., 625 - 632.
\endverbatim
with the addition of the optional F3 term for rough walls from
but with the consistent production terms from the 2001 paper as form in the
2003 paper is a typo, see
\verbatim
http://turbmodels.larc.nasa.gov/sst.html
\endverbatim
and the addition of the optional F3 term for rough walls from
\verbatim
Hellsten, A. (1998).
"Some Improvements in Menters k-omega-SST turbulence model"
@ -70,16 +79,15 @@ Description
\verbatim
kOmegaSSTCoeffs
{
alphaK1 0.85034;
alphaK1 0.85;
alphaK2 1.0;
alphaOmega1 0.5;
alphaOmega2 0.85616;
Prt 1.0; // only for compressible
alphaOmega2 0.856;
beta1 0.075;
beta2 0.0828;
betaStar 0.09;
gamma1 0.5532;
gamma2 0.4403;
gamma1 5/9;
gamma2 0.44;
a1 0.31;
b1 1.0;
c1 10.0;
@ -161,13 +169,6 @@ protected:
volScalarField omega_;
// Protected Member Functions
virtual void correctNut();
virtual tmp<fvScalarMatrix> kSource() const;
virtual tmp<fvScalarMatrix> omegaSource() const;
// Private Member Functions
tmp<volScalarField> F1(const volScalarField& CDkOmega) const;
@ -205,6 +206,15 @@ protected:
return blend(F1, gamma1_, gamma2_);
}
void correctNut(const volScalarField& S2);
// Protected Member Functions
virtual void correctNut();
virtual tmp<fvScalarMatrix> kSource() const;
virtual tmp<fvScalarMatrix> omegaSource() const;
public: