kOmegaSST: Updated to be consistent with the latest version in OpenFOAM-2.3.x
This commit is contained in:
parent
5a896b95df
commit
c13136511a
2 changed files with 46 additions and 34 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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 Menter’s k-omega-SST turbulence model"
|
"Some Improvements in Menter’s 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:
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue