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

View file

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