Commit 00f605d9 authored by Henry's avatar Henry
Browse files

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

parent 5ebba3f8
......@@ -107,19 +107,25 @@ tmp<volScalarField> kOmegaSST<BasicTurbulenceModel>::kOmegaSST::F23() const
}
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class BasicTurbulenceModel>
void kOmegaSST<BasicTurbulenceModel>::correctNut()
void kOmegaSST<BasicTurbulenceModel>::correctNut(const volScalarField& S2)
{
this->nut_ =
a1_*k_/max(a1_*omega_, F23()*sqrt(2.0)*mag(symm(fvc::grad(this->U_))));
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()
{
correctNut(2*magSqr(symm(fvc::grad(this->U_))));
}
template<class BasicTurbulenceModel>
tmp<fvScalarMatrix> kOmegaSST<BasicTurbulenceModel>::kSource() const
{
......@@ -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
......
......@@ -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 Menter’s 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:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment