From 18f202f02a0b482224964021ec1498bf951b7fc5 Mon Sep 17 00:00:00 2001
From: Thomas Fetzer <thomas.fetzer@iws.uni-stuttgart.de>
Date: Thu, 23 Mar 2017 08:35:59 +0100
Subject: [PATCH] [2pnc] Adjust output names, add phase presence to model
 output

---
 dumux/porousmediumflow/2pnc/implicit/model.hh | 20 +++++++-------
 test/references/fuelcell2pncbox-reference.vtu | 27 ++++++++++++++-----
 test/references/fuelcell2pnccc-reference.vtu  | 25 ++++++++++++-----
 3 files changed, 50 insertions(+), 22 deletions(-)

diff --git a/dumux/porousmediumflow/2pnc/implicit/model.hh b/dumux/porousmediumflow/2pnc/implicit/model.hh
index b914c79b2e..efe799df62 100644
--- a/dumux/porousmediumflow/2pnc/implicit/model.hh
+++ b/dumux/porousmediumflow/2pnc/implicit/model.hh
@@ -285,6 +285,7 @@ public:
         ScalarField *mobW          = writer.allocateManagedBuffer (numDofs);
         ScalarField *mobN          = writer.allocateManagedBuffer (numDofs);
         ScalarField *temperature   = writer.allocateManagedBuffer (numDofs);
+        ScalarField *phasePresence = writer.allocateManagedBuffer (numDofs);
         ScalarField *poro          = writer.allocateManagedBuffer (numDofs);
         VectorField *velocityN = writer.template allocateManagedBuffer<double, dim>(numDofs);
         VectorField *velocityW = writer.template allocateManagedBuffer<double, dim>(numDofs);
@@ -345,6 +346,7 @@ public:
                 (*mobN)[dofIdxGlobal]           = elemVolVars[scvIdx].mobility(nPhaseIdx);
                 (*poro)[dofIdxGlobal]           = elemVolVars[scvIdx].porosity();
                 (*temperature)[dofIdxGlobal]    = elemVolVars[scvIdx].temperature();
+                (*phasePresence)[dofIdxGlobal]  = staticDat_[dofIdxGlobal].phasePresence;
 
                 for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
                     for (int compIdx = 0; compIdx < numComponents; ++compIdx)
@@ -378,30 +380,28 @@ public:
         writer.attachDofData(*mobN, "mobN", isBox);
         writer.attachDofData(*poro, "porosity", isBox);
         writer.attachDofData(*temperature, "temperature", isBox);
+        writer.attachDofData(*phasePresence, "phasePresence", isBox);
         writer.attachDofData(*perm[0], "Kxx", isBox);
         if (dim >= 2)
             writer.attachDofData(*perm[1], "Kyy", isBox);
         if (dim == 3)
             writer.attachDofData(*perm[2], "Kzz", isBox);
 
-        for (int i = 0; i < numPhases; ++i)
+        for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
         {
-            for (int j = 0; j < numComponents; ++j)
+            for (int compIdx = 0; compIdx < numComponents; ++compIdx)
             {
                 std::ostringstream oss;
-                oss << "x"
-                    << FluidSystem::componentName(j)
-                    << FluidSystem::phaseName(i);
-                writer.attachDofData(*moleFraction[i][j], oss.str(), isBox);
+                oss << "x_" << FluidSystem::phaseName(phaseIdx) << "^" << FluidSystem::componentName(compIdx);
+                writer.attachDofData(*moleFraction[phaseIdx][compIdx], oss.str(), isBox);
             }
         }
 
-        for (int j = 0; j < numComponents; ++j)
+        for (int compIdx = 0; compIdx < numComponents; ++compIdx)
         {
             std::ostringstream oss;
-            oss << "m^w_"
-                << FluidSystem::componentName(j);
-            writer.attachDofData(*molarity[j], oss.str().c_str(), isBox);
+            oss << "m_" << FluidSystem::phaseName(wPhaseIdx) << "^" << FluidSystem::componentName(compIdx);
+            writer.attachDofData(*molarity[compIdx], oss.str(), isBox);
         }
 
         if (velocityOutput.enableOutput()) // check if velocity output is demanded
diff --git a/test/references/fuelcell2pncbox-reference.vtu b/test/references/fuelcell2pncbox-reference.vtu
index 51349dfa14..4b62fa46f0 100644
--- a/test/references/fuelcell2pncbox-reference.vtu
+++ b/test/references/fuelcell2pncbox-reference.vtu
@@ -168,6 +168,21 @@
           310 310 310 310 310 310 310 310 310 310 310 310
           310 310 310 310 310 310 310 310 310 310
         </DataArray>
+        <DataArray type="Float32" Name="phasePresence" NumberOfComponents="1" format="ascii">
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3
+        </DataArray>
         <DataArray type="Float32" Name="Kxx" NumberOfComponents="1" format="ascii">
           5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11
           5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11
@@ -198,7 +213,7 @@
           5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11
           5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11
         </DataArray>
-        <DataArray type="Float32" Name="xH2Ol" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_l^H2O" NumberOfComponents="1" format="ascii">
           0.999989 0.999989 0.999988 0.999988 0.999989 0.999988 0.999989 0.999988 0.999989 0.999988 0.999989 0.999988
           0.999989 0.999988 0.999989 0.999988 0.999989 0.999988 0.999989 0.999988 0.999989 0.999988 0.999989 0.999988
           0.999989 0.999988 0.999989 0.999988 0.999989 0.999988 0.999989 0.999988 0.999989 0.999988 0.999989 0.999988
@@ -213,7 +228,7 @@
           0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987
           0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987
         </DataArray>
-        <DataArray type="Float32" Name="xN2l" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_l^N2" NumberOfComponents="1" format="ascii">
           7.16836e-06 7.16836e-06 6.91411e-06 6.91411e-06 7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06
           7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06
           7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06 7.16836e-06 6.91411e-06
@@ -228,7 +243,7 @@
           5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06
           5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06 5.77192e-06
         </DataArray>
-        <DataArray type="Float32" Name="xO2l" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_l^O2" NumberOfComponents="1" format="ascii">
           4.30013e-06 4.30013e-06 4.78305e-06 4.78305e-06 4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06
           4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06
           4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06 4.30013e-06 4.78305e-06
@@ -243,7 +258,7 @@
           6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06
           6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06 6.95249e-06
         </DataArray>
-        <DataArray type="Float32" Name="xH2Og" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_g^H2O" NumberOfComponents="1" format="ascii">
           0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062
           0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062
           0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062
@@ -258,7 +273,7 @@
           0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306
           0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306
         </DataArray>
-        <DataArray type="Float32" Name="xN2g" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_g^N2" NumberOfComponents="1" format="ascii">
           0.712623 0.712623 0.687347 0.687347 0.712623 0.687347 0.712623 0.687347 0.712623 0.687347 0.712623 0.687347
           0.712623 0.687347 0.712623 0.687347 0.712623 0.687347 0.712623 0.687347 0.712623 0.687347 0.712623 0.687347
           0.712623 0.687347 0.712623 0.687347 0.712623 0.687347 0.712623 0.687347 0.712623 0.687347 0.712623 0.687347
@@ -273,7 +288,7 @@
           0.573799 0.573799 0.573799 0.573799 0.573799 0.573799 0.573799 0.573799 0.573799 0.573799 0.573799 0.573799
           0.573799 0.573799 0.573799 0.573799 0.573799 0.573799 0.573799 0.573799 0.573799 0.573799
         </DataArray>
-        <DataArray type="Float32" Name="xO2g" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_g^O2" NumberOfComponents="1" format="ascii">
           0.225071 0.225071 0.250346 0.250346 0.225071 0.250346 0.225071 0.250346 0.225071 0.250346 0.225071 0.250346
           0.225071 0.250346 0.225071 0.250346 0.225071 0.250346 0.225071 0.250346 0.225071 0.250346 0.225071 0.250346
           0.225071 0.250346 0.225071 0.250346 0.225071 0.250346 0.225071 0.250346 0.225071 0.250346 0.225071 0.250346
diff --git a/test/references/fuelcell2pnccc-reference.vtu b/test/references/fuelcell2pnccc-reference.vtu
index fa2279344b..3a52200281 100644
--- a/test/references/fuelcell2pnccc-reference.vtu
+++ b/test/references/fuelcell2pnccc-reference.vtu
@@ -146,6 +146,19 @@
           310 310 310 310 310 310 310 310 310 310 310 310
           310 310 310 310 310 310
         </DataArray>
+        <DataArray type="Float32" Name="phasePresence" NumberOfComponents="1" format="ascii">
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3 3 3 3 3 3 3
+          3 3 3 3 3 3
+        </DataArray>
         <DataArray type="Float32" Name="Kxx" NumberOfComponents="1" format="ascii">
           5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11
           5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11
@@ -172,7 +185,7 @@
           5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11 5e-11
           5e-11 5e-11 5e-11 5e-11 5e-11 5e-11
         </DataArray>
-        <DataArray type="Float32" Name="xH2Ol" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_l^H2O" NumberOfComponents="1" format="ascii">
           0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988
           0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988
           0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988 0.999988
@@ -185,7 +198,7 @@
           0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987 0.999987
           0.999987 0.999987 0.999987 0.999987 0.999987 0.999987
         </DataArray>
-        <DataArray type="Float32" Name="xN2l" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_l^N2" NumberOfComponents="1" format="ascii">
           7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06
           7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 7.06157e-06 6.80754e-06 6.80754e-06 6.80754e-06
           6.80754e-06 6.80754e-06 6.80754e-06 6.80754e-06 6.80754e-06 6.80754e-06 6.80754e-06 6.80754e-06 6.80754e-06 6.80754e-06 6.80754e-06 6.80754e-06
@@ -198,7 +211,7 @@
           5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06
           5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06 5.87961e-06
         </DataArray>
-        <DataArray type="Float32" Name="xO2l" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_l^O2" NumberOfComponents="1" format="ascii">
           4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06
           4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.50297e-06 4.98546e-06 4.98546e-06 4.98546e-06
           4.98546e-06 4.98546e-06 4.98546e-06 4.98546e-06 4.98546e-06 4.98546e-06 4.98546e-06 4.98546e-06 4.98546e-06 4.98546e-06 4.98546e-06 4.98546e-06
@@ -211,7 +224,7 @@
           6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06
           6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06 6.74795e-06
         </DataArray>
-        <DataArray type="Float32" Name="xH2Og" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_g^H2O" NumberOfComponents="1" format="ascii">
           0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062
           0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623062 0.0623061 0.0623061 0.0623061
           0.0623061 0.0623061 0.0623061 0.0623061 0.0623061 0.0623061 0.0623061 0.0623061 0.0623061 0.0623061 0.0623061 0.0623061
@@ -224,7 +237,7 @@
           0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306 0.062306
           0.062306 0.062306 0.062306 0.062306 0.062306 0.062306
         </DataArray>
-        <DataArray type="Float32" Name="xN2g" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_g^N2" NumberOfComponents="1" format="ascii">
           0.702006 0.702006 0.702006 0.702006 0.702006 0.702006 0.702006 0.702006 0.702006 0.702006 0.702006 0.702006
           0.702006 0.702006 0.702006 0.702006 0.702006 0.702006 0.702006 0.702006 0.702006 0.676753 0.676753 0.676753
           0.676753 0.676753 0.676753 0.676753 0.676753 0.676753 0.676753 0.676753 0.676753 0.676753 0.676753 0.676753
@@ -237,7 +250,7 @@
           0.584504 0.584504 0.584504 0.584504 0.584504 0.584504 0.584504 0.584504 0.584504 0.584504 0.584504 0.584504
           0.584504 0.584504 0.584504 0.584504 0.584504 0.584504
         </DataArray>
-        <DataArray type="Float32" Name="xO2g" NumberOfComponents="1" format="ascii">
+        <DataArray type="Float32" Name="x_g^O2" NumberOfComponents="1" format="ascii">
           0.235687 0.235687 0.235687 0.235687 0.235687 0.235687 0.235687 0.235687 0.235687 0.235687 0.235687 0.235687
           0.235687 0.235687 0.235687 0.235687 0.235687 0.235687 0.235687 0.235687 0.235687 0.260941 0.260941 0.260941
           0.260941 0.260941 0.260941 0.260941 0.260941 0.260941 0.260941 0.260941 0.260941 0.260941 0.260941 0.260941
-- 
GitLab