turbulenceModels/RAS/LRR: Added optional Gibson-Launder wall-reflection

This commit is contained in:
Henry
2015-02-06 17:38:04 +00:00
parent fc1d7a4742
commit 75a520099c
2 changed files with 112 additions and 36 deletions

View File

@ -24,6 +24,7 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "LRR.H" #include "LRR.H"
#include "wallFvPatch.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -80,31 +81,13 @@ LRR<BasicTurbulenceModel>::LRR
0.09 0.09
) )
), ),
Clrr1_
(
dimensioned<scalar>::lookupOrAddToDict
(
"Clrr1",
this->coeffDict_,
1.8
)
),
Clrr2_
(
dimensioned<scalar>::lookupOrAddToDict
(
"Clrr2",
this->coeffDict_,
0.6
)
),
C1_ C1_
( (
dimensioned<scalar>::lookupOrAddToDict dimensioned<scalar>::lookupOrAddToDict
( (
"C1", "C1",
this->coeffDict_, this->coeffDict_,
1.44 1.8
) )
), ),
C2_ C2_
@ -113,6 +96,24 @@ LRR<BasicTurbulenceModel>::LRR
( (
"C2", "C2",
this->coeffDict_, this->coeffDict_,
0.6
)
),
Ceps1_
(
dimensioned<scalar>::lookupOrAddToDict
(
"Ceps1",
this->coeffDict_,
1.44
)
),
Ceps2_
(
dimensioned<scalar>::lookupOrAddToDict
(
"Ceps2",
this->coeffDict_,
1.92 1.92
) )
), ),
@ -135,6 +136,43 @@ LRR<BasicTurbulenceModel>::LRR
) )
), ),
wallReflection_
(
Switch::lookupOrAddToDict
(
"wallReflection",
this->coeffDict_,
true
)
),
kappa_
(
dimensioned<scalar>::lookupOrAddToDict
(
"kappa",
this->coeffDict_,
0.41
)
),
Cref1_
(
dimensioned<scalar>::lookupOrAddToDict
(
"Cref1",
this->coeffDict_,
0.5
)
),
Cref2_
(
dimensioned<scalar>::lookupOrAddToDict
(
"Cref2",
this->coeffDict_,
0.3
)
),
k_ k_
( (
IOobject IOobject
@ -179,10 +217,10 @@ bool LRR<BasicTurbulenceModel>::read()
if (ReynoldsStress<RASModel<BasicTurbulenceModel> >::read()) if (ReynoldsStress<RASModel<BasicTurbulenceModel> >::read())
{ {
Cmu_.readIfPresent(this->coeffDict()); Cmu_.readIfPresent(this->coeffDict());
Clrr1_.readIfPresent(this->coeffDict());
Clrr2_.readIfPresent(this->coeffDict());
C1_.readIfPresent(this->coeffDict()); C1_.readIfPresent(this->coeffDict());
C2_.readIfPresent(this->coeffDict()); C2_.readIfPresent(this->coeffDict());
Ceps1_.readIfPresent(this->coeffDict());
Ceps2_.readIfPresent(this->coeffDict());
Cs_.readIfPresent(this->coeffDict()); Cs_.readIfPresent(this->coeffDict());
Ceps_.readIfPresent(this->coeffDict()); Ceps_.readIfPresent(this->coeffDict());
@ -228,8 +266,8 @@ void LRR<BasicTurbulenceModel>::correct()
+ fvm::div(alphaRhoPhi, epsilon_) + fvm::div(alphaRhoPhi, epsilon_)
- fvm::laplacian(Ceps_*alpha*rho*(k_/epsilon_)*R, epsilon_) - fvm::laplacian(Ceps_*alpha*rho*(k_/epsilon_)*R, epsilon_)
== ==
C1_*alpha*rho*G*epsilon_/k_ Ceps1_*alpha*rho*G*epsilon_/k_
- fvm::Sp(C2_*alpha*rho*epsilon_/k_, epsilon_) - fvm::Sp(Ceps2_*alpha*rho*epsilon_/k_, epsilon_)
); );
epsEqn().relax(); epsEqn().relax();
@ -268,13 +306,29 @@ void LRR<BasicTurbulenceModel>::correct()
fvm::ddt(alpha, rho, R) fvm::ddt(alpha, rho, R)
+ fvm::div(alphaRhoPhi, R) + fvm::div(alphaRhoPhi, R)
- fvm::laplacian(Cs_*alpha*rho*(k_/epsilon_)*R, R) - fvm::laplacian(Cs_*alpha*rho*(k_/epsilon_)*R, R)
+ fvm::Sp(Clrr1_*alpha*rho*epsilon_/k_, R) + fvm::Sp(C1_*alpha*rho*epsilon_/k_, R)
== ==
alpha*rho*P alpha*rho*P
- (2.0/3.0*(1 - Clrr1_)*I)*alpha*rho*epsilon_ - (2.0/3.0*(1 - C1_)*I)*alpha*rho*epsilon_
- Clrr2_*alpha*rho*dev(P) - C2_*alpha*rho*dev(P)
); );
// Optionally add wall-refection term
if (wallReflection_)
{
const volVectorField& n_(wallDist::New(this->mesh_).n());
const volScalarField& y_(wallDist::New(this->mesh_).y());
const volSymmTensorField reflect
(
Cref1_*R - ((Cref2_*C2_)*(k_/epsilon_))*dev(P)
);
REqn() +=
((3*pow(Cmu_, 0.75)/kappa_)*(alpha*rho*sqrt(k_)/y_))
*dev(symm((n_ & reflect)*n_));
}
REqn().relax(); REqn().relax();
solve(REqn); solve(REqn);

View File

@ -46,17 +46,31 @@ Description
Physics of Fluids (1958-1988), 13(11), 2634-2649. Physics of Fluids (1958-1988), 13(11), 2634-2649.
\endverbatim \endverbatim
Optional Gibson-Launder wall-reflection is also provided:
\verbatim
Gibson, M. M., & Launder, B. E. (1978).
Ground effects on pressure fluctuations in the
atmospheric boundary layer.
Journal of Fluid Mechanics, 86(03), 491-511.
\endverbatim
The default model coefficients are: The default model coefficients are:
\verbatim \verbatim
LRRCoeffs LRRCoeffs
{ {
Cmu 0.09; Cmu 0.09;
Clrr1 1.8; C1 1.8;
Clrr2 0.6; C2 0.6;
C1 1.44; Ceps1 1.44;
C2 1.92; Ceps2 1.92;
Cs 0.25; Cs 0.25;
Ceps 0.15; Ceps 0.15;
wallReflection yes;
kappa 0.41
Cref1 0.5;
Cref2 0.3;
couplingFactor 0.0; couplingFactor 0.0;
} }
\endverbatim \endverbatim
@ -103,15 +117,23 @@ protected:
dimensionedScalar Cmu_; dimensionedScalar Cmu_;
dimensionedScalar Clrr1_;
dimensionedScalar Clrr2_;
dimensionedScalar C1_; dimensionedScalar C1_;
dimensionedScalar C2_; dimensionedScalar C2_;
dimensionedScalar Ceps1_;
dimensionedScalar Ceps2_;
dimensionedScalar Cs_; dimensionedScalar Cs_;
dimensionedScalar Ceps_; dimensionedScalar Ceps_;
// Wall-refection coefficients
Switch wallReflection_;
dimensionedScalar kappa_;
dimensionedScalar Cref1_;
dimensionedScalar Cref2_;
// Fields // Fields
volScalarField k_; volScalarField k_;