From 4ee86fd7c772006bb411fe44fe06d5ed33e43d27 Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Sat, 11 Apr 2015 11:00:28 +0100
Subject: [PATCH] twoPhaseEulerFoam: Correct continuity errors after
 temperature update

---
 .../multiphase/twoPhaseEulerFoam/contErrs.H       | 13 +++++++++++++
 .../twoPhaseEulerFoam/correctContErrs.H           |  7 +++++++
 .../solvers/multiphase/twoPhaseEulerFoam/pEqn.H   |  3 +++
 .../twoPhaseEulerFoam/twoPhaseEulerFoam.C         | 15 +--------------
 .../RAS/fluidisedBed/0/T.particles                |  5 ++++-
 .../laminar/fluidisedBed/0/T.particles            |  5 ++++-
 6 files changed, 32 insertions(+), 16 deletions(-)
 create mode 100644 applications/solvers/multiphase/twoPhaseEulerFoam/contErrs.H
 create mode 100644 applications/solvers/multiphase/twoPhaseEulerFoam/correctContErrs.H

diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/contErrs.H b/applications/solvers/multiphase/twoPhaseEulerFoam/contErrs.H
new file mode 100644
index 00000000000..83ca7cea924
--- /dev/null
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/contErrs.H
@@ -0,0 +1,13 @@
+volScalarField contErr1
+(
+    "contErr1",
+    fvc::ddt(alpha1, rho1) + fvc::div(alphaRhoPhi1)
+  - (fvOptions(alpha1, rho1)&rho1)
+);
+
+volScalarField contErr2
+(
+    "contErr2",
+    fvc::ddt(alpha2, rho2) + fvc::div(alphaRhoPhi2)
+  - (fvOptions(alpha2, rho2)&rho2)
+);
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/correctContErrs.H b/applications/solvers/multiphase/twoPhaseEulerFoam/correctContErrs.H
new file mode 100644
index 00000000000..75355b3963f
--- /dev/null
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/correctContErrs.H
@@ -0,0 +1,7 @@
+contErr1 =
+    fvc::ddt(alpha1, rho1) + fvc::div(alphaRhoPhi1)
+  - (fvOptions(alpha1, rho1)&rho1);
+
+contErr2 =
+    fvc::ddt(alpha2, rho2) + fvc::div(alphaRhoPhi2)
+  - (fvOptions(alpha2, rho2)&rho2);
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pEqn.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pEqn.H
index edac7acd49f..0924c5d178c 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/pEqn.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/pEqn.H
@@ -10,6 +10,9 @@ surfaceScalarField alpharAU2f(fvc::interpolate(alpha2*rAU2));
 // --- Pressure corrector loop
 while (pimple.correct())
 {
+    // Update continuity errors due to temperature changes
+    #include "correctContErrs.H"
+
     volVectorField HbyA1
     (
         IOobject::groupName("HbyA", phase1.name()),
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
index dd3a8fb710f..f9effa437ba 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
@@ -76,20 +76,7 @@ int main(int argc, char *argv[])
             fluid.solve();
             fluid.correct();
 
-            volScalarField contErr1
-            (
-                "contErr1",
-                fvc::ddt(alpha1, rho1) + fvc::div(alphaRhoPhi1)
-              - (fvOptions(alpha1, rho1)&rho1)
-            );
-
-            volScalarField contErr2
-            (
-                "contErr2",
-                fvc::ddt(alpha2, rho2) + fvc::div(alphaRhoPhi2)
-              - (fvOptions(alpha2, rho2)&rho2)
-            );
-
+            #include "contErrs.H"
             #include "UEqns.H"
             #include "EEqns.H"
             #include "pEqn.H"
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/T.particles b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/T.particles
index 58313dfb2b5..5762b51bd8e 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/T.particles
+++ b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/T.particles
@@ -27,7 +27,10 @@ boundaryField
 
     outlet
     {
-        type               zeroGradient;
+        type               inletOutlet;
+        phi                phi.particles;
+        inletValue         uniform 300;
+        value              uniform 300;
     }
 
     walls
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/T.particles b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/T.particles
index 58313dfb2b5..5762b51bd8e 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/T.particles
+++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/0/T.particles
@@ -27,7 +27,10 @@ boundaryField
 
     outlet
     {
-        type               zeroGradient;
+        type               inletOutlet;
+        phi                phi.particles;
+        inletValue         uniform 300;
+        value              uniform 300;
     }
 
     walls
-- 
GitLab