From 1a1c6d392c867575b7303e5c9e8783cf522f1cc8 Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Fri, 30 Nov 2012 13:24:52 +0000
Subject: [PATCH] =?UTF-8?q?RAS/kOmegaSST:=20Added=20F3=20coefficient=20for?=
 =?UTF-8?q?=20rough-walls=20from=20=20=20=20=20=20=20=20=20Hellsten,=20A.?=
 =?UTF-8?q?=20=20=20=20=20=20=20=20=20"Some=20Improvements=20in=20Menter?=
 =?UTF-8?q?=E2=80=99s=20k-omega-SST=20turbulence=20model"=20=20=20=20=20?=
 =?UTF-8?q?=20=20=20=2029th=20AIAA=20Fluid=20Dynamics=20Conference,=20=20?=
 =?UTF-8?q?=20=20=20=20=20=20=20AIAA-98-2554,=20=20=20=20=20=20=20=20=20Ju?=
 =?UTF-8?q?ne=201998.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../incompressible/RAS/kOmegaSST/kOmegaSST.C  | 25 +++++++++++++++++--
 .../incompressible/RAS/kOmegaSST/kOmegaSST.H  | 21 +++++++++++-----
 2 files changed, 38 insertions(+), 8 deletions(-)

diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
index 02899ec4c9b..e48bc0ae45f 100644
--- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
+++ b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C
@@ -85,6 +85,18 @@ tmp<volScalarField> kOmegaSST::F2() const
 }
 
 
+tmp<volScalarField> kOmegaSST::F3() const
+{
+    tmp<volScalarField> arg3 = min
+    (
+        150*nu()/(omega_*sqr(y_)),
+        scalar(10)
+    );
+
+    return 1 - tanh(pow4(arg3));
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 kOmegaSST::kOmegaSST
@@ -188,6 +200,15 @@ kOmegaSST::kOmegaSST
             0.31
         )
     ),
+    b1_
+    (
+        dimensioned<scalar>::lookupOrAddToDict
+        (
+            "b1",
+            coeffDict_,
+            1.0
+        )
+    ),
     c1_
     (
         dimensioned<scalar>::lookupOrAddToDict
@@ -246,7 +267,7 @@ kOmegaSST::kOmegaSST
       / max
         (
             a1_*omega_,
-            F2()*sqrt(2.0)*mag(symm(fvc::grad(U_)))
+            b1_*F2()*F3()*sqrt(2.0)*mag(symm(fvc::grad(U_)))
         )
     );
     nut_.correctBoundaryConditions();
@@ -416,7 +437,7 @@ void kOmegaSST::correct()
 
 
     // Re-calculate viscosity
-    nut_ = a1_*k_/max(a1_*omega_, F2()*sqrt(S2));
+    nut_ = a1_*k_/max(a1_*omega_, b1_*F2()*F3()*sqrt(S2));
     nut_.correctBoundaryConditions();
 }
 
diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
index 7b2580094e1..88feb733bc1 100644
--- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
+++ b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H
@@ -24,19 +24,25 @@ License
 Class
     Foam::incompressible::RASModels::kOmegaSST
 
-Group
-    grpIcoRASTurbulence
-
 Description
     Implementation of the k-omega-SST turbulence model for incompressible
     flows.
 
     Turbulence model described in:
     \verbatim
-        Menter, F., Esch, T.
-        "Elements of Industrial Heat Transfer Prediction"
+        Menter, F., Esch, T.,
+        "Elements of Industrial Heat Transfer Prediction",
         16th Brazilian Congress of Mechanical Engineering (COBEM),
-        Nov. 2001
+        Nov. 2001.
+    \endverbatim
+
+    with the addition of the F3 term for rough walls from
+    \verbatim
+        Hellsten, A.
+        "Some Improvements in Menter’s k-omega-SST turbulence model"
+        29th AIAA Fluid Dynamics Conference,
+        AIAA-98-2554,
+        June 1998.
     \endverbatim
 
     Note that this implementation is written in terms of alpha diffusion
@@ -69,6 +75,7 @@ Description
             gamma1      0.5532;
             gamma2      0.4403;
             a1          0.31;
+            b1          1.0;
             c1          10.0;
         }
     \endverbatim
@@ -122,6 +129,7 @@ protected:
             dimensionedScalar betaStar_;
 
             dimensionedScalar a1_;
+            dimensionedScalar b1_;
             dimensionedScalar c1_;
 
         //- Wall distance field
@@ -139,6 +147,7 @@ protected:
 
         tmp<volScalarField> F1(const volScalarField& CDkOmega) const;
         tmp<volScalarField> F2() const;
+        tmp<volScalarField> F3() const;
 
         tmp<volScalarField> blend
         (
-- 
GitLab