From 988b0fd3e1601be963de8c7a50841f393b254ff7 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 20 Aug 2015 17:54:51 +0100
Subject: [PATCH] ThermalDiffusivity: Refactored to support phase turbulence
 models

---
 .../PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C |  2 +-
 .../PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H |  2 +-
 .../compressible/EddyDiffusivity/EddyDiffusivity.H |  2 --
 .../ThermalDiffusivity/ThermalDiffusivity.C        | 14 +++++++-------
 .../ThermalDiffusivity/ThermalDiffusivity.H        | 12 +++++-------
 .../makeTurbulenceModel.H                          |  3 ++-
 .../turbulentFluidThermoModel.H                    |  3 ++-
 .../turbulentFluidThermoModels.C                   |  1 +
 8 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C
index 73dbee5664c..e09c1bbd140 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C
@@ -55,7 +55,7 @@ PDRkEpsilon::PDRkEpsilon
     const word& modelName
 )
 :
-    Foam::RASModels::kEpsilon<eddyDiffusivity<compressible::turbulenceModel> >
+    Foam::RASModels::kEpsilon<EddyDiffusivity<compressible::turbulenceModel> >
     (
         geometricOneField(),
         rho,
diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
index 689a47844a4..1ee0719076a 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
@@ -80,7 +80,7 @@ class PDRkEpsilon
 :
     public Foam::RASModels::kEpsilon
     <
-        eddyDiffusivity
+        EddyDiffusivity
         <
             compressible::turbulenceModel
         >
diff --git a/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.H b/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.H
index 4b04ca83d4c..a01107f6301 100644
--- a/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.H
+++ b/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.H
@@ -36,8 +36,6 @@ SourceFiles
 #ifndef EddyDiffusivity_H
 #define EddyDiffusivity_H
 
-#include "CompressibleTurbulenceModel.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
diff --git a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C
index 8c6ac11656b..ad6de847145 100644
--- a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C
+++ b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C
@@ -27,8 +27,8 @@ License
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-template<class TransportModel>
-Foam::ThermalDiffusivity<TransportModel>::ThermalDiffusivity
+template<class BasicTurbulenceModel>
+Foam::ThermalDiffusivity<BasicTurbulenceModel>::ThermalDiffusivity
 (
     const word& type,
     const geometricOneField& alpha,
@@ -40,7 +40,7 @@ Foam::ThermalDiffusivity<TransportModel>::ThermalDiffusivity
     const word& propertiesName
 )
 :
-    CompressibleTurbulenceModel<TransportModel>
+    BasicTurbulenceModel
     (
         type,
         alpha,
@@ -56,9 +56,9 @@ Foam::ThermalDiffusivity<TransportModel>::ThermalDiffusivity
 
 // * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
 
-template<class TransportModel>
-Foam::autoPtr<Foam::ThermalDiffusivity<TransportModel> >
-Foam::ThermalDiffusivity<TransportModel>::New
+template<class BasicTurbulenceModel>
+Foam::autoPtr<Foam::ThermalDiffusivity<BasicTurbulenceModel> >
+Foam::ThermalDiffusivity<BasicTurbulenceModel>::New
 (
     const volScalarField& rho,
     const volVectorField& U,
@@ -70,7 +70,7 @@ Foam::ThermalDiffusivity<TransportModel>::New
     return autoPtr<ThermalDiffusivity>
     (
         static_cast<ThermalDiffusivity*>(
-        CompressibleTurbulenceModel<transportModel>::New
+        BasicTurbulenceModel::New
         (
             rho,
             U,
diff --git a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H
index 4c6328be13e..5996798d871 100644
--- a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H
+++ b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H
@@ -25,8 +25,8 @@ Class
     Foam::ThermalDiffusivity
 
 Description
-    Templated abstract base class for single-phase compressible
-    turbulence models.
+    Templated wrapper class to provide compressible turbulence models
+    thermal diffusivity based thermal transport.
 
 SourceFiles
     ThermalDiffusivity.C
@@ -36,8 +36,6 @@ SourceFiles
 #ifndef ThermalDiffusivity_H
 #define ThermalDiffusivity_H
 
-#include "CompressibleTurbulenceModel.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -47,17 +45,17 @@ namespace Foam
                Class ThermalDiffusivity Declaration
 \*---------------------------------------------------------------------------*/
 
-template<class TransportModel>
+template<class BasicTurbulenceModel>
 class ThermalDiffusivity
 :
-    public CompressibleTurbulenceModel<TransportModel>
+    public BasicTurbulenceModel
 {
 
 public:
 
     typedef geometricOneField alphaField;
     typedef volScalarField rhoField;
-    typedef TransportModel transportModel;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
 
 
     // Constructors
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
index a2720aa797e..91c3a2e71b8 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
@@ -41,7 +41,8 @@ License
             dictionary                                                         \
         );                                                                     \
                                                                                \
-        typedef BaseModel<Transport> Transport##BaseModel;                     \
+        typedef BaseModel<CompressibleTurbulenceModel<Transport> >             \
+            Transport##BaseModel;                                              \
                                                                                \
                                                                                \
         typedef laminar<Transport##BaseModel> Laminar##Transport##BaseModel;   \
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
index b8e70ca47f8..da111a99070 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
@@ -55,7 +55,8 @@ namespace Foam
 {
     namespace compressible
     {
-        typedef ThermalDiffusivity<fluidThermo> turbulenceModel;
+        typedef ThermalDiffusivity<CompressibleTurbulenceModel<fluidThermo> >
+            turbulenceModel;
 
         typedef SpecificCompressibleTurbulenceModel
         <
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
index cfd29dba9a9..d5342a15d77 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
@@ -28,6 +28,7 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "makeTurbulenceModel.H"
 
+#include "CompressibleTurbulenceModel.H"
 #include "ThermalDiffusivity.H"
 #include "EddyDiffusivity.H"
 
-- 
GitLab