From 7424d3c1bcdfd00300e111c21ce7ee6da6dc1edb Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Sat, 24 Jan 2015 18:44:44 +0000
Subject: [PATCH] DeardorffDiffStress: updated to correspond more closely to
 the original paper Added references to the generalized gradient diffusion
 model

---
 .../DeardorffDiffStress/DeardorffDiffStress.C | 10 ++++----
 .../DeardorffDiffStress/DeardorffDiffStress.H | 24 ++++++++++++-------
 .../ReynoldsStress/ReynoldsStress.C           | 12 +++++++++-
 3 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
index 9a69a065667..7cdc13b7f77 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
@@ -93,7 +93,7 @@ DeardorffDiffStress<BasicTurbulenceModel>::DeardorffDiffStress
         (
             "Ce",
             this->coeffDict_,
-            1.048
+            1.05
         )
     ),
     Cs_
@@ -102,7 +102,7 @@ DeardorffDiffStress<BasicTurbulenceModel>::DeardorffDiffStress
         (
             "Cs",
             this->coeffDict_,
-            0.22
+            0.25
         )
     )
 {
@@ -189,12 +189,11 @@ void DeardorffDiffStress<BasicTurbulenceModel>::correct()
     (
         fvm::ddt(alpha, rho, R)
       + fvm::div(alphaRhoPhi, R)
-      - fvm::laplacian(Cs_*(k/this->epsilon())*R, R)
+      - fvm::laplacian(I*this->nu() + Cs_*(k/this->epsilon())*R, R)
       + fvm::Sp(Cm_*alpha*rho*sqrt(k)/this->delta(), R)
      ==
         alpha*rho*P
-      + (4.0/5.0)*alpha*rho*k*D // Deardorff
-    //- 0.6*alpha*rho*dev(P) // LRR
+      + (4.0/5.0)*alpha*rho*k*D
       - ((2.0/3.0)*(1.0 - Cm_/this->Ce_)*I)*(alpha*rho*this->epsilon())
     );
 
@@ -203,7 +202,6 @@ void DeardorffDiffStress<BasicTurbulenceModel>::correct()
 
     this->boundNormalStress(this->R_);
     correctNut();
-    this->correctWallShearStress(this->R_);
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.H b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.H
index df4322c2cf2..08b3eadb824 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.H
+++ b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.H
@@ -42,6 +42,21 @@ Description
     This SGS model uses a full balance equation for the SGS stress tensor to
     simulate the behaviour of B.
 
+    This implementation is as described in the above paper except that the
+    triple correlation model of Donaldson is replaced with the generalized
+    gradient diffusion model of Daly and Harlow:
+    \verbatim
+        Daly, B. J., & Harlow, F. H. (1970).
+        Transport equations in turbulence.
+        Physics of Fluids (1958-1988), 13(11), 2634-2649.
+    \endverbatim
+    with the default value for the coefficient Cs of 0.25 from
+    \verbatim
+        Launder, B. E., Reece, G. J., & Rodi, W. (1975).
+        Progress in the development of a Reynolds-stress turbulence closure.
+        Journal of fluid mechanics, 68(03), 537-566.
+    \endverbatim
+
 SourceFiles
     DeardorffDiffStress.C
 
@@ -134,15 +149,6 @@ public:
         //- Return the turbulence kinetic energy dissipation rate
         virtual tmp<volScalarField> epsilon() const;
 
-        //- Return the effective diffusivity for B
-        tmp<volScalarField> DBEff() const
-        {
-            return tmp<volScalarField>
-            (
-                new volScalarField("DBEff", this->nut_ + this->nu())
-            );
-        }
-
         //- Correct sub-grid stress, eddy-Viscosity and related properties
         virtual void correct();
 };
diff --git a/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
index 4f4cba8d271..3d148f063da 100644
--- a/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
+++ b/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C
@@ -165,7 +165,17 @@ Foam::ReynoldsStress<BasicTurbulenceModel>::ReynoldsStress
         ),
         this->mesh_
     )
-{}
+{
+    if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0)
+    {
+        FatalErrorIn
+        (
+            "ReynoldsStress::ReynoldsStress"
+        )   << "couplingFactor = " << couplingFactor_
+            << " is not in range 0 - 1" << nl
+            << exit(FatalError);
+    }
+}
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-- 
GitLab