From 4bd1bd7522755e044ce251f223ea0b5df3ad8464 Mon Sep 17 00:00:00 2001
From: sergio <s.ferraris@opencfd.co.uk>
Date: Wed, 16 Dec 2020 15:00:15 -0800
Subject: [PATCH] BUG: Using autoPtr for turbulence in interFoam and
 interIsoFoam

---
 applications/solvers/multiphase/interFoam/UEqn.H   |  2 +-
 .../solvers/multiphase/interFoam/createFields.H    | 14 ++++++++++++--
 .../solvers/multiphase/interFoam/interFoam.C       |  2 +-
 .../solvers/multiphase/interIsoFoam/createFields.H | 14 ++++++++++++--
 .../solvers/multiphase/interIsoFoam/interIsoFoam.C |  2 +-
 5 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/applications/solvers/multiphase/interFoam/UEqn.H b/applications/solvers/multiphase/interFoam/UEqn.H
index 4d079b77cf1..77d1dcd83e8 100644
--- a/applications/solvers/multiphase/interFoam/UEqn.H
+++ b/applications/solvers/multiphase/interFoam/UEqn.H
@@ -4,7 +4,7 @@
     (
         fvm::ddt(rho, U) + fvm::div(rhoPhi, U)
       + MRF.DDt(rho, U)
-      + turbulence.divDevRhoReff(rho, U)
+      + turbulence->divDevRhoReff(rho, U)
      ==
         fvOptions(rho, U)
     );
diff --git a/applications/solvers/multiphase/interFoam/createFields.H b/applications/solvers/multiphase/interFoam/createFields.H
index fa3d3fb8f2a..e364fad4633 100644
--- a/applications/solvers/multiphase/interFoam/createFields.H
+++ b/applications/solvers/multiphase/interFoam/createFields.H
@@ -70,8 +70,18 @@ surfaceScalarField rhoPhi
     fvc::interpolate(rho)*phi
 );
 
-incompressibleInterPhaseTransportModel<immiscibleIncompressibleTwoPhaseMixture>
-    turbulence(rho, U, phi, rhoPhi, mixture);
+typedef incompressibleInterPhaseTransportModel
+    <
+        immiscibleIncompressibleTwoPhaseMixture
+    > transportModelType;
+
+autoPtr<transportModelType> turbulence
+(
+    new transportModelType
+    (
+        rho, U, phi, rhoPhi, mixture
+    )
+);
 
 #include "readGravitationalAcceleration.H"
 #include "readhRef.H"
diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C
index b43eb78a7e7..e832a754acd 100644
--- a/applications/solvers/multiphase/interFoam/interFoam.C
+++ b/applications/solvers/multiphase/interFoam/interFoam.C
@@ -168,7 +168,7 @@ int main(int argc, char *argv[])
 
             if (pimple.turbCorr())
             {
-                turbulence.correct();
+                turbulence->correct();
             }
         }
 
diff --git a/applications/solvers/multiphase/interIsoFoam/createFields.H b/applications/solvers/multiphase/interIsoFoam/createFields.H
index e214f4e482c..f3cfac66a0d 100644
--- a/applications/solvers/multiphase/interIsoFoam/createFields.H
+++ b/applications/solvers/multiphase/interIsoFoam/createFields.H
@@ -71,8 +71,18 @@ surfaceScalarField rhoPhi
 );
 
 
-incompressibleInterPhaseTransportModel<immiscibleIncompressibleTwoPhaseMixture>
-    turbulence(rho, U, phi, rhoPhi, mixture);
+typedef incompressibleInterPhaseTransportModel
+    <
+        immiscibleIncompressibleTwoPhaseMixture
+    > transportModelType;
+
+autoPtr<transportModelType> turbulence
+(
+    new transportModelType
+    (
+        rho, U, phi, rhoPhi, mixture
+    )
+);
 
 
 #include "readGravitationalAcceleration.H"
diff --git a/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C b/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C
index 6f492f865ce..24f20fd6a42 100644
--- a/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C
+++ b/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C
@@ -180,7 +180,7 @@ int main(int argc, char *argv[])
 
             if (pimple.turbCorr())
             {
-                turbulence.correct();
+                turbulence->correct();
             }
         }
 
-- 
GitLab