From 567e78be440f4b22f3a8d0e823178299229ca02f Mon Sep 17 00:00:00 2001
From: Kilian Weishaupt <kilian.weishaupt@iws.uni-stuttgart.de>
Date: Wed, 27 Jan 2016 10:59:45 +0100
Subject: [PATCH] [cleanup] Use convenience function for pressure and density

Implement a pressure()  and density() function in the volvars and use it
instead of volvars.fluidstate().x(phaseIdx).
---
 .../mpnc/implicit/mass/localresidualkinetic.hh      |  2 +-
 .../mpnc/implicit/mass/vtkwriterkinetic.hh          |  2 +-
 .../mpnc/implicit/volumevariables.hh                | 13 +++++++++++++
 .../mpnc/implicit/vtkwritercommon.hh                |  4 ++--
 .../mpnc/implicit/combustionproblem1c.hh            |  4 ++--
 5 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/dumux/porousmediumflow/mpnc/implicit/mass/localresidualkinetic.hh b/dumux/porousmediumflow/mpnc/implicit/mass/localresidualkinetic.hh
index e1dbdfa377..41ec6a67c6 100644
--- a/dumux/porousmediumflow/mpnc/implicit/mass/localresidualkinetic.hh
+++ b/dumux/porousmediumflow/mpnc/implicit/mass/localresidualkinetic.hh
@@ -196,7 +196,7 @@ public:
 
         const Scalar characteristicLength   = volVars.characteristicLength()  ;
         const Scalar temperature            = volVars.fluidState().temperature(wPhaseIdx);
-        const Scalar pn                     = volVars.fluidState().pressure(nPhaseIdx);
+        const Scalar pn                     = volVars.pressure(nPhaseIdx);
         const Scalar henry                  = FluidSystem::henry(temperature) ;
         const Scalar gradNinWApprox  = ( mu_wPhaseNComp - mu_nPhaseNCompEquil) / characteristicLength;    // very 2p2c // 1. / henry *
         const Scalar gradWinNApprox  = ( mu_nPhaseWComp - mu_wPhaseWCompEquil) / characteristicLength;    // very 2p2c // 1. / pn *
diff --git a/dumux/porousmediumflow/mpnc/implicit/mass/vtkwriterkinetic.hh b/dumux/porousmediumflow/mpnc/implicit/mass/vtkwriterkinetic.hh
index 2295e2d8c0..73b0ba8c9d 100644
--- a/dumux/porousmediumflow/mpnc/implicit/mass/vtkwriterkinetic.hh
+++ b/dumux/porousmediumflow/mpnc/implicit/mass/vtkwriterkinetic.hh
@@ -127,7 +127,7 @@ public:
 //            }
 
             if (deltaPOutput_) {
-                deltaP_[vIdxGlobal] = volVars.fluidState().pressure(nPhaseIdx) - 100000.;
+                deltaP_[vIdxGlobal] = volVars.pressure(nPhaseIdx) - 100000.;
             }
         }
     }
diff --git a/dumux/porousmediumflow/mpnc/implicit/volumevariables.hh b/dumux/porousmediumflow/mpnc/implicit/volumevariables.hh
index e250b71db9..6447bcf214 100644
--- a/dumux/porousmediumflow/mpnc/implicit/volumevariables.hh
+++ b/dumux/porousmediumflow/mpnc/implicit/volumevariables.hh
@@ -308,6 +308,19 @@ public:
     Scalar molarDensity(const int phaseIdx) const
     { return fluidState_.molarDensity(phaseIdx);}
 
+    /*!
+     * \brief Return the effective pressure \f$\mathrm{[Pa]}\f$ of a given phase within
+     *        the control volume.
+     */
+    Scalar pressure(const int phaseIdx) const
+    { return fluidState_.pressure(phaseIdx); }
+
+    /*!
+     * \brief Return density \f$\mathrm{[kg/m^3]}\f$ the of the fluid phase.
+     */
+    Scalar density(const int phaseIdx) const
+    { return fluidState_.density(phaseIdx); }
+
     /*!
      * \brief Returns the effective mobility of a given phase within
      *        the control volume.
diff --git a/dumux/porousmediumflow/mpnc/implicit/vtkwritercommon.hh b/dumux/porousmediumflow/mpnc/implicit/vtkwritercommon.hh
index e6a8b735c0..671049906f 100644
--- a/dumux/porousmediumflow/mpnc/implicit/vtkwritercommon.hh
+++ b/dumux/porousmediumflow/mpnc/implicit/vtkwritercommon.hh
@@ -152,8 +152,8 @@ public:
 
             for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) {
                 if (saturationOutput_) saturation_[phaseIdx][dofIdxGlobal] = volVars.saturation(phaseIdx);
-                if (pressureOutput_) pressure_[phaseIdx][dofIdxGlobal] = volVars.fluidState().pressure(phaseIdx);
-                if (densityOutput_) density_[phaseIdx][dofIdxGlobal] = volVars.fluidState().density(phaseIdx);
+                if (pressureOutput_) pressure_[phaseIdx][dofIdxGlobal] = volVars.pressure(phaseIdx);
+                if (densityOutput_) density_[phaseIdx][dofIdxGlobal] = volVars.density(phaseIdx);
                 if (mobilityOutput_) mobility_[phaseIdx][dofIdxGlobal] = volVars.mobility(phaseIdx);
                 if (averageMolarMassOutput_) averageMolarMass_[phaseIdx][dofIdxGlobal] = volVars.fluidState().averageMolarMass(phaseIdx);
                 for (int compIdx = 0; compIdx < numComponents; ++compIdx) {
diff --git a/test/porousmediumflow/mpnc/implicit/combustionproblem1c.hh b/test/porousmediumflow/mpnc/implicit/combustionproblem1c.hh
index 92ad6858d1..beed6ad0cc 100644
--- a/test/porousmediumflow/mpnc/implicit/combustionproblem1c.hh
+++ b/test/porousmediumflow/mpnc/implicit/combustionproblem1c.hh
@@ -478,8 +478,8 @@ public:
 
         FluidState fluidState;
 
-        const Scalar pn = elemVolVars[scvIdx].fluidState().pressure(nPhaseIdx);
-        const Scalar pw = elemVolVars[scvIdx].fluidState().pressure(wPhaseIdx);
+        const Scalar pn = elemVolVars[scvIdx].pressure(nPhaseIdx);
+        const Scalar pw = elemVolVars[scvIdx].pressure(wPhaseIdx);
 
         const Scalar Tn = elemVolVars[scvIdx].fluidState().temperature(nPhaseIdx);
         const Scalar Tw = elemVolVars[scvIdx].fluidState().temperature(wPhaseIdx);
-- 
GitLab