Commit 75a52009 authored by Henry's avatar Henry
Browse files

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

parent fc1d7a47
......@@ -24,6 +24,7 @@ License
\*---------------------------------------------------------------------------*/
#include "LRR.H"
#include "wallFvPatch.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
......@@ -80,38 +81,38 @@ LRR<BasicTurbulenceModel>::LRR
0.09
)
),
Clrr1_
C1_
(
dimensioned<scalar>::lookupOrAddToDict
(
"Clrr1",
"C1",
this->coeffDict_,
1.8
)
),
Clrr2_
C2_
(
dimensioned<scalar>::lookupOrAddToDict
(
"Clrr2",
"C2",
this->coeffDict_,
0.6
)
),
C1_
Ceps1_
(
dimensioned<scalar>::lookupOrAddToDict
(
"C1",
"Ceps1",
this->coeffDict_,
1.44
)
),
C2_
Ceps2_
(
dimensioned<scalar>::lookupOrAddToDict
(
"C2",
"Ceps2",
this->coeffDict_,
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_
(
IOobject
......@@ -179,10 +217,10 @@ bool LRR<BasicTurbulenceModel>::read()
if (ReynoldsStress<RASModel<BasicTurbulenceModel> >::read())
{
Cmu_.readIfPresent(this->coeffDict());
Clrr1_.readIfPresent(this->coeffDict());
Clrr2_.readIfPresent(this->coeffDict());
C1_.readIfPresent(this->coeffDict());
C2_.readIfPresent(this->coeffDict());
Ceps1_.readIfPresent(this->coeffDict());
Ceps2_.readIfPresent(this->coeffDict());
Cs_.readIfPresent(this->coeffDict());
Ceps_.readIfPresent(this->coeffDict());
......@@ -228,8 +266,8 @@ void LRR<BasicTurbulenceModel>::correct()
+ fvm::div(alphaRhoPhi, epsilon_)
- fvm::laplacian(Ceps_*alpha*rho*(k_/epsilon_)*R, epsilon_)
==
C1_*alpha*rho*G*epsilon_/k_
- fvm::Sp(C2_*alpha*rho*epsilon_/k_, epsilon_)
Ceps1_*alpha*rho*G*epsilon_/k_
- fvm::Sp(Ceps2_*alpha*rho*epsilon_/k_, epsilon_)
);
epsEqn().relax();
......@@ -268,13 +306,29 @@ void LRR<BasicTurbulenceModel>::correct()
fvm::ddt(alpha, rho, R)
+ fvm::div(alphaRhoPhi, 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
- (2.0/3.0*(1 - Clrr1_)*I)*alpha*rho*epsilon_
- Clrr2_*alpha*rho*dev(P)
- (2.0/3.0*(1 - C1_)*I)*alpha*rho*epsilon_
- 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();
solve(REqn);
......
......@@ -46,17 +46,31 @@ Description
Physics of Fluids (1958-1988), 13(11), 2634-2649.
\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:
\verbatim
LRRCoeffs
{
Cmu 0.09;
Clrr1 1.8;
Clrr2 0.6;
C1 1.44;
C2 1.92;
Cs 0.25;
Ceps 0.15;
Cmu 0.09;
C1 1.8;
C2 0.6;
Ceps1 1.44;
Ceps2 1.92;
Cs 0.25;
Ceps 0.15;
wallReflection yes;
kappa 0.41
Cref1 0.5;
Cref2 0.3;
couplingFactor 0.0;
}
\endverbatim
......@@ -103,15 +117,23 @@ protected:
dimensionedScalar Cmu_;
dimensionedScalar Clrr1_;
dimensionedScalar Clrr2_;
dimensionedScalar C1_;
dimensionedScalar C2_;
dimensionedScalar Ceps1_;
dimensionedScalar Ceps2_;
dimensionedScalar Cs_;
dimensionedScalar Ceps_;
// Wall-refection coefficients
Switch wallReflection_;
dimensionedScalar kappa_;
dimensionedScalar Cref1_;
dimensionedScalar Cref2_;
// Fields
volScalarField k_;
......
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