From 60c761d0cabe0f2ff926ddd7958777d8e9d57e31 Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Tue, 29 Apr 2014 17:40:26 +0100
Subject: [PATCH] TurbulenceModels: Updated the handling of mass-flux when
 computing div(U)

---
 .../CompressibleTurbulenceModel.C             |  6 ++---
 .../CompressibleTurbulenceModel.H             |  4 ++--
 .../compressibleTurbulenceModel.C             | 24 ++++++++++++++++---
 .../compressibleTurbulenceModel.H             |  7 ++++--
 4 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.C b/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.C
index 918331d8ec1..97ecb28ec42 100644
--- a/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.C
+++ b/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,7 +34,7 @@ CompressibleTurbulenceModel
     const geometricOneField& alpha,
     const volScalarField& rho,
     const volVectorField& U,
-    const surfaceScalarField& alphaPhi,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const transportModel& transport,
     const word& propertiesName
@@ -51,7 +51,7 @@ CompressibleTurbulenceModel
         alpha,
         rho,
         U,
-        alphaPhi,
+        alphaRhoPhi,
         phi,
         transport,
         propertiesName
diff --git a/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.H b/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.H
index ba118c0b02c..38ba5f90fdc 100644
--- a/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.H
+++ b/src/TurbulenceModels/compressible/CompressibleTurbulenceModel/CompressibleTurbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,7 +75,7 @@ public:
             const geometricOneField& alpha,
             const volScalarField& rho,
             const volVectorField& U,
-            const surfaceScalarField& alphaPhi,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const transportModel& trasport,
             const word& propertiesName
diff --git a/src/TurbulenceModels/compressible/compressibleTurbulenceModel.C b/src/TurbulenceModels/compressible/compressibleTurbulenceModel.C
index a9e7794cff4..1fbebad3eea 100644
--- a/src/TurbulenceModels/compressible/compressibleTurbulenceModel.C
+++ b/src/TurbulenceModels/compressible/compressibleTurbulenceModel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,6 +24,8 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "compressibleTurbulenceModel.H"
+#include "surfaceInterpolate.H"
+#include "surfaceFields.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
@@ -39,7 +41,7 @@ Foam::compressibleTurbulenceModel::compressibleTurbulenceModel
 (
     const volScalarField& rho,
     const volVectorField& U,
-    const surfaceScalarField& alphaPhi,
+    const surfaceScalarField& alphaRhoPhi,
     const surfaceScalarField& phi,
     const word& propertiesName
 )
@@ -47,7 +49,7 @@ Foam::compressibleTurbulenceModel::compressibleTurbulenceModel
     turbulenceModel
     (
         U,
-        alphaPhi,
+        alphaRhoPhi,
         phi,
         propertiesName
     ),
@@ -55,4 +57,20 @@ Foam::compressibleTurbulenceModel::compressibleTurbulenceModel
 {}
 
 
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+Foam::tmp<Foam::surfaceScalarField>
+Foam::compressibleTurbulenceModel::phi() const
+{
+    if (phi_.dimensions() == dimensionSet(0, 3, -1, 0, 0))
+    {
+        return phi_;
+    }
+    else
+    {
+        return phi_/fvc::interpolate(rho_);
+    }
+}
+
+
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H b/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H
index 0754085f4ae..533d8992bc9 100644
--- a/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H
+++ b/src/TurbulenceModels/compressible/compressibleTurbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -85,7 +85,7 @@ public:
         (
             const volScalarField& rho,
             const volVectorField& U,
-            const surfaceScalarField& alphaPhi,
+            const surfaceScalarField& alphaRhoPhi,
             const surfaceScalarField& phi,
             const word& propertiesName
         );
@@ -98,6 +98,9 @@ public:
 
     // Member functions
 
+        //- Return the volumetric flux field
+        virtual tmp<surfaceScalarField> phi() const;
+
         //- Return the effective stress tensor including the laminar stress
         virtual tmp<volSymmTensorField> devRhoReff() const = 0;
 
-- 
GitLab