From a9b8f174ce8a136eeb5799aa62fdd2c92916e8ec Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Fri, 27 Feb 2015 19:22:53 +0000
Subject: [PATCH] non-linear turbulence models: corrected generation term and
 tested

---
 .../RAS/LienCubicKE/LienCubicKE.C             |  9 ++-----
 .../RAS/LienCubicKELowRe/LienCubicKELowRe.C   | 10 +-------
 .../LienLeschzinerLowRe/LienLeschzinerLowRe.C | 25 ++++++-------------
 3 files changed, 11 insertions(+), 33 deletions(-)

diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
index 30f7de7b591..fcf7d88e980 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
@@ -306,15 +306,13 @@ void LienCubicKE::correct()
     tmp<volTensorField> tgradU = fvc::grad(U_);
     const volTensorField& gradU = tgradU();
 
-    // generation term
-    tmp<volScalarField> S2 = symm(gradU) && gradU;
-
     volScalarField G
     (
         GName(),
-        Cmu_*sqr(k_)/epsilon_*S2 - (nonlinearStress_ && gradU)
+        (nut_*twoSymm(gradU) - nonlinearStress_) && gradU
     );
 
+
     // Update epsilon and G at the wall
     epsilon_.boundaryField().updateCoeffs();
 
@@ -330,15 +328,12 @@ void LienCubicKE::correct()
     );
 
     epsEqn().relax();
-
     epsEqn().boundaryManipulate(epsilon_.boundaryField());
-
     solve(epsEqn);
     bound(epsilon_, epsilonMin_);
 
 
     // Turbulent kinetic energy equation
-
     tmp<fvScalarMatrix> kEqn
     (
         fvm::ddt(k_)
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C
index cef1ad5bf31..c9caa1129f9 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C
@@ -371,9 +371,6 @@ void LienCubicKELowRe::correct()
     tmp<volTensorField> tgradU = fvc::grad(U_);
     const volTensorField& gradU = tgradU();
 
-    // generation term
-    tmp<volScalarField> S2 = symm(gradU) && gradU;
-
     yStar_ = sqrt(k_)*y_/nu() + SMALL;
     tmp<volScalarField> Rt = sqr(k_)/(nu()*epsilon_);
 
@@ -385,7 +382,7 @@ void LienCubicKELowRe::correct()
     volScalarField G
     (
         GName(),
-        Cmu_*fMu()*sqr(k_)/epsilon_*S2 - (nonlinearStress_ && gradU)
+        (nut_*twoSymm(gradU) - nonlinearStress_) && gradU
     );
 
     // Dissipation equation
@@ -404,16 +401,11 @@ void LienCubicKELowRe::correct()
     );
 
     epsEqn().relax();
-
-    #include "LienCubicKELowReSetWallDissipation.H"
-    #include "wallDissipationI.H"
-
     solve(epsEqn);
     bound(epsilon_, epsilonMin_);
 
 
     // Turbulent kinetic energy equation
-
     tmp<fvScalarMatrix> kEqn
     (
         fvm::ddt(k_)
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C
index 65880a8a825..31384000265 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C
@@ -243,21 +243,15 @@ void LienLeschzinerLowRe::correct()
         return;
     }
 
-    scalar Cmu75 = pow(Cmu_.value(), 0.75);
-
-    const volTensorField gradU(fvc::grad(U_));
-
-    // generation term
-    tmp<volScalarField> S2 = symm(gradU) && gradU;
+    tmp<volTensorField> tgradU = fvc::grad(U_);
+    volScalarField G(GName(), nut_*(tgradU() && twoSymm(tgradU())));
+    tgradU.clear();
 
+    scalar Cmu75 = pow(Cmu_.value(), 0.75);
     yStar_ = sqrt(k_)*y_/nu() + SMALL;
     tmp<volScalarField> Rt = sqr(k_)/(nu()*epsilon_);
-
     const volScalarField f2(scalar(1) - 0.3*exp(-sqr(Rt)));
 
-    volScalarField G(GName(), Cmu_*fMu()*sqr(k_)/epsilon_*S2);
-
-
     // Dissipation equation
     tmp<fvScalarMatrix> epsEqn
     (
@@ -266,24 +260,21 @@ void LienLeschzinerLowRe::correct()
       - fvm::laplacian(DepsilonEff(), epsilon_)
       ==
         C1_*G*epsilon_/k_
+
         // E-term
         + C2_*f2*Cmu75*sqrt(k_)
-        /(kappa_*y_*(scalar(1) - exp(-Aepsilon_*yStar_)))
-       *exp(-Amu_*sqr(yStar_))*epsilon_
+         /(kappa_*y_*(scalar(1) - exp(-Aepsilon_*yStar_)))
+         *exp(-Amu_*sqr(yStar_))*epsilon_
+
       - fvm::Sp(C2_*f2*epsilon_/k_, epsilon_)
     );
 
     epsEqn().relax();
-
-    #include "LienLeschzinerLowReSetWallDissipation.H"
-    #include "wallDissipationI.H"
-
     solve(epsEqn);
     bound(epsilon_, epsilonMin_);
 
 
     // Turbulent kinetic energy equation
-
     tmp<fvScalarMatrix> kEqn
     (
         fvm::ddt(k_)
-- 
GitLab