From c31a254c103200e03019b8746bf5b6a9b06a2ca7 Mon Sep 17 00:00:00 2001
From: Gabi Seitz <gabriele.seitz@iws.uni-stuttgart.de>
Date: Wed, 13 Jun 2018 08:30:08 +0200
Subject: [PATCH] [steamn2.hh] fix bug in the viscosity calculation

and correct reference solution
---
 test/porousmediumflow/1pncmin/implicit/steamn2.hh | 10 +++++++---
 test/references/test_1pncmin-00064_batch.vtu      |  2 +-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/test/porousmediumflow/1pncmin/implicit/steamn2.hh b/test/porousmediumflow/1pncmin/implicit/steamn2.hh
index df00cc9c6f..4d31ba4274 100644
--- a/test/porousmediumflow/1pncmin/implicit/steamn2.hh
+++ b/test/porousmediumflow/1pncmin/implicit/steamn2.hh
@@ -319,10 +319,14 @@ public:
             N2::molarMass()
         };
 
+        Scalar x[numComponents] = {
+            fluidState.moleFraction(phaseIdx, H2OIdx),
+            fluidState.moleFraction(phaseIdx, N2Idx)
+        };
+
         Scalar sumx = 0.0;
         for (int compIdx = 0; compIdx < 2; ++compIdx)
             sumx += fluidState.moleFraction(phaseIdx, compIdx);
-
         sumx = std::max(1e-10, sumx);
 
         for (int i = 0; i < numComponents; ++i) {
@@ -331,9 +335,9 @@ public:
                 Scalar phiIJ = 1 + sqrt(mu[i]/mu[j]) * pow(M[j]/M[i], 1/4.0);
                 phiIJ *= phiIJ;
                 phiIJ /= sqrt(8*(1 + M[i]/M[j]));
-                divisor += fluidState.moleFraction(phaseIdx, j)/sumx * phiIJ;
+                divisor += x[j]/sumx * phiIJ;
             }
-            muResult += fluidState.moleFraction(phaseIdx, i)/sumx * mu[i] / divisor;
+            muResult += x[i]/sumx * mu[i] / divisor;
         }
         return muResult;
     }
diff --git a/test/references/test_1pncmin-00064_batch.vtu b/test/references/test_1pncmin-00064_batch.vtu
index 72a4880c35..becae2e371 100644
--- a/test/references/test_1pncmin-00064_batch.vtu
+++ b/test/references/test_1pncmin-00064_batch.vtu
@@ -10,7 +10,7 @@
           0.981775 0.981775 0.981775 0.981775 0.981775 0.981775
         </DataArray>
         <DataArray type="Float32" Name="mu" NumberOfComponents="1" format="ascii">
-          2.37923e-05 2.37923e-05 2.37923e-05 2.37923e-05 2.37923e-05 2.37923e-05
+          2.44123e-05 2.44123e-05 2.44123e-05 2.44123e-05 2.44123e-05 2.44123e-05
         </DataArray>
         <DataArray type="Float32" Name="delp" NumberOfComponents="1" format="ascii">
           100000 100000 100000 100000 100000 100000
-- 
GitLab