From 6783f9bda7192f435bced980ebce2e19b09daddf Mon Sep 17 00:00:00 2001
From: Kutalmis Bercin <kutalmis.bercin@esi-group.com>
Date: Mon, 1 Nov 2021 10:05:44 +0000
Subject: [PATCH] BUG: icoReactingMultiphaseInterFoam: enable phasesSystem
 surface tension models (Fixes #2228)

---
 .../icoReactingMultiphaseInterFoam/Make/options       |  1 -
 .../multiphaseInter/phasesSystem/Make/files           |  4 +---
 .../multiphaseInter/phasesSystem/Make/options         |  2 --
 .../constantSurfaceTensionCoefficient.C               | 10 +++++++---
 .../constantSurfaceTensionCoefficient.H               |  8 ++++++--
 .../surfaceTensionModel/surfaceTensionModel.C         | 11 +++++++----
 .../surfaceTensionModel/surfaceTensionModel.H         |  6 +++++-
 .../phasesSystem/phaseSystem/phaseSystem.C            |  3 +--
 .../phasesSystem/phaseSystem/phaseSystem.H            |  7 +++++--
 9 files changed, 32 insertions(+), 20 deletions(-)

diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Make/options b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Make/options
index cc6476cb4fe..41364692165 100644
--- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Make/options
+++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Make/options
@@ -11,7 +11,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
-    -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/Make/files b/src/phaseSystemModels/multiphaseInter/phasesSystem/Make/files
index 37df8ee1b41..e7b4689ac9c 100644
--- a/src/phaseSystemModels/multiphaseInter/phasesSystem/Make/files
+++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/Make/files
@@ -18,12 +18,10 @@ porous = interfaceModels/porousModels
 $(porous)/porousModel/porousModel.C
 $(porous)/VollerPrakash/VollerPrakash.C
 
-/* Ununsed? */
-/*
 surfaceTension = interfaceModels/surfaceTensionModels
 $(surfaceTension)/surfaceTensionModel/surfaceTensionModel.C
 $(surfaceTension)/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C
-*/
+
 
 derivedFvPatchFields/timeVaryingMassSorption/timeVaryingMassSorptionFvPatchScalarField.C
 
diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/Make/options b/src/phaseSystemModels/multiphaseInter/phasesSystem/Make/options
index de7203d66c6..115e1029fc2 100644
--- a/src/phaseSystemModels/multiphaseInter/phasesSystem/Make/options
+++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/Make/options
@@ -10,7 +10,6 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
-    -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
     -I$(LIB_SRC)/transportModels/geometricVoF/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
@@ -25,7 +24,6 @@ LIB_LIBS = \
     -lsolidThermo \
     -lcompressibleTransportModels \
     -lincompressibleTransportModels \
-    -linterfaceProperties \
     -lgeometricVoF \
     -lturbulenceModels \
     -lcompressibleTurbulenceModels \
diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C
index 361fda5ae6e..bb4970e78fe 100644
--- a/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C
+++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C
@@ -5,7 +5,7 @@
     \\  /    A nd           | www.openfoam.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
-    Copyright (C) 2017 OpenCFD Ltd.
+    Copyright (C) 2017-2021 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -33,6 +33,8 @@ License
 
 namespace Foam
 {
+namespace multiphaseInter
+{
 namespace surfaceTensionModels
 {
     defineTypeNameAndDebug(constantSurfaceTensionCoefficient, 0);
@@ -44,11 +46,12 @@ namespace surfaceTensionModels
     );
 }
 }
+}
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::surfaceTensionModels::constantSurfaceTensionCoefficient::
+Foam::multiphaseInter::surfaceTensionModels::constantSurfaceTensionCoefficient::
 constantSurfaceTensionCoefficient
 (
     const dictionary& dict,
@@ -64,7 +67,8 @@ constantSurfaceTensionCoefficient
 // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
 
 Foam::tmp<Foam::volScalarField>
-Foam::surfaceTensionModels::constantSurfaceTensionCoefficient::sigma() const
+Foam::multiphaseInter::surfaceTensionModels::constantSurfaceTensionCoefficient::
+sigma() const
 {
     const fvMesh& mesh(this->pair_.phase1().mesh());
 
diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.H b/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.H
index 950057173d3..edab1634a11 100644
--- a/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.H
+++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.H
@@ -5,7 +5,7 @@
     \\  /    A nd           | www.openfoam.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
-    Copyright (C) 2017 OpenCFD Ltd.
+    Copyright (C) 2017-2021 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -38,11 +38,14 @@ SourceFiles
 #define surfaceTensionModels_constantSurfaceTensionCoefficient_H
 
 #include "surfaceTensionModel.H"
+#include "phasePair.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
+namespace multiphaseInter
+{
 namespace surfaceTensionModels
 {
 
@@ -54,7 +57,7 @@ class constantSurfaceTensionCoefficient
 :
     public surfaceTensionModel
 {
-    // Private data
+    // Private Data
 
         //- Constant surface tension value
         const dimensionedScalar sigma_;
@@ -91,6 +94,7 @@ public:
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace surfaceTensionModels
+} // End namespace multiphaseInter
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.C
index 9dfc6008177..9f6a0c68fc1 100644
--- a/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.C
+++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.C
@@ -31,15 +31,18 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace multiphaseInter
 {
     defineTypeNameAndDebug(surfaceTensionModel, 0);
     defineRunTimeSelectionTable(surfaceTensionModel, dictionary);
 }
+}
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::surfaceTensionModel::surfaceTensionModel
+Foam::multiphaseInter::surfaceTensionModel::surfaceTensionModel
 (
     const dictionary& dict,
     const phasePair& pair,
@@ -64,8 +67,8 @@ Foam::surfaceTensionModel::surfaceTensionModel
 
 // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
 
-Foam::autoPtr<Foam::surfaceTensionModel>
-Foam::surfaceTensionModel::New
+Foam::autoPtr<Foam::multiphaseInter::surfaceTensionModel>
+Foam::multiphaseInter::surfaceTensionModel::New
 (
     const dictionary& dict,
     const phasePair& pair
@@ -95,7 +98,7 @@ Foam::surfaceTensionModel::New
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-bool Foam::surfaceTensionModel::writeData(Ostream& os) const
+bool Foam::multiphaseInter::surfaceTensionModel::writeData(Ostream& os) const
 {
     return os.good();
 }
diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.H b/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.H
index d577ad27ddd..1d7bce291a2 100644
--- a/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.H
+++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.H
@@ -5,7 +5,7 @@
     \\  /    A nd           | www.openfoam.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
-    Copyright (C) 2017-2020 OpenCFD Ltd.
+    Copyright (C) 2017-2021 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -48,6 +48,9 @@ namespace Foam
 // Forward Declarations
 class phasePair;
 
+namespace multiphaseInter
+{
+
 /*---------------------------------------------------------------------------*\
                      Class surfaceTensionModel Declaration
 \*---------------------------------------------------------------------------*/
@@ -121,6 +124,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace multiphaseInter
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseSystem/phaseSystem.C b/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseSystem/phaseSystem.C
index 03d7a0fd963..f0b7635ea24 100644
--- a/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseSystem/phaseSystem.C
+++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseSystem/phaseSystem.C
@@ -5,7 +5,7 @@
     \\  /    A nd           | www.openfoam.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
-    Copyright (C) 2017-2020 OpenCFD Ltd.
+    Copyright (C) 2017-2021 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -265,7 +265,6 @@ Foam::phaseSystem::phaseSystem
         generatePairsAndSubModels
         (
             "surfaceTension",
-            mesh_,
             surfaceTensionModels_
         );
     }
diff --git a/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseSystem/phaseSystem.H b/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseSystem/phaseSystem.H
index f04360223c7..84a7c7b4090 100644
--- a/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseSystem/phaseSystem.H
+++ b/src/phaseSystemModels/multiphaseInter/phasesSystem/phaseSystem/phaseSystem.H
@@ -5,7 +5,7 @@
     \\  /    A nd           | www.openfoam.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
-    Copyright (C) 2017-2020 OpenCFD Ltd.
+    Copyright (C) 2017-2021 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -54,7 +54,10 @@ namespace Foam
 {
 
 // Forward Declarations
+namespace multiphaseInter
+{
 class surfaceTensionModel;
+}
 class porousModel;
 
 /*---------------------------------------------------------------------------*\
@@ -95,7 +98,7 @@ protected:
         typedef
             HashTable
             <
-                autoPtr<surfaceTensionModel>,
+                autoPtr<multiphaseInter::surfaceTensionModel>,
                 phasePairKey,
                 phasePairKey::hash
             >
-- 
GitLab