From d566020e98375b468904ad54b92ad996b85740ba Mon Sep 17 00:00:00 2001
From: Philipp Nuske <philipp.nuske@mailbox.org>
Date: Wed, 9 Apr 2014 16:25:44 +0000
Subject: [PATCH] Adding a new test problem for the mpnc model: Local chemical
 equilibrium and local thermal non-equilibrium with two energy equations.

A new fluidsystem with constant properties is implemented.

The fluid temperature on the right boundary is verified by an analytical approximation for the stationary configuration.

reviewed by Christoph

git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@12743 2fb0f335-1f38-0410-981e-8018bf24f1b0
---
 .../purewatersimplefluidsystem.hh             |  581 ++++++
 test/implicit/mpnc/CMakeLists.txt             |   11 +
 test/implicit/mpnc/Makefile.am                |    3 +-
 test/implicit/mpnc/combustionproblem1c.hh     |  792 ++++++++
 test/implicit/mpnc/combustionspatialparams.hh |  372 ++++
 .../combustionOutflowGridLinNX100LogNx100.dgf |  410 +++++
 .../combustionOutflowGridLinNX200LogNx200.dgf |  810 +++++++++
 .../combustionOutflowGridLinNX400LogNx400.dgf | 1610 +++++++++++++++++
 .../combustionOutflowGridLinNX40LogNx40.dgf   |  170 ++
 .../mpnc/test_boxmpncthermalnonequil.cc       |   64 +
 .../mpnc/test_boxmpncthermalnonequil.input    |   83 +
 test/references/combustion-reference.vtp      |  614 +++++++
 12 files changed, 5519 insertions(+), 1 deletion(-)
 create mode 100644 dumux/material/fluidsystems/purewatersimplefluidsystem.hh
 create mode 100644 test/implicit/mpnc/combustionproblem1c.hh
 create mode 100644 test/implicit/mpnc/combustionspatialparams.hh
 create mode 100644 test/implicit/mpnc/grids/combustionOutflowGridLinNX100LogNx100.dgf
 create mode 100644 test/implicit/mpnc/grids/combustionOutflowGridLinNX200LogNx200.dgf
 create mode 100644 test/implicit/mpnc/grids/combustionOutflowGridLinNX400LogNx400.dgf
 create mode 100644 test/implicit/mpnc/grids/combustionOutflowGridLinNX40LogNx40.dgf
 create mode 100644 test/implicit/mpnc/test_boxmpncthermalnonequil.cc
 create mode 100644 test/implicit/mpnc/test_boxmpncthermalnonequil.input
 create mode 100644 test/references/combustion-reference.vtp

diff --git a/dumux/material/fluidsystems/purewatersimplefluidsystem.hh b/dumux/material/fluidsystems/purewatersimplefluidsystem.hh
new file mode 100644
index 0000000000..00182da50b
--- /dev/null
+++ b/dumux/material/fluidsystems/purewatersimplefluidsystem.hh
@@ -0,0 +1,581 @@
+// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+// vi: set et ts=4 sw=4 sts=4:
+/*****************************************************************************
+ *   See the file COPYING for full copying permissions.                      *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief A twophase fluid system with water and nitrogen as components.
+ */
+#ifndef DUMUX_PURE_WATER_FLUID_SYSTEM_HH
+#define DUMUX_PURE_WATER_FLUID_SYSTEM_HH
+
+#include <cassert>
+
+#include <dumux/material/idealgas.hh>
+
+#include <dumux/material/components/n2.hh>
+#include <dumux/material/components/h2o.hh>
+#include <dumux/material/components/simpleh2o.hh>
+#include <dumux/material/components/tabulatedcomponent.hh>
+#include <dumux/material/binarycoefficients/h2o_n2.hh>
+
+#include <dumux/common/valgrind.hh>
+#include <dumux/common/exceptions.hh>
+
+#include <dumux/material/fluidsystems/basefluidsystem.hh>
+
+#ifdef DUMUX_PROPERTIES_HH
+#include <dumux/common/basicproperties.hh>
+#include <dumux/material/fluidsystems/defaultcomponents.hh>
+#endif
+
+namespace Dumux
+{
+namespace FluidSystems
+{
+
+/*!
+ * \ingroup Fluidsystems
+ *
+ * \brief A two-phase fluid system with water as sole component.
+ * 		  Values are taken from Shi & Wang, A numerical investigation of transpiration cooling with liquid coolant phase change, Transport in Porous Media, 2011
+ *
+ * This FluidSystem can be used without the PropertySystem that is applied in Dumux,
+ * as all Parameters are defined via template parameters. Hence it is in an
+ * additional namespace Dumux::FluidSystem::.
+ * An adapter class using Dumux::FluidSystem<TypeTag> is also provided
+ * at the end of this file.
+ */
+template <class Scalar, bool useComplexRelations = false>
+class PureWaterSimpleFluidSystem
+    : public BaseFluidSystem<Scalar, PureWaterSimpleFluidSystem<Scalar, useComplexRelations> >
+{
+    typedef PureWaterSimpleFluidSystem<Scalar, useComplexRelations> ThisType;
+    typedef BaseFluidSystem<Scalar, ThisType> Base;
+
+    // convenience typedefs
+    typedef Dumux::IdealGas<Scalar> IdealGas;
+    typedef Dumux::SimpleH2O<Scalar> SimpleH2O;
+    typedef Dumux::N2<Scalar> SimpleN2;
+
+public:
+    /****************************************
+     * Fluid phase related static parameters
+     ****************************************/
+
+    //! Number of phases in the fluid system
+    static constexpr int numPhases = 2;
+
+    static constexpr int wPhaseIdx = 0; // index of the wetting phase
+    static constexpr int nPhaseIdx = 1; // index of the non-wetting phase
+    static constexpr int sPhaseIdx = 2; // Index of the solid phase
+    
+    // export component indices to indicate the main component 
+    // of the corresponding phase at atmospheric pressure 1 bar 
+    // and room temperature 20°C:
+    static const int wCompIdx = wPhaseIdx;
+    static const int nCompIdx = nPhaseIdx;
+    
+    /*!
+     * \brief Return the human readable name of a fluid phase
+     *
+     * \param phaseIdx The index of the fluid phase to consider
+     */
+    static const char *phaseName(int phaseIdx)
+    {
+        static const char *name[] = {
+            "w",
+            "n",
+            "s"
+        };
+
+        assert(0 <= phaseIdx && phaseIdx < numPhases);
+        return name[phaseIdx];
+    }
+
+    /*!
+     * \brief Return whether a phase is liquid
+     *
+     * \param phaseIdx The index of the fluid phase to consider
+     */
+    static bool isLiquid(int phaseIdx)
+    {
+        assert(0 <= phaseIdx && phaseIdx < numPhases);
+        return phaseIdx != nPhaseIdx;
+    }
+
+    /*!
+     * \brief Returns true if and only if a fluid phase is assumed to
+     *        be an ideal mixture.
+     *
+     * We define an ideal mixture as a fluid phase where the fugacity
+     * coefficients of all components times the pressure of the phase
+     * are indepent on the fluid composition. This assumtion is true
+     * if Henry's law and Rault's law apply. If you are unsure what
+     * this function should return, it is safe to return false. The
+     * only damage done will be (slightly) increased computation times
+     * in some cases.
+     *
+     * \param phaseIdx The index of the fluid phase to consider
+     */
+    static bool isIdealMixture(int phaseIdx)
+    {
+        assert(0 <= phaseIdx && phaseIdx < numPhases);
+        // we assume Henry's and Rault's laws for the water phase and
+        // and no interaction between gas molecules of different
+        // components, so all phases are ideal mixtures!
+        return true;
+    }
+
+    /*!
+     * \brief Returns true if and only if a fluid phase is assumed to
+     *        be compressible.
+     *
+     * Compressible means that the partial derivative of the density
+     * to the fluid pressure is always larger than zero.
+     *
+     * \param phaseIdx The index of the fluid phase to consider
+     */
+    static bool isCompressible(int phaseIdx)
+    {
+        assert(0 <= phaseIdx && phaseIdx < numPhases);
+        // gases are always compressible
+        if (phaseIdx == nPhaseIdx)
+            return true;
+        // the water component decides for the liquid phase...
+        return H2O::liquidIsCompressible();
+    }
+
+    /*!
+     * \brief Returns true if and only if a fluid phase is assumed to
+     *        be an ideal gas.
+     *
+     * \param phaseIdx The index of the fluid phase to consider
+     */
+    static bool isIdealGas(int phaseIdx)
+    {
+        assert(0 <= phaseIdx && phaseIdx < numPhases);
+
+        if (phaseIdx == nPhaseIdx)
+            // let the components decide
+            return H2O::gasIsIdeal() && N2::gasIsIdeal();
+        return false; // not a gas
+    }
+
+    /****************************************
+     * Component related static parameters
+     ****************************************/
+
+    //! Number of components in the fluid system
+    static constexpr int numComponents = 2;
+
+    static constexpr int H2OIdx = 0;
+    static constexpr int N2Idx = 1;
+
+    //! The components for pure water
+    typedef SimpleH2O H2O;
+
+    //! The components for pure nitrogen
+    typedef SimpleN2 N2;
+
+    /*!
+     * \brief Return the human readable name of a component
+     *
+     * \param compIdx The index of the component to consider
+     */
+    static const char *componentName(int compIdx)
+    {
+        static const char *name[] = {
+            H2O::name(),
+            N2::name()
+        };
+
+        assert(0 <= compIdx && compIdx < numComponents);
+        return name[compIdx];
+    }
+
+    /*!
+     * \brief Return the molar mass of a component in [kg/mol].
+     *
+     * \param compIdx The index of the component to consider
+     */
+    static Scalar molarMass(int compIdx)
+    {
+        static const Scalar M[] = {
+            H2O::molarMass(),
+            N2::molarMass(),
+        };
+
+        assert(0 <= compIdx && compIdx < numComponents);
+        return M[compIdx];
+    }
+
+    /*!
+     * \brief Critical temperature of a component [K].
+     *
+     * \param compIdx The index of the component to consider
+     */
+    static Scalar criticalTemperature(int compIdx)
+    {
+        static const Scalar Tcrit[] = {
+            H2O::criticalTemperature(), // H2O
+            N2::criticalTemperature() // N2
+        };
+
+        assert(0 <= compIdx && compIdx < numComponents);
+        return Tcrit[compIdx];
+    }
+
+    /*!
+     * \brief Critical pressure of a component [Pa].
+     *
+     * \param compIdx The index of the component to consider
+     */
+    static Scalar criticalPressure(int compIdx)
+    {
+        static const Scalar pcrit[] = {
+            H2O::criticalPressure(),
+            N2::criticalPressure()
+        };
+
+        assert(0 <= compIdx && compIdx < numComponents);
+        return pcrit[compIdx];
+    }
+
+    /*!
+     * \brief Molar volume of a component at the critical point [m^3/mol].
+     *
+     * \param compIdx The index of the component to consider
+     */
+    static Scalar criticalMolarVolume(int compIdx)
+    {
+        DUNE_THROW(Dune::NotImplemented,
+                   "H2ON2FluidSystem::criticalMolarVolume()");
+        return 0;
+    }
+
+    /*!
+     * \brief The acentric factor of a component [].
+     *
+     * \param compIdx The index of the component to consider
+     */
+    static Scalar acentricFactor(int compIdx)
+    {
+        static const Scalar accFac[] = {
+            H2O::acentricFactor(), // H2O (from Reid, et al.)
+            N2::acentricFactor()
+        };
+
+        assert(0 <= compIdx && compIdx < numComponents);
+        return accFac[compIdx];
+    }
+
+    /****************************************
+     * thermodynamic relations
+     ****************************************/
+
+    /*!
+     * \brief Initialize the fluid system's static parameters generically
+     *
+     * If a tabulated H2O component is used, we do our best to create
+     * tables that always work.
+     */
+    static void init()
+    {
+        init(/*tempMin=*/273.15,
+             /*tempMax=*/623.15,
+             /*numTemp=*/100,
+             /*pMin=*/0.0,
+             /*pMax=*/20e6,
+             /*numP=*/200);
+    }
+
+    /*!
+     * \brief Initialize the fluid system's static parameters using
+     *        problem specific temperature and pressure ranges
+     *
+     * \param tempMin The minimum temperature used for tabulation of water [K]
+     * \param tempMax The maximum temperature used for tabulation of water [K]
+     * \param nTemp The number of ticks on the temperature axis of the  table of water
+     * \param pressMin The minimum pressure used for tabulation of water [Pa]
+     * \param pressMax The maximum pressure used for tabulation of water [Pa]
+     * \param nPress The number of ticks on the pressure axis of the  table of water
+     */
+    static void init(Scalar tempMin, Scalar tempMax, unsigned nTemp,
+                     Scalar pressMin, Scalar pressMax, unsigned nPress)
+    {
+    	std::cout << "Using very simple pure water fluid system\n";
+    }
+
+    /*!
+     * \brief Calculate the density [kg/m^3] of a fluid phase
+     *
+     * \param fluidState An arbitrary fluid state
+     * \param phaseIdx The index of the fluid phase to consider
+     */
+    using Base::density;
+    template <class FluidState>
+    static Scalar density(const FluidState &fluidState,
+                          int phaseIdx)
+    {
+        assert(0 <= phaseIdx  && phaseIdx < numPhases);
+
+        // liquid phase
+        if (phaseIdx == wPhaseIdx) {
+                return 1044.0 ;
+        }
+        else if (phaseIdx == nPhaseIdx)// gas phase
+        {
+        	return
+					1.679 ;
+        }
+        else DUNE_THROW(Dune::NotImplemented,
+                   "wrong index");
+    }
+
+    /*!
+     * \brief Calculate the dynamic viscosity of a fluid phase [Pa*s]
+     *
+     * \param fluidState An arbitrary fluid state
+     * \param phaseIdx The index of the fluid phase to consider
+     */
+    using Base::viscosity;
+    template <class FluidState>
+    static Scalar viscosity(const FluidState &fluidState,
+                            int phaseIdx)
+    {
+        assert(0 <= phaseIdx  && phaseIdx < numPhases);
+
+        // liquid phase
+        if (phaseIdx == wPhaseIdx) {
+                return 2.694e-7 * density(fluidState, phaseIdx) ;
+        }
+        else if (phaseIdx == nPhaseIdx) // gas phase
+        {
+        	return 7.16e-6 * density(fluidState, phaseIdx) ;
+        }
+        else DUNE_THROW(Dune::NotImplemented,
+                   "wrong index");
+    }
+
+    /*!
+     * \brief calculate the temperature of vapor at a given pressure on the vapor pressure curve.
+     *
+     * \param fluidState An arbitrary fluid state
+     * \param phaseIdx The index of the fluid phase to consider
+     */
+    template <class FluidState>
+    static Scalar vaporTemperature(const FluidState &fluidState,
+    							   const unsigned int phaseIdx)
+    {
+        assert(0 <= phaseIdx  && phaseIdx < numPhases);
+        Scalar pressure = fluidState.pressure(nPhaseIdx) ;
+
+        return IAPWS::Region4<Scalar>::vaporTemperature( pressure ) ;
+    }
+
+    /*!
+     * \brief Calculate the fugacity coefficient [Pa] of an individual
+     *        component in a fluid phase
+     *
+     * The fugacity coefficient \f$\phi^\kappa_\alpha\f$ of
+     * component \f$\kappa\f$ in phase \f$\alpha\f$ is connected to
+     * the fugacity \f$f^\kappa_\alpha\f$ and the component's mole
+     * fraction \f$x^\kappa_\alpha\f$ by means of the relation
+     *
+     * \f[
+     f^\kappa_\alpha = \phi^\kappa_\alpha\;x^\kappa_\alpha\;p_\alpha
+     \f]
+     * where \f$p_\alpha\f$ is the pressure of the fluid phase.
+     *
+     * The quantity "fugacity" itself is just an other way to express
+     * the chemical potential \f$\zeta^\kappa_\alpha\f$ of the
+     * component. It is defined via
+     *
+     * \f[
+     f^\kappa_\alpha := \exp\left\{\frac{\zeta^\kappa_\alpha}{k_B T_\alpha} \right\}
+     \f]
+     * where \f$k_B = 1.380\cdot10^{-23}\;J/K\f$ is the Boltzmann constant.
+     *
+     * \param fluidState An arbitrary fluid state
+     * \param phaseIdx The index of the fluid phase to consider
+     * \param compIdx The index of the component to consider
+     */
+    using Base::fugacityCoefficient;
+    template <class FluidState>
+    static Scalar fugacityCoefficient(const FluidState &fluidState,
+                                      int phaseIdx,
+                                      int compIdx)
+    {
+        assert(0 <= phaseIdx  && phaseIdx < numPhases);
+        assert(0 <= compIdx  && compIdx < numComponents);
+
+        Scalar T = fluidState.temperature(phaseIdx);
+        Scalar p = fluidState.pressure(phaseIdx);
+
+        // liquid phase
+        if (phaseIdx == wPhaseIdx) {
+            if (compIdx == H2OIdx)
+                return H2O::vaporPressure(T)/p;
+            return Dumux::BinaryCoeff::H2O_N2::henry(T)/p;
+        }
+
+        // for the gas phase, assume an ideal gas when it comes to
+        // fugacity (-> fugacity == partial pressure)
+        return 1.0;
+    }
+
+
+    /*!
+     * \brief Calculate the molecular diffusion coefficient for a
+     *        component in a fluid phase [mol^2 * s / (kg*m^3)]
+     *
+     * \param fluidState An arbitrary fluid state
+     * \param phaseIdx The index of the fluid phase to consider
+     * \param compIdx The index of the component to consider
+     */
+    using Base::diffusionCoefficient;
+    template <class FluidState>
+    static Scalar diffusionCoefficient(const FluidState &fluidState,
+                                       int phaseIdx,
+                                       int compIdx)
+    {
+        // TODO!
+        DUNE_THROW(Dune::NotImplemented, "Diffusion coefficients");
+    }
+
+    /*!
+     * \brief Given a phase's composition, temperature and pressure,
+     *        return the binary diffusion coefficient for components
+     *        \f$i\f$ and \f$j\f$ in this phase.
+     *
+     * \param fluidState An arbitrary fluid state
+     * \param phaseIdx The index of the fluid phase to consider
+     * \param compIIdx The index of the first component to consider
+     * \param compJIdx The index of the second component to consider
+     */
+    using Base::binaryDiffusionCoefficient;
+    template <class FluidState>
+    static Scalar binaryDiffusionCoefficient(const FluidState &fluidState,
+                                             int phaseIdx,
+                                             int compIIdx,
+                                             int compJIdx)
+
+    {
+        DUNE_THROW(Dune::NotImplemented, "Binary Diffusion coefficients");
+    }
+
+    /*!
+     * \brief Calculate specific enthalpy [J/kg].
+     *
+     * \param fluidState An arbitrary fluid state
+     * \param phaseIdx The index of the fluid phase to consider
+     */
+    using Base::enthalpy;
+    template <class FluidState>
+    static Scalar enthalpy(const FluidState &fluidState,
+                           int phaseIdx)
+    {
+        assert(0 <= phaseIdx  && phaseIdx < numPhases);
+        Scalar temperature = fluidState.temperature(phaseIdx);
+
+        const Scalar cp = heatCapacity(fluidState, phaseIdx) ;
+
+        // liquid phase
+        if (phaseIdx == wPhaseIdx) {
+        	return cp * (temperature -  373.15);
+        }
+        else if (phaseIdx == nPhaseIdx) // gas phase
+        {
+        	return cp * (temperature - 373.15) + 2.257e6;
+        }
+        else DUNE_THROW(Dune::NotImplemented,
+                   "wrong index");
+    }
+
+    /*!
+     * \brief Thermal conductivity of a fluid phase [W/(m K)].
+     *
+     * Use the conductivity of vapor and liquid water at 100°C
+     *
+     * \param fluidState An arbitrary fluid state
+     * \param phaseIdx The index of the fluid phase to consider
+     */
+    using Base::thermalConductivity;
+    template <class FluidState>
+    static Scalar thermalConductivity(const FluidState &fluidState,
+                                      const int phaseIdx)
+    {
+        assert(0 <= phaseIdx  && phaseIdx < numPhases);
+        // liquid phase
+        if (phaseIdx == wPhaseIdx) {
+                 return 0.68 ;
+        }
+        else if (phaseIdx == nPhaseIdx) // gas phase
+        {
+        	return 0.0248;
+        }
+        else DUNE_THROW(Dune::NotImplemented,
+                   "wrong index");
+    }
+
+    /*!
+     * \brief Specific isobaric heat capacity of a fluid phase.
+     *        \f$\mathrm{[J/kg / K]}\f$.
+     *
+     * \param fluidState An arbitrary fluid state
+     * \param phaseIdx The index of the fluid phase to consider
+     */
+    using Base::heatCapacity;
+    template <class FluidState>
+    static Scalar heatCapacity(const FluidState &fluidState,
+                               int phaseIdx)
+    {
+        assert(0 <= phaseIdx  && phaseIdx < numPhases);
+        // liquid phase
+        if (phaseIdx == wPhaseIdx) {
+                 return 4.217e3 ;
+        }
+        else if (phaseIdx == nPhaseIdx) // gas phase
+        {
+        	return 2.029e3;
+        }
+        else DUNE_THROW(Dune::NotImplemented,
+                   "wrong index");
+    }
+};
+
+} // end namespace FluidSystems
+
+#ifdef DUMUX_PROPERTIES_HH
+/*!
+ * \brief A twophase fluid system with water and nitrogen as components.
+ *
+ * This is an adapter to use Dumux::H2ON2FluidSystem<TypeTag>, as is
+ * done with most other classes in Dumux.
+ */
+template<class TypeTag>
+class PureWaterSimpleFluidSystem
+: public FluidSystems::PureWaterSimpleFluidSystem<typename GET_PROP_TYPE(TypeTag, Scalar),
+                             GET_PROP_VALUE(TypeTag, EnableComplicatedFluidSystem)>
+{};
+#endif
+
+} // end namespace
+
+#endif
diff --git a/test/implicit/mpnc/CMakeLists.txt b/test/implicit/mpnc/CMakeLists.txt
index f89c5cf21b..76a23e7c1b 100644
--- a/test/implicit/mpnc/CMakeLists.txt
+++ b/test/implicit/mpnc/CMakeLists.txt
@@ -40,6 +40,7 @@ add_dumux_test(test_forchheimer2p test_forchheimer2p test_forchheimer2p.cc
   -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_forchheimer2p.input
   -Grid.File ${CMAKE_CURRENT_SOURCE_DIR}/grids/obstacle_24x16.dgf)
 
+# build target for the full kinetic test problem
 add_dumux_test(test_boxmpnckinetic test_boxmpnckinetic test_boxmpnckinetic.cc
   ${CMAKE_SOURCE_DIR}/bin/runTest.sh
   ${CMAKE_SOURCE_DIR}/bin/fuzzycomparevtu.py
@@ -49,6 +50,16 @@ add_dumux_test(test_boxmpnckinetic test_boxmpnckinetic test_boxmpnckinetic.cc
   -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_boxmpnckinetic.input
   -Grid.File ${CMAKE_CURRENT_SOURCE_DIR}/grids/interfacedomain.dgf)
   
+  # build target for the energy kinetic test problem, two energy balance equations
+add_dumux_test(test_boxmpncthermalnonequil test_boxmpncthermalnonequil test_boxmpncthermalnonequil.cc
+  ${CMAKE_SOURCE_DIR}/bin/runTest.sh
+  ${CMAKE_SOURCE_DIR}/bin/fuzzycomparevtu.py
+  ${CMAKE_SOURCE_DIR}/test/references/combustion-reference.vtp
+  ${CMAKE_CURRENT_BINARY_DIR}/combustion-00078.vtp
+  ${CMAKE_CURRENT_BINARY_DIR}/test_boxmpncthermalnonequil
+  -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_boxmpncthermalnonequil.input
+  -Grid.File ${CMAKE_CURRENT_SOURCE_DIR}/grids/combustionOutflowGridLinNX100LogNx100.dgf)
+  
 target_link_libraries(test_boxmpnckinetic ${DUNE_LIBS}  ${MPI_LIBRARIES})
 add_dune_alugrid_flags(test_boxmpnckinetic)
 add_dune_ug_flags(test_boxmpnckinetic)
diff --git a/test/implicit/mpnc/Makefile.am b/test/implicit/mpnc/Makefile.am
index 369fce3287..30c22237bb 100644
--- a/test/implicit/mpnc/Makefile.am
+++ b/test/implicit/mpnc/Makefile.am
@@ -1,4 +1,4 @@
-check_PROGRAMS = test_boxmpnc test_ccmpnc test_forchheimer2p test_forchheimer1p test_boxmpnckinetic
+check_PROGRAMS = test_boxmpnc test_ccmpnc test_forchheimer2p test_forchheimer1p test_boxmpnckinetic test_boxmpncthermalnonequil
 noinst_HEADERS = *.hh
 
 EXTRA_DIST= *.input CMakeLists.txt grids/*.dgf
@@ -10,6 +10,7 @@ test_ccmpnc_SOURCES = test_ccmpnc.cc
 test_forchheimer2p_SOURCES = test_forchheimer2p.cc
 test_forchheimer1p_SOURCES = test_forchheimer1p.cc
 test_boxmpnckinetic_SOURCES = test_boxmpnckinetic.cc
+test_boxmpncthermalnonequil_SOURCES = test_boxmpncthermalnonequil.cc
 
 
 
diff --git a/test/implicit/mpnc/combustionproblem1c.hh b/test/implicit/mpnc/combustionproblem1c.hh
new file mode 100644
index 0000000000..5941635103
--- /dev/null
+++ b/test/implicit/mpnc/combustionproblem1c.hh
@@ -0,0 +1,792 @@
+/*****************************************************************************
+ *   Copyright (C) 2012 by Philipp Nuske                          *
+ *   Institute for Modelling Hydraulic and Environmental Systems             *
+ *   University of Stuttgart, Germany                                        *
+ *   email: <givenname>.<name>@iws.uni-stuttgart.de                          *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+/*
+ * \file CombustionProblem.hh
+ * \ingroup MpNcBoxproblems
+ *
+ * \brief Problem where hot, pure air is injected from the left hand side into a initially
+ *        isotherm domain. A kinetic model is used: i.e. three different (fluid, gas, solid)
+ *        temperatures are primary variables.
+ *
+ *        The Problem is written, such that the kinetic consideration for mass and energy can
+ *        be switched of by merely setting kinetic, kineticenergy respectivly to false.
+ *        Boundary and initial conditions are specified for all cases.
+ *
+ * \author Philipp Nuske
+ */
+#ifndef DUMUX_COMBUSTION_PROBLEM_ONE_COMPONENT_HH
+#define DUMUX_COMBUSTION_PROBLEM_ONE_COMPONENT_HH
+
+
+// st this to one for the Thermo-Gross Mass Transfer
+#define FUNKYMASSTRANSFER 0
+
+// this sets that the relation using pc_max is used.
+// i.e. - only parameters for awn, ans are given,
+//      - the fit for ans involves the maximum value for pc, where Sw, awn are zero.
+// setting it here, because it impacts volume variables and spatialparameters
+#define USE_PCMAX 0
+
+
+
+
+#include <dune/common/parametertreeparser.hh>
+
+
+#include <dumux/implicit/common/implicitporousmediaproblem.hh>
+
+#include <dumux/implicit/mpnc/mpncmodelkinetic.hh>
+
+#include "combustionspatialparams.hh"
+
+#include <dumux/implicit/mpnc/velomodelnewtoncontroller.hh>
+
+#include <dumux/material/fluidsystems/purewatersimplefluidsystem.hh>
+
+#include <dumux/material/fluidstates/compositionalfluidstate.hh>
+
+#include <dumux/material/fluidmatrixinteractions/2p/thermalconductivitysimplefluidlumping.hh>
+
+#include <dumux/material/constraintsolvers/computefromreferencephase.hh>
+
+//#include <dumux/io/plotoverline1d.hh>
+
+
+namespace Dumux
+{
+
+template <class TypeTag>
+class CombustionProblemOneComponent;
+
+namespace Properties
+{
+NEW_TYPE_TAG(CombustionProblemOneComponent,
+             INHERITS_FROM(BoxMPNCKinetic, CombustionSpatialParams));
+
+
+// Set the grid type
+SET_PROP(CombustionProblemOneComponent, Grid)
+{
+    typedef typename Dune::OneDGrid type;
+};
+
+SET_TYPE_PROP(CombustionProblemOneComponent, LinearSolver, SuperLUBackend<TypeTag>);
+
+// Set the problem property
+SET_TYPE_PROP(CombustionProblemOneComponent,
+              Problem,
+              Dumux::CombustionProblemOneComponent<TTAG(CombustionProblemOneComponent)>);
+
+// Set fluid configuration
+SET_PROP(CombustionProblemOneComponent, FluidSystem)
+{ 
+private: typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+public:  typedef Dumux::FluidSystems::PureWaterSimpleFluidSystem<Scalar, /*useComplexRelations=*/false> type;
+};
+
+// Set the newton controller
+SET_TYPE_PROP(CombustionProblemOneComponent,
+              NewtonController,
+              Dumux::VeloModelNewtonController<TypeTag>);
+
+
+//! Set the default pressure formulation: either pw first or pn first
+SET_INT_PROP(CombustionProblemOneComponent,
+             PressureFormulation,
+             MpNcPressureFormulation::mostWettingFirst);
+
+// Set the type used for scalar values
+SET_TYPE_PROP(CombustionProblemOneComponent, Scalar, double ); // quad / double
+
+// Enable gravity
+SET_BOOL_PROP(CombustionProblemOneComponent, ProblemEnableGravity, true);
+
+// Specify whether diffusion is enabled
+SET_BOOL_PROP(CombustionProblemOneComponent, EnableDiffusion, false);
+
+// do not use smooth upwinding
+SET_BOOL_PROP(CombustionProblemOneComponent, ImplicitEnableSmoothUpwinding, false);
+
+// do not use a chopped newton method in the beginning
+SET_BOOL_PROP(CombustionProblemOneComponent, NewtonEnableChop, false);
+
+// use forward differences instead of central ones
+SET_INT_PROP(CombustionProblemOneComponent, ImplicitNumericDifferenceMethod, +1);
+
+
+// disable partial jacobian matrix reassembly
+SET_BOOL_PROP(CombustionProblemOneComponent, ImplicitEnablePartialReassemble, false);
+
+// Enable the re-use of the jacobian matrix whenever possible?
+SET_BOOL_PROP(CombustionProblemOneComponent, ImplicitEnableJacobianRecycling, true);
+
+// Specify whether the convergence rate ought to be written out by the
+// newton method
+SET_BOOL_PROP(CombustionProblemOneComponent, NewtonWriteConvergence, false);
+
+//! Franz Lindners simple lumping
+SET_PROP(CombustionProblemOneComponent, ThermalConductivityModel)
+{
+	public: typedef ThermalConductivitySimpleFluidLumping<TypeTag> type;
+};
+
+
+//#################
+// Which Code to compile
+// Specify whether there is any energy equation
+SET_BOOL_PROP(CombustionProblemOneComponent, EnableEnergy, true );
+// Specify whether the kinetic energy module is used
+SET_INT_PROP(CombustionProblemOneComponent, NumEnergyEquations, 2 );
+// Specify whether the kinetic mass module is use
+SET_BOOL_PROP(CombustionProblemOneComponent, EnableKinetic, false);
+//#################
+
+/*!
+ * \brief The fluid state which is used by the volume variables to
+ *        store the thermodynamic state. This has to be chosen
+ *        appropriately for the model ((non-)isothermal, equilibrium, ...).
+ */
+SET_PROP(CombustionProblemOneComponent, FluidState){
+    private:    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+    private:    typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
+    public: typedef Dumux::CompositionalFluidState<Scalar, FluidSystem> type;
+};
+
+SET_BOOL_PROP(CombustionProblemOneComponent, UseMaxwellDiffusion, false);
+
+// Output variables
+SET_BOOL_PROP(CombustionProblemOneComponent, VtkAddVelocities, true);
+SET_BOOL_PROP(CombustionProblemOneComponent, VtkAddReynolds, true);
+SET_BOOL_PROP(CombustionProblemOneComponent, VtkAddPrandtl, true);
+SET_BOOL_PROP(CombustionProblemOneComponent, VtkAddNusselt, true);
+SET_BOOL_PROP(CombustionProblemOneComponent, VtkAddBoundaryTypes, true);
+SET_BOOL_PROP(CombustionProblemOneComponent, VtkAddInterfacialArea, true);
+SET_BOOL_PROP(CombustionProblemOneComponent, VtkAddTemperatures, true);
+SET_BOOL_PROP(CombustionProblemOneComponent, VtkAddxEquil, true);
+SET_BOOL_PROP(CombustionProblemOneComponent, VtkAddDeltaP, true);
+
+SET_BOOL_PROP(CombustionProblemOneComponent, VelocityAveragingInModel, true);
+}
+
+/*!
+ * \ingroup MpNcBoxproblems
+ *
+ * \brief Problem where the evaporation is tested.
+ */
+template <class TypeTag>
+class CombustionProblemOneComponent
+    : public ImplicitPorousMediaProblem<TypeTag>
+{
+
+    typedef CombustionProblemOneComponent<TypeTag> ThisType;
+    typedef ImplicitPorousMediaProblem<TypeTag> ParentType;
+    typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
+    typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
+    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+    typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
+    typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes;
+    typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
+    /*!
+     * \brief The fluid state which is used by the volume variables to
+     *        store the thermodynamic state. This should be chosen
+     *        appropriately for the model ((non-)isothermal, equilibrium, ...).
+     *        This can be done in the problem.
+     */
+    typedef typename GET_PROP_TYPE(TypeTag, FluidState) FluidState;
+    typedef typename FluidSystem::ParameterCache ParameterCache;
+    enum { dim = GridView::dimension}; // Grid and world dimension
+    enum { dimWorld = GridView::dimensionworld};
+    enum { numPhases       = GET_PROP_VALUE(TypeTag, NumPhases)};
+    enum { numComponents   = GET_PROP_VALUE(TypeTag, NumComponents)};
+    enum { s0EqIdx = Indices::s0Idx};
+    enum { p0EqIdx = Indices::p0Idx};
+    enum { conti00EqIdx    = Indices::conti0EqIdx };
+    enum { temperature0Idx = Indices::temperatureIdx};
+    enum { energyEq0Idx    = Indices::energyEqIdx};
+    enum { numEnergyEqs    = Indices::numPrimaryEnergyVars};
+    enum { energyEqSolidIdx = energyEq0Idx + numEnergyEqs - 1};
+    enum { wPhaseIdx       = FluidSystem::wPhaseIdx};
+    enum { nPhaseIdx       = FluidSystem::nPhaseIdx};
+    enum { sPhaseIdx       = FluidSystem::sPhaseIdx};
+    enum { wCompIdx        = FluidSystem::H2OIdx};
+    enum { nCompIdx        = FluidSystem::N2Idx};
+    enum {  enableKinetic       = GET_PROP_VALUE(TypeTag, EnableKinetic)};
+    enum { enableEnergy        = GET_PROP_VALUE(TypeTag, EnableEnergy)};
+    enum { numEnergyEquations = GET_PROP_VALUE(TypeTag, NumEnergyEquations)};
+    enum { velocityOutput             = GET_PROP_VALUE(TypeTag, VtkAddVelocities)};
+    enum { velocityAveragingInModel   = GET_PROP_VALUE(TypeTag, VelocityAveragingInModel)};
+
+    // formulations
+    enum {
+        pressureFormulation = GET_PROP_VALUE(TypeTag, PressureFormulation),
+        mostWettingFirst    = MpNcPressureFormulation::mostWettingFirst,
+        leastWettingFirst   = MpNcPressureFormulation::leastWettingFirst
+    };
+
+    typedef typename GridView::template Codim<0>::Entity Element;
+    typedef typename GridView::template Codim<dim>::Entity Vertex;
+    typedef typename GridView::Intersection Intersection;
+    typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry;
+    typedef typename GET_PROP_TYPE(TypeTag, MaterialLawParams) MaterialLawParams;
+    typedef typename GET_PROP_TYPE(TypeTag, MaterialLaw) MaterialLaw;
+    typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables;
+    typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) VolumeVariables;
+    typedef typename GET_PROP_TYPE(TypeTag, TimeManager) TimeManager;
+    typedef typename GridView::template Codim<0>::Iterator ElementIterator;
+    typedef typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes) ElementBoundaryTypes;
+    typedef typename GET_PROP_TYPE(TypeTag, FluxVariables) FluxVariables;
+
+    typedef Dune::FieldVector<typename GridView::Grid::ctype, dim> DimVector;
+    typedef Dune::FieldVector<typename GridView::Grid::ctype, dimWorld> GlobalPosition;
+
+    typedef std::vector<Dune::FieldVector<Scalar, 1> >  ScalarBuffer;
+    typedef std::array<ScalarBuffer, numPhases>         PhaseBuffer;
+    typedef Dune::FieldVector<Scalar, dim>              VelocityVector;
+    typedef Dune::BlockVector<VelocityVector>           VelocityField;
+    typedef std::array<VelocityField, numPhases>        PhaseVelocityField;
+
+public:
+    CombustionProblemOneComponent(TimeManager &timeManager,
+    		const GridView &gridView)
+        : ParentType(timeManager, gridView)
+    {
+    }
+
+    void init()
+    {
+        try
+        {
+            eps_                    = 1e-6;
+            outputName_             = GET_RUNTIME_PARAM(TypeTag, std::string, Constants.outputName);
+            nRestart_               = GET_RUNTIME_PARAM(TypeTag, int, Constants.nRestart);
+            TInitial_               = GET_RUNTIME_PARAM(TypeTag, Scalar, InitialConditions.TInitial);
+            TRight_                 = GET_RUNTIME_PARAM(TypeTag, Scalar, InitialConditions.TRight);
+            pnInitial_              = GET_RUNTIME_PARAM(TypeTag, Scalar,InitialConditions.pnInitial);
+            TBoundary_              = GET_RUNTIME_PARAM(TypeTag, Scalar,BoundaryConditions.TBoundary);
+            SwBoundary_             = GET_RUNTIME_PARAM(TypeTag, Scalar,BoundaryConditions.SwBoundary);
+            SwOneComponentSys_      = GET_RUNTIME_PARAM(TypeTag, Scalar,BoundaryConditions.SwOneComponentSys);
+            massFluxInjectedPhase_  = GET_RUNTIME_PARAM(TypeTag, Scalar,BoundaryConditions.massFluxInjectedPhase);
+            heatFluxFromRight_      = GET_RUNTIME_PARAM(TypeTag, Scalar,BoundaryConditions.heatFluxFromRight);
+            coldTime_      			= GET_RUNTIME_PARAM(TypeTag, Scalar,BoundaryConditions.coldTime);
+        }
+
+        catch (Dumux::ParameterException &e) {
+            std::cerr << e << ". Abort!\n";
+            exit(1) ;
+        }
+        catch (...) {
+            std::cerr << "Unknown exception thrown!\n";
+            exit(1);
+        }
+
+        this->spatialParams().setInputInitialize();
+
+        ParentType::init();
+        this->model().initVelocityStuff();
+    }
+
+
+    /*!
+     * \brief Returns the temperature \f$\mathrm{[K]}\f$ for an isothermal problem.
+     *
+     * This is not specific to the discretization.
+     */
+    Scalar temperature() const
+    { return TInitial_; };
+
+    /*!
+     * \name Problem Params
+     */
+    // \{
+
+    /*!
+     * \brief The problem name.
+     *
+     * This is used as a prefix for files generated by the simulation.
+     */
+    const std::string name() const
+    { return outputName_ ; }
+
+    /*!
+     * \brief Returns the temperature within the domain.
+     */
+    Scalar boxTemperature(const Element &element,
+                          const FVElementGeometry &fvGeometry,
+                          const unsigned int scvIdx) const
+    { return TInitial_; };
+
+    // \}
+
+    /*!
+     * \brief Called directly after the time integration.
+     */
+    void postTimeStep()
+    {
+//    	if(this->timeManager().willBeFinished()){
+//			// write plot over Line to text files
+//			// each output gets it's writer object in order to allow for different header files
+//			PlotOverLine1D<TypeTag> writer;
+//
+//			// writer points: in the porous medium, not the outflow
+//			GlobalPosition pointOne ;
+//			GlobalPosition pointTwo ;
+//
+//			pointOne[0] = this->bBoxMin()[0] ;
+//			pointTwo[0] = (this->spatialParams().lengthPM()) ;
+//
+//			writer.write(*this,
+//						  pointOne,
+//						  pointTwo,
+//						  "plotOverLine");
+//    	}
+
+
+        // Calculate storage terms of the individual phases
+        for (int phaseIdx = 0; phaseIdx < numEnergyEqs; ++phaseIdx) {
+            PrimaryVariables phaseStorage;
+            /* wieviel Erhaltungsgröße im System ist (in Einheit der Bilanzgleichung)
+             * Aufssummierte Storage term für das ganze System.
+             */
+            this->model().globalPhaseStorage(phaseStorage, phaseIdx);
+
+            if (this->gridView().comm().rank() == 0) {
+                std::cout
+                    <<"Storage in  "
+                    << FluidSystem::phaseName(phaseIdx)
+                    << "Phase: ["
+                    << phaseStorage
+                    << "]"
+                    << "\n";
+            }
+        }
+
+        // Calculate total storage terms
+        PrimaryVariables storage;
+        this->model().globalStorage(storage);
+
+        // Write mass balance information for rank 0
+        if (this->gridView().comm().rank() == 0) {
+            std::cout
+                <<"Storage total: [" << storage << "]"
+                << "\n";
+        }
+    }
+
+    /*!
+     * \brief Write a restart file?
+     *yes of course:
+     * - every nRestart_'th steps
+     */
+    bool shouldWriteRestartFile() const
+    {
+    	return this->timeManager().timeStepIndex() > 0 and
+            (this->timeManager().timeStepIndex() % nRestart_  == 0);
+    }
+
+    /*!
+     * \brief Write a output file?
+     */
+    bool shouldWriteOutput() const
+    { return true; }
+
+
+    /*!
+     * \brief Evaluate the source term for all phases within a given
+     *        sub-control-volume.
+     *
+     * For this method, the \a values parameter stores the rate mass
+     * of a component is generated or annihilate per volume
+     * unit. Positive values mean that mass is created, negative ones
+     * mean that it vanishes.
+     */
+    void source(PrimaryVariables & priVars,
+                const Element & element,
+                const FVElementGeometry & fvGeometry,
+                const unsigned int scvIdx) const
+    {
+    	priVars = Scalar(0.0);
+        const GlobalPosition & globalPos = fvGeometry.subContVol[scvIdx].global;
+
+        const Scalar volume = fvGeometry.subContVol[scvIdx].volume ;
+        const unsigned int numScv = fvGeometry.numScv; // box: numSCV, cc:1
+
+        if ((this->timeManager().time()) > coldTime_ )
+        {
+			if (onRightBoundaryPorousMedium_(globalPos))
+			{
+			   if(numEnergyEquations>1) // for  2 and 3 energy equations
+			   {
+				   if(numEnergyEquations==2){
+					   // Testing the location of a vertex, but function is called for each associated scv. Compensate for that
+					   priVars[energyEqSolidIdx] = heatFluxFromRight_ / volume / (Scalar)numScv;
+				   }
+				   else
+				   // Multiply by volume, because afterwards we divide by it -> make independet of grid resolution
+				   priVars[energyEq0Idx + sPhaseIdx] = heatFluxFromRight_ / volume / (Scalar)numScv ;
+			   }
+			   else if (enableEnergy){
+				   // Multiply by volume, because afterwards we divide by it -> make independet of grid resolution
+				   priVars[energyEq0Idx] = heatFluxFromRight_ / volume   / (Scalar)numScv;
+			   }
+			}
+        }
+    }
+
+    /*!
+     * \brief Specifies which kind of boundary condition should be
+     *        used for which equation on a given boundary segment.
+     *
+     * \param values The bounentraldary types for the conservation equations
+     * \param vertex The vertex for which the boundary type is set
+     */
+    void boundaryTypes(BoundaryTypes & bTypes, const Vertex &vertex) const
+    {
+        const GlobalPosition & globalPos = vertex.geometry().center();
+
+        // Default: Neumann
+        bTypes.setAllNeumann();
+
+        if(onRightBoundary_(globalPos)  ){
+            bTypes.setAllDirichlet();
+        }
+    }
+
+    /*!
+     * \brief Evaluate the boundary conditions for a dirichlet
+     *        boundary segment.
+     *
+     * \param values The dirichlet values for the primary variables
+     * \param vertex The vertex for which the boundary type is set
+     *
+     * For this method, the \a values parameter stores primary variables.
+     */
+    void dirichlet(PrimaryVariables &priVars, const Vertex &vertex) const
+    {
+        const GlobalPosition globalPos = vertex.geometry().center();
+    	initial_(priVars, globalPos);
+    }
+
+    /*!
+     * \brief Evaluate the boundary conditions for a neumann
+     *        boundary segment.
+     *
+     * For this method, the \a values parameter stores the mass flux
+     * in normal direction of each component. Negative values mean
+     * influx.
+     */
+
+    void solDependentNeumann(PrimaryVariables &priVars,
+                      const Element &element,
+                      const FVElementGeometry &fvGeometry,
+                      const Intersection &intersection,
+                      const int scvIdx,
+                      const int boundaryFaceIdx,
+                      const ElementVolumeVariables &elemVolVars) const{
+
+        const GlobalPosition & globalPos =  fvGeometry.subContVol[scvIdx].global ;
+           const Scalar massFluxInjectedPhase = massFluxInjectedPhase_ ;
+
+           FluidState fluidState;
+
+           const Scalar pn = elemVolVars[scvIdx].fluidState().pressure(nPhaseIdx);
+           const Scalar pw = elemVolVars[scvIdx].fluidState().pressure(wPhaseIdx);
+
+           const Scalar Tn = elemVolVars[scvIdx].fluidState().temperature(nPhaseIdx);
+           const Scalar Tw = elemVolVars[scvIdx].fluidState().temperature(wPhaseIdx);
+
+           fluidState.setPressure(nPhaseIdx, pn);
+           fluidState.setPressure(wPhaseIdx, pw);
+
+           if(numEnergyEquations == 3 ){ // only in this case the fluidstate hase several temperatures
+               fluidState.setTemperature(nPhaseIdx, Tn );
+               fluidState.setTemperature(wPhaseIdx, Tw );
+           }
+           else
+               fluidState.setTemperature(TBoundary_ );
+
+           ParameterCache dummyCache;
+           // This solves the system of equations defining x=x(p,T)
+//           FluidSystem::calculateEquilibriumMoleFractions(fluidState, dummyCache) ;
+
+           fluidState.setMoleFraction(wPhaseIdx, nCompIdx, 0.0) ;
+           fluidState.setMoleFraction(wPhaseIdx, wCompIdx, 1.0) ;
+           // compute density of injection phase
+           const Scalar density = FluidSystem::density(fluidState,
+                                                        dummyCache,
+                                                        wPhaseIdx);
+           fluidState.setDensity(wPhaseIdx, density);
+
+           for(int phaseIdx=0; phaseIdx<numPhases; phaseIdx++){
+               const Scalar h = FluidSystem::enthalpy(fluidState,
+                                                          dummyCache,
+                                                          phaseIdx);
+               fluidState.setEnthalpy(phaseIdx, h);
+           }
+
+           const Scalar molarFlux = massFluxInjectedPhase / fluidState.averageMolarMass(wPhaseIdx);
+
+           // Default Neumann noFlow
+           priVars = 0.0;
+
+           if (onLeftBoundary_(globalPos))
+           {
+               if (enableKinetic){
+                   priVars[conti00EqIdx + numComponents*wPhaseIdx+wCompIdx]    = - molarFlux * fluidState.moleFraction(wPhaseIdx, wCompIdx) ;
+                   priVars[conti00EqIdx + numComponents*wPhaseIdx+nCompIdx]    = - molarFlux * fluidState.moleFraction(wPhaseIdx, nCompIdx) ;
+                   if (enableEnergy){
+					   if (numEnergyEquations == 3)
+						   priVars[energyEq0Idx + wPhaseIdx]   = - massFluxInjectedPhase * fluidState.enthalpy(wPhaseIdx) ;
+					   else if(numEnergyEquations == 2)
+						   priVars[energyEq0Idx]   = - massFluxInjectedPhase * fluidState.enthalpy(wPhaseIdx) ;
+					   else if(numEnergyEquations == 1)
+						   priVars[energyEq0Idx]   = - massFluxInjectedPhase * fluidState.enthalpy(wPhaseIdx) ;
+					   else DUNE_THROW(Dune::InvalidStateException, "Formulation: " << pressureFormulation << " is invalid.");
+                   }
+               }
+               else {
+                   priVars[conti00EqIdx + wCompIdx]    = - molarFlux * fluidState.moleFraction(wPhaseIdx, wCompIdx) ; ;
+                   priVars[conti00EqIdx + nCompIdx]    = - molarFlux * fluidState.moleFraction(wPhaseIdx, nCompIdx) ; ;
+                   if (enableEnergy){
+					   if (numEnergyEquations == 3)
+						   priVars[energyEq0Idx + wPhaseIdx]   = - massFluxInjectedPhase * fluidState.enthalpy(wPhaseIdx) ;
+					   else if(numEnergyEquations == 2)
+						   priVars[energyEq0Idx]   = - massFluxInjectedPhase * fluidState.enthalpy(wPhaseIdx) ;
+					   else if(numEnergyEquations == 1)
+						   priVars[energyEq0Idx]   = - massFluxInjectedPhase * fluidState.enthalpy(wPhaseIdx) ;
+					   else DUNE_THROW(Dune::InvalidStateException, "Formulation: " << pressureFormulation << " is invalid.");
+                   }
+               }
+           }
+       }
+
+
+    /*!
+     * \brief Evaluate the initial value for a control volume.
+     *
+     * For this method, the \a values parameter stores primary
+     * variables.
+     */
+    void initial(PrimaryVariables &values,
+                 const Element &element,
+                 const FVElementGeometry &fvGeometry,
+                 const unsigned int scvIdx) const
+    {
+        const GlobalPosition &globalPos = element.geometry().corner(scvIdx);
+
+        initial_(values, globalPos);
+    }
+
+private:
+    // the internal method for the initial condition
+    void initial_(PrimaryVariables &priVars,
+                  const GlobalPosition &globalPos) const
+    {
+    	const Scalar curPos = globalPos[0] ;
+    	const Scalar slope = (SwBoundary_-SwOneComponentSys_) / (this->spatialParams().lengthPM()) ;
+        Scalar S[numPhases];
+        const Scalar thisSaturation = SwOneComponentSys_ + curPos * slope ;
+
+		S[wPhaseIdx]    = SwBoundary_ ;
+		if (inPM_(globalPos) ) {
+			S[wPhaseIdx]    = thisSaturation ;
+		}
+
+		S[nPhaseIdx]    = 1. - S[wPhaseIdx] ;
+
+		//////////////////////////////////////
+		// Set saturation
+		//////////////////////////////////////
+        for (int i = 0; i < numPhases - 1; ++i){
+            priVars[s0EqIdx + i] = S[i];
+        }
+
+        FluidState fluidState;
+
+        Scalar thisTemperature = TInitial_ ;
+        if(onRightBoundary_(globalPos))
+            thisTemperature = TRight_ ;
+
+        for (int phaseIdx = 0; phaseIdx < numPhases ; ++phaseIdx) {
+            fluidState.setSaturation(phaseIdx, S[phaseIdx]);
+
+            if(numEnergyEquations > 2){ // only in this case the fluidstate has more than one temperature
+                fluidState.setTemperature(phaseIdx, thisTemperature );
+            }
+            else
+                fluidState.setTemperature(thisTemperature );
+        }
+
+        //////////////////////////////////////
+        // Set temperature
+        //////////////////////////////////////
+        if(enableEnergy){
+            for (int energyEqIdx=0; energyEqIdx< numEnergyEqs; ++energyEqIdx)
+                priVars[energyEq0Idx + energyEqIdx] = thisTemperature;
+        }
+
+        const MaterialLawParams &materialParams =
+            this->spatialParams().materialLawParamsAtPos(globalPos);
+        Scalar capPress[numPhases];
+
+        //obtain pc according to saturation
+        MaterialLaw::capillaryPressures(capPress, materialParams, fluidState);
+
+        Scalar p[numPhases];
+
+		p[wPhaseIdx] = pnInitial_  - std::abs(capPress[wPhaseIdx]);
+		p[nPhaseIdx] = p[wPhaseIdx] + std::abs(capPress[wPhaseIdx]);
+
+        for (int phaseIdx=0; phaseIdx<numPhases; phaseIdx++)
+             fluidState.setPressure(phaseIdx, p[phaseIdx]);
+
+        //////////////////////////////////////
+        // Set pressure
+        //////////////////////////////////////
+        if(pressureFormulation == mostWettingFirst){
+            // This means that the pressures are sorted from the most wetting to the least wetting-1 in the primary variables vector.
+            // For two phases this means that there is one pressure as primary variable: pw
+            priVars[p0EqIdx] = p[wPhaseIdx];
+        }
+        else if(pressureFormulation == leastWettingFirst){
+            // This means that the pressures are sorted from the least wetting to the most wetting-1 in the primary variables vector.
+            // For two phases this means that there is one pressure as primary variable: pn
+            priVars[p0EqIdx] = p[nPhaseIdx];
+        }
+        else DUNE_THROW(Dune::InvalidStateException, "Formulation: " << pressureFormulation << " is invalid.");
+
+        fluidState.setMoleFraction(wPhaseIdx, wCompIdx, 1.0) ;
+        fluidState.setMoleFraction(wPhaseIdx, nCompIdx, 0.0) ;
+
+        fluidState.setMoleFraction(nPhaseIdx, wCompIdx, 1.0) ;
+        fluidState.setMoleFraction(nPhaseIdx, nCompIdx, 0.0) ;
+
+        /* Difference between kinetic and MPNC:
+         * number of component related primVar and how they are calculated (mole fraction, fugacities, resp.)          */
+        if(enableKinetic){
+            for(int phaseIdx=0; phaseIdx < numPhases; ++ phaseIdx){
+                for(int compIdx=0; compIdx <numComponents; ++compIdx){
+                    int offset = compIdx + phaseIdx * numComponents  ;
+                    priVars[conti00EqIdx + offset] = fluidState.moleFraction(phaseIdx,compIdx) ;
+                }
+            }
+        }
+        else{ //enableKinetic
+            int refPhaseIdx ;
+
+            // on right boundary: reference is gas
+            refPhaseIdx = nPhaseIdx;
+
+            if(inPM_(globalPos)){
+                refPhaseIdx = wPhaseIdx;
+            }
+
+            // obtain fugacities
+            typedef Dumux::ComputeFromReferencePhase<Scalar, FluidSystem> ComputeFromReferencePhase;
+            ParameterCache paramCache;
+            ComputeFromReferencePhase::solve(fluidState,
+                                             paramCache,
+                                             refPhaseIdx,
+                                             /*setViscosity=*/false,
+                                             /*setEnthalpy=*/false);
+
+            //////////////////////////////////////
+            // Set fugacities
+            //////////////////////////////////////
+            for (int compIdx = 0; compIdx < numComponents; ++compIdx){
+                const Scalar fug = fluidState.fugacity(refPhaseIdx) ;
+                priVars[conti00EqIdx + compIdx] = fluidState.fugacity(refPhaseIdx,compIdx);
+            }
+        } // end not enableKinetic
+    }
+
+    /*!
+     * \brief Give back whether the tested position (input) is a specific region (left) in the domain
+     */
+    bool onLeftBoundary_(const GlobalPosition & globalPos) const
+    {       return globalPos[0] < this->bBoxMin()[0] + eps_;   }
+
+    /*!
+     * \brief Give back whether the tested position (input) is a specific region (right) in the domain
+     */
+    bool onRightBoundary_(const GlobalPosition & globalPos) const
+    {        return globalPos[0] > this->bBoxMax()[0] - eps_;    }
+
+    /*!
+     * \brief Give back whether the tested position (input) is a specific region (right) in the domain
+     * 	\todo this needs to be more sophisticated in order to allow for meshes with nodes not directly on the boundary
+     */
+    bool onRightBoundaryPorousMedium_(const GlobalPosition & globalPos) const
+    { return ( std::fabs(globalPos[0] - (this->spatialParams().lengthPM())) < eps_ ); }
+
+    /*!
+     * \brief Give back whether the tested position (input) is a specific region (right) in the domain
+     */
+    bool inPM_(const GlobalPosition & globalPos) const
+    { return
+    		not this->spatialParams().inOutFlow(globalPos) ;
+    }
+
+    /*!
+     * \brief Give back whether the tested position (input) is a specific region (down, (gravityDir)) in the domain
+     */
+    bool onLowerBoundary_(const GlobalPosition & globalPos) const
+    {        return globalPos[dim-1] < this->bBoxMin()[dim-1] + eps_;    }
+
+    /*!
+     * \brief Give back whether the tested position (input) is a specific region (up, (gravityDir)) in the domain
+     */
+    bool onUpperBoundary_(const GlobalPosition & globalPos) const
+    {        return globalPos[dim-1] > this->bBoxMax()[dim-1] - eps_;    }
+
+private:
+    Scalar eps_;
+    int nTemperature_;
+    int nPressure_;
+    std::string outputName_;
+    int nRestart_ ;
+    Scalar TInitial_ ;
+    Scalar TRight_ ;
+
+    Scalar pnInitial_;
+
+    Dune::ParameterTree inputParameters_;
+    Scalar x_[numPhases][numComponents] ;
+
+    Scalar TBoundary_;
+    Scalar SwBoundary_;
+    Scalar SwOneComponentSys_;
+
+    Scalar massFluxInjectedPhase_ ;
+    Scalar heatFluxFromRight_ ;
+    PhaseVelocityField  volumeDarcyVelocity_;
+    PhaseBuffer         volumeDarcyMagVelocity_ ;
+    ScalarBuffer        boxSurface_;
+    Scalar lengthPM_ ;
+    Scalar coldTime_ ;
+
+public:
+
+    Dune::ParameterTree getInputParameters() const
+    { return inputParameters_; }
+};
+
+} //end namespace
+
+#endif
diff --git a/test/implicit/mpnc/combustionspatialparams.hh b/test/implicit/mpnc/combustionspatialparams.hh
new file mode 100644
index 0000000000..823a893b45
--- /dev/null
+++ b/test/implicit/mpnc/combustionspatialparams.hh
@@ -0,0 +1,372 @@
+/*****************************************************************************
+ *   Institute for Modelling Hydraulic and Environmental Systems             *
+ *   University of Stuttgart, Germany                                        *
+ *   email: <givenname>.<name>@iws.uni-stuttgart.de                          *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+#ifndef DUMUX_COMBUSTION_SPATIALPARAMS_HH
+#define DUMUX_COMBUSTION_SPATIALPARAMS_HH
+
+#include <dumux/material/spatialparams/implicitspatialparams.hh>
+
+#include <dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
+
+#include <dumux/material/fluidmatrixinteractions/mp/2padapter.hh>
+#include <dumux/material/fluidmatrixinteractions/2p/linearmaterial.hh>
+
+#include <dune/common/parametertreeparser.hh>
+#include <dumux/material/fluidmatrixinteractions/2p/heatpipelaw.hh>
+
+namespace Dumux
+{
+
+//forward declaration
+template<class TypeTag>
+class CombustionSpatialParams;
+
+namespace Properties
+{
+// The spatial params TypeTag
+NEW_TYPE_TAG(CombustionSpatialParams);
+
+// Set the spatial parameters
+SET_TYPE_PROP(CombustionSpatialParams, SpatialParams, Dumux::CombustionSpatialParams<TypeTag>);
+
+// Set the material Law
+SET_PROP(CombustionSpatialParams, MaterialLaw)
+{
+private:
+    typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
+    enum {wPhaseIdx   = FluidSystem::wPhaseIdx};
+
+    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+
+//    actually other people call this Leverett
+    typedef HeatPipeLaw<Scalar> EffectiveLaw;
+
+    typedef EffToAbsLaw<EffectiveLaw>       TwoPMaterialLaw;
+    public:
+        typedef TwoPAdapter<wPhaseIdx, TwoPMaterialLaw> type;
+};
+
+
+}// end namespace properties
+
+/**
+ * \brief Definition of the soil properties for the kinetic Energy problem
+ *
+ */
+template<class TypeTag>
+class CombustionSpatialParams : public ImplicitSpatialParams<TypeTag>
+{
+    typedef ImplicitSpatialParams<TypeTag> ParentType;
+    typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
+    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+    typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
+
+    enum {dim=GridView::dimension };
+    enum {dimWorld=GridView::dimensionworld};
+    enum {wPhaseIdx = FluidSystem::wPhaseIdx};
+    enum {nPhaseIdx = FluidSystem::nPhaseIdx};
+    enum {sPhaseIdx = FluidSystem::sPhaseIdx};
+    enum {numEnergyEquations  	= GET_PROP_VALUE(TypeTag, NumEnergyEquations)};
+    enum {numPhases = GET_PROP_VALUE(TypeTag, NumPhases)};
+    enum {enableEnergy 			= GET_PROP_VALUE(TypeTag, EnableEnergy)};
+
+    typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) VolumeVariables;
+    typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables;
+    typedef typename GET_PROP_TYPE(TypeTag, FluxVariables) FluxVariables;
+    typedef typename GET_PROP_TYPE(TypeTag, SolutionVector) SolutionVector;
+    typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry;
+    typedef typename GridView::template Codim<0>::Entity Element;
+    typedef Dune::FieldVector<Scalar,dimWorld> GlobalPosition;
+    typedef Dune::FieldVector<Scalar,dimWorld> DimVector;
+    typedef typename GET_PROP_TYPE(TypeTag, FluidState) FluidState;
+
+public:
+    typedef typename GET_PROP_TYPE(TypeTag, MaterialLaw) MaterialLaw;
+    typedef typename MaterialLaw::Params MaterialLawParams;
+
+    CombustionSpatialParams(const GridView &gv)
+        : ParentType(gv)
+    {
+    }
+
+    ~CombustionSpatialParams()
+    {}
+
+    //! load parameters from input file and initialize parameter values
+        void setInputInitialize()
+        {
+            try
+            {
+                eps_                    = 1e-6;
+                // BEWARE! First the input values have to be set, than the material parameters can be set
+
+                // this is the parameter value from file part
+                porosity_                 		= GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.PorousMedium.porosity);
+
+                intrinsicPermeabilityOutFlow_ 	= GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.OutFlow.permeabilityOutFlow);
+                porosityOutFlow_ 				= GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.OutFlow.porosityOutFlow);
+                thermalConductivitySolidOutflow_ = GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.OutFlow.soilThermalConductivityOutFlow);
+
+                densitySolid_                		= GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.soil.density);
+                thermalConductivitySolid_    		= GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.soil.soilThermalConductivity);
+                heatCapacity_               		= GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.soil.heatCapacity);
+
+                interfacialTension_               	= GET_RUNTIME_PARAM(TypeTag, Scalar, Constants.interfacialTension);
+
+                Swr_            = GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.soil.Swr);
+                Snr_            = GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.soil.Snr);
+
+                characteristicLength_	= GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.PorousMedium.meanPoreSize);
+                intrinsicPermeability_  =  (std::pow(characteristicLength_,2.0)  * std::pow(porosity_,3.0)) / (150.0 * std::pow((1.0-porosity_),2.0));
+
+                factorEnergyTransfer_         = GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.PorousMedium.factorEnergyTransfer);
+                factorMassTransfer_           = GET_RUNTIME_PARAM(TypeTag, Scalar, SpatialParams.PorousMedium.factorMassTransfer);
+
+                lengthPM_      			= GET_RUNTIME_PARAM(TypeTag, Scalar,Grid.lengthPM);
+            }
+            catch (Dumux::ParameterException &e) {
+                std::cerr << e << ". Abort!\n";
+                exit(1) ;
+            }
+            catch (...) {
+                std::cerr << "Unknown exception thrown!\n";
+                exit(1);
+            }
+
+            // residual saturations
+            materialParams_.setSwr(Swr_) ;
+            materialParams_.setSnr(Snr_) ;
+
+            materialParams_.setP0(std::sqrt(porosity_/intrinsicPermeability_));
+            materialParams_.setGamma(interfacialTension_); // interfacial tension of water-air at 100°C
+        }
+
+    /*! \brief Update the spatial parameters with the flow solution
+     *        after a timestep. */
+    void update(const SolutionVector & globalSolutionFn)
+    { }
+
+    /*! \brief Returns the intrinsic permeability
+     *
+     *        The position is determined based on the coordinate of
+     *        the vertex belonging to the considered sub control volume.
+     * \param element The current finite element
+     * \param fvGeometry The current finite volume geometry of the element
+     * \param scvIdx The index sub-control volume */
+    const Scalar intrinsicPermeability(const Element & element,
+                                 const FVElementGeometry & fvGeometry,
+                                 const unsigned int scvIdx) const
+    {
+        const  GlobalPosition & globalPos =  fvGeometry.subContVol[scvIdx].global ;
+    	if ( inOutFlow(globalPos) )
+    		return intrinsicPermeabilityOutFlow_ ;
+    	else
+    		return intrinsicPermeability_ ;
+    }
+
+    /*! \brief Return the porosity \f$[-]\f$ of the soil
+     *
+     *        The position is determined based on the coordinate of
+     *        the vertex belonging to the considered sub control volume.
+     * \param element The finite element
+     * \param fvGeometry The finite volume geometry
+     * \param scvIdx The local index of the sub-control volume  */
+    const Scalar porosity(const Element & element,
+                    const FVElementGeometry & fvGeometry,
+                    const unsigned int scvIdx) const
+    {
+        const  GlobalPosition & globalPos =  fvGeometry.subContVol[scvIdx].global ;
+    	if ( inOutFlow(globalPos) )
+    		return porosityOutFlow_ ;
+    	else
+    		return porosity_ ;
+    }
+
+    /*!
+     * \brief Return a reference to the material parameters of the material law.
+     *
+     *        The position is determined based on the coordinate of
+     *        the vertex belonging to the considered sub control volume.
+     * \param element     The finite element
+     * \param fvGeometry  The finite volume geometry
+     * \param scvIdx      The local index of the sub-control volume */
+    const MaterialLawParams & materialLawParams(const Element & element,
+                                                   const FVElementGeometry & fvGeometry,
+                                                   const unsigned int scvIdx) const
+    {
+        const  GlobalPosition & globalPos =  fvGeometry.subContVol[scvIdx].global ;
+        const MaterialLawParams & materialParams  = materialLawParamsAtPos(globalPos) ;
+        return materialParams ;
+    }
+
+    /*!
+     * \brief Return a reference to the material parameters of the material law.
+     * \param globalPos The position in global coordinates. */
+    const MaterialLawParams & materialLawParamsAtPos(const GlobalPosition & globalPos) const
+    {
+            return materialParams_ ;
+    }
+
+    /*!\brief Return the characteristic length for the mass transfer.
+     *
+     *        The position is determined based on the coordinate of
+     *        the vertex belonging to the considered sub controle volume.
+     * \param element     The finite element
+     * \param fvGeometry  The finite volume geometry
+     * \param scvIdx      The local index of the sub control volume */
+    const Scalar characteristicLength(const Element & element,
+                                        const FVElementGeometry & fvGeometry,
+                                        const unsigned int scvIdx) const
+    {   const  GlobalPosition & globalPos =  fvGeometry.subContVol[scvIdx].global ;
+        return characteristicLengthAtPos(globalPos); }
+    /*!\brief Return the characteristic length for the mass transfer.
+     * \param globalPos The position in global coordinates.*/
+    const Scalar characteristicLengthAtPos(const  GlobalPosition & globalPos) const
+    { return characteristicLength_ ; }
+
+    /*!\brief Return the pre factor the the energy transfer
+     *
+     *        The position is determined based on the coordinate of
+     *        the vertex belonging to the considered sub controle volume.
+     * \param element     The finite element
+     * \param fvGeometry  The finite volume geometry
+     * \param scvIdx      The local index of the sub control volume */
+    const Scalar factorEnergyTransfer(const Element & element,
+                                        const FVElementGeometry & fvGeometry,
+                                        const unsigned int scvIdx) const
+    {   const  GlobalPosition & globalPos =  fvGeometry.subContVol[scvIdx].global ;
+        return factorEnergyTransferAtPos(globalPos); }
+    /*!\brief Return the pre factor the the energy transfer
+     * \param globalPos The position in global coordinates.*/
+    const Scalar factorEnergyTransferAtPos(const  GlobalPosition & globalPos) const
+    {
+    	return factorEnergyTransfer_ ;
+    }
+
+
+    /*!\brief Return the pre factor the the mass transfer
+     *
+     *        The position is determined based on the coordinate of
+     *        the vertex belonging to the considered sub controle volume.
+     * \param element     The finite element
+     * \param fvGeometry  The finite volume geometry
+     * \param scvIdx      The local index of the sub control volume */
+    const Scalar factorMassTransfer(const Element & element,
+                                        const FVElementGeometry & fvGeometry,
+                                        const unsigned int scvIdx) const
+    {   const  GlobalPosition & globalPos =  fvGeometry.subContVol[scvIdx].global ;
+        return factorMassTransferAtPos(globalPos); }
+    /*!\brief Return the pre factor the the mass transfer
+     * \param globalPos The position in global coordinates.*/
+    const Scalar factorMassTransferAtPos(const  GlobalPosition & globalPos) const
+    {
+    	return factorMassTransfer_ ;
+    }
+
+
+    /*! \brief Returns the heat capacity \f$[J/m^3 K]\f$ of the rock matrix.
+     * \param element     The finite element
+     * \param fvGeometry  The finite volume geometry
+     * \param scvIdx      The local index of the sub-control volume where
+     *                    the heat capacity needs to be defined */
+    const Scalar heatCapacity(const Element &element,
+                               const FVElementGeometry &fvGeometry,
+                               const unsigned int scvIdx) const
+    {  return heatCapacity_ ;}  // specific heat capacity of solid  [J / (kg K)]
+
+    /*!\brief Returns the density \f$[kg/m^3]\f$ of the rock matrix.
+     * \param element     The finite element
+     * \param fvGeometry  The finite volume geometry
+     * \param scvIdx      The local index of the sub-control volume */
+    const Scalar densitySolid(const Element & element,
+                              const FVElementGeometry & fvGeometry,
+                              const unsigned int scvIdx) const
+    { return densitySolid_ ;} // density of solid [kg/m^3]
+
+    /*!\brief Returns the thermal conductivity \f$[W/(m K)]\f$ of the rock matrix.
+     * \param element     The finite element
+     * \param fvGeometry  The finite volume geometry
+     * \param scvIdx      The local index of the sub-control volume */
+    const Scalar  thermalConductivitySolid(const Element &element,
+                                    const FVElementGeometry &fvGeometry,
+                                    const unsigned int scvIdx)const
+    {
+        const  GlobalPosition & globalPos =  fvGeometry.subContVol[scvIdx].global ;
+    	if ( inOutFlow(globalPos) )
+    		return thermalConductivitySolidOutflow_ ;
+    	else
+    		return thermalConductivitySolid_ ;
+    } // conductivity of solid  [W / (m K ) ]
+
+    /*!
+     * \brief Give back whether the tested position (input) is a specific region (right end of porous medium) in the domain
+     */
+    bool inOutFlow(const GlobalPosition & globalPos) const
+    {        return globalPos[0] > (lengthPM_ - eps_) ;    }
+
+    /*!
+     * \brief Give back how long the porous medium domain is.
+     */
+    Scalar lengthPM() const
+    {
+    	return lengthPM_ ;
+    }
+
+    /*!
+     * \brief Give back the itnerfacial tension
+     */
+    Scalar interfacialTension() const
+    {
+    	return interfacialTension_ ;
+    }
+
+private:
+    Scalar eps_ ;
+
+
+    // Porous Medium Domain
+    Scalar intrinsicPermeability_ ;
+    Scalar porosity_ ;
+    Scalar factorEnergyTransfer_ ;
+    Scalar factorMassTransfer_ ;
+    Scalar characteristicLength_ ;
+    MaterialLawParams   materialParams_ ;
+
+    // Outflow Domain
+    Scalar intrinsicPermeabilityOutFlow_ ;
+    Scalar porosityOutFlow_ ;
+
+    // solid parameters
+    Scalar densitySolid_ ;
+    Scalar thermalConductivitySolid_ ;
+    Scalar thermalConductivitySolidOutflow_ ;
+    Scalar heatCapacity_ ;
+    Scalar interfacialTension_ ;
+
+
+    // capillary pressures parameters
+    Scalar Swr_ ;
+    Scalar Snr_ ;
+
+    // grid
+    Scalar lengthPM_ ;
+};
+
+}
+
+#endif // GUARDIAN
diff --git a/test/implicit/mpnc/grids/combustionOutflowGridLinNX100LogNx100.dgf b/test/implicit/mpnc/grids/combustionOutflowGridLinNX100LogNx100.dgf
new file mode 100644
index 0000000000..a77b8580f8
--- /dev/null
+++ b/test/implicit/mpnc/grids/combustionOutflowGridLinNX100LogNx100.dgf
@@ -0,0 +1,410 @@
+DGF
+
+VERTEX
+dimension 1
+0.000000
+0.001000
+0.002000
+0.003000
+0.004000
+0.005000
+0.006000
+0.007000
+0.008000
+0.009000
+0.010000
+0.011000
+0.012000
+0.013000
+0.014000
+0.015000
+0.016000
+0.017000
+0.018000
+0.019000
+0.020000
+0.021000
+0.022000
+0.023000
+0.024000
+0.025000
+0.026000
+0.027000
+0.028000
+0.029000
+0.030000
+0.031000
+0.032000
+0.033000
+0.034000
+0.035000
+0.036000
+0.037000
+0.038000
+0.039000
+0.040000
+0.041000
+0.042000
+0.043000
+0.044000
+0.045000
+0.046000
+0.047000
+0.048000
+0.049000
+0.050000
+0.051000
+0.052000
+0.053000
+0.054000
+0.055000
+0.056000
+0.057000
+0.058000
+0.059000
+0.060000
+0.061000
+0.062000
+0.063000
+0.064000
+0.065000
+0.066000
+0.067000
+0.068000
+0.069000
+0.070000
+0.071000
+0.072000
+0.073000
+0.074000
+0.075000
+0.076000
+0.077000
+0.078000
+0.079000
+0.080000
+0.081000
+0.082000
+0.083000
+0.084000
+0.085000
+0.086000
+0.087000
+0.088000
+0.089000
+0.090000
+0.091000
+0.092000
+0.093000
+0.094000
+0.095000
+0.096000
+0.097000
+0.098000
+0.099000
+0.100000
+0.104772
+0.109772
+0.115010
+0.120499
+0.126249
+0.132274
+0.138586
+0.145200
+0.152129
+0.159388
+0.166995
+0.174964
+0.183313
+0.192061
+0.201226
+0.210829
+0.220890
+0.231431
+0.242475
+0.254047
+0.266170
+0.278872
+0.292180
+0.306123
+0.320732
+0.336037
+0.352073
+0.368875
+0.386478
+0.404921
+0.424244
+0.444489
+0.465701
+0.487925
+0.511209
+0.535604
+0.561164
+0.587943
+0.616001
+0.645397
+0.676196
+0.708465
+0.742273
+0.777695
+0.814808
+0.853691
+0.894430
+0.937113
+0.981834
+1.028688
+1.077778
+1.129210
+1.183097
+1.239556
+1.298709
+1.360685
+1.425618
+1.493650
+1.564929
+1.639609
+1.717853
+1.799830
+1.885720
+1.975709
+2.069992
+2.168774
+2.272270
+2.380705
+2.494315
+2.613346
+2.738058
+2.868721
+3.005619
+3.149050
+3.299326
+3.456774
+3.621735
+3.794568
+3.975648
+4.165370
+4.364146
+4.572408
+4.790608
+5.019221
+5.258743
+5.509696
+5.772625
+6.048100
+6.336722
+6.639117
+6.955943
+7.287888
+7.635674
+8.000056
+8.381827
+8.781817
+9.200894
+9.639970
+10.100000
+#
+
+CUBE
+0 1 
+1 2 
+2 3 
+3 4 
+4 5 
+5 6 
+6 7 
+7 8 
+8 9 
+9 10 
+10 11 
+11 12 
+12 13 
+13 14 
+14 15 
+15 16 
+16 17 
+17 18 
+18 19 
+19 20 
+20 21 
+21 22 
+22 23 
+23 24 
+24 25 
+25 26 
+26 27 
+27 28 
+28 29 
+29 30 
+30 31 
+31 32 
+32 33 
+33 34 
+34 35 
+35 36 
+36 37 
+37 38 
+38 39 
+39 40 
+40 41 
+41 42 
+42 43 
+43 44 
+44 45 
+45 46 
+46 47 
+47 48 
+48 49 
+49 50 
+50 51 
+51 52 
+52 53 
+53 54 
+54 55 
+55 56 
+56 57 
+57 58 
+58 59 
+59 60 
+60 61 
+61 62 
+62 63 
+63 64 
+64 65 
+65 66 
+66 67 
+67 68 
+68 69 
+69 70 
+70 71 
+71 72 
+72 73 
+73 74 
+74 75 
+75 76 
+76 77 
+77 78 
+78 79 
+79 80 
+80 81 
+81 82 
+82 83 
+83 84 
+84 85 
+85 86 
+86 87 
+87 88 
+88 89 
+89 90 
+90 91 
+91 92 
+92 93 
+93 94 
+94 95 
+95 96 
+96 97 
+97 98 
+98 99 
+99 100 
+100 101 
+101 102 
+102 103 
+103 104 
+104 105 
+105 106 
+106 107 
+107 108 
+108 109 
+109 110 
+110 111 
+111 112 
+112 113 
+113 114 
+114 115 
+115 116 
+116 117 
+117 118 
+118 119 
+119 120 
+120 121 
+121 122 
+122 123 
+123 124 
+124 125 
+125 126 
+126 127 
+127 128 
+128 129 
+129 130 
+130 131 
+131 132 
+132 133 
+133 134 
+134 135 
+135 136 
+136 137 
+137 138 
+138 139 
+139 140 
+140 141 
+141 142 
+142 143 
+143 144 
+144 145 
+145 146 
+146 147 
+147 148 
+148 149 
+149 150 
+150 151 
+151 152 
+152 153 
+153 154 
+154 155 
+155 156 
+156 157 
+157 158 
+158 159 
+159 160 
+160 161 
+161 162 
+162 163 
+163 164 
+164 165 
+165 166 
+166 167 
+167 168 
+168 169 
+169 170 
+170 171 
+171 172 
+172 173 
+173 174 
+174 175 
+175 176 
+176 177 
+177 178 
+178 179 
+179 180 
+180 181 
+181 182 
+182 183 
+183 184 
+184 185 
+185 186 
+186 187 
+187 188 
+188 189 
+189 190 
+190 191 
+191 192 
+192 193 
+193 194 
+194 195 
+195 196 
+196 197 
+197 198 
+198 199 
+#
+
+#
+
diff --git a/test/implicit/mpnc/grids/combustionOutflowGridLinNX200LogNx200.dgf b/test/implicit/mpnc/grids/combustionOutflowGridLinNX200LogNx200.dgf
new file mode 100644
index 0000000000..6e4b1d26b3
--- /dev/null
+++ b/test/implicit/mpnc/grids/combustionOutflowGridLinNX200LogNx200.dgf
@@ -0,0 +1,810 @@
+DGF
+
+VERTEX
+dimension 1
+0.000000
+0.000500
+0.001000
+0.001500
+0.002000
+0.002500
+0.003000
+0.003500
+0.004000
+0.004500
+0.005000
+0.005500
+0.006000
+0.006500
+0.007000
+0.007500
+0.008000
+0.008500
+0.009000
+0.009500
+0.010000
+0.010500
+0.011000
+0.011500
+0.012000
+0.012500
+0.013000
+0.013500
+0.014000
+0.014500
+0.015000
+0.015500
+0.016000
+0.016500
+0.017000
+0.017500
+0.018000
+0.018500
+0.019000
+0.019500
+0.020000
+0.020500
+0.021000
+0.021500
+0.022000
+0.022500
+0.023000
+0.023500
+0.024000
+0.024500
+0.025000
+0.025500
+0.026000
+0.026500
+0.027000
+0.027500
+0.028000
+0.028500
+0.029000
+0.029500
+0.030000
+0.030500
+0.031000
+0.031500
+0.032000
+0.032500
+0.033000
+0.033500
+0.034000
+0.034500
+0.035000
+0.035500
+0.036000
+0.036500
+0.037000
+0.037500
+0.038000
+0.038500
+0.039000
+0.039500
+0.040000
+0.040500
+0.041000
+0.041500
+0.042000
+0.042500
+0.043000
+0.043500
+0.044000
+0.044500
+0.045000
+0.045500
+0.046000
+0.046500
+0.047000
+0.047500
+0.048000
+0.048500
+0.049000
+0.049500
+0.050000
+0.050500
+0.051000
+0.051500
+0.052000
+0.052500
+0.053000
+0.053500
+0.054000
+0.054500
+0.055000
+0.055500
+0.056000
+0.056500
+0.057000
+0.057500
+0.058000
+0.058500
+0.059000
+0.059500
+0.060000
+0.060500
+0.061000
+0.061500
+0.062000
+0.062500
+0.063000
+0.063500
+0.064000
+0.064500
+0.065000
+0.065500
+0.066000
+0.066500
+0.067000
+0.067500
+0.068000
+0.068500
+0.069000
+0.069500
+0.070000
+0.070500
+0.071000
+0.071500
+0.072000
+0.072500
+0.073000
+0.073500
+0.074000
+0.074500
+0.075000
+0.075500
+0.076000
+0.076500
+0.077000
+0.077500
+0.078000
+0.078500
+0.079000
+0.079500
+0.080000
+0.080500
+0.081000
+0.081500
+0.082000
+0.082500
+0.083000
+0.083500
+0.084000
+0.084500
+0.085000
+0.085500
+0.086000
+0.086500
+0.087000
+0.087500
+0.088000
+0.088500
+0.089000
+0.089500
+0.090000
+0.090500
+0.091000
+0.091500
+0.092000
+0.092500
+0.093000
+0.093500
+0.094000
+0.094500
+0.095000
+0.095500
+0.096000
+0.096500
+0.097000
+0.097500
+0.098000
+0.098500
+0.099000
+0.099500
+0.100000
+0.102346
+0.104748
+0.107205
+0.109721
+0.112295
+0.114930
+0.117626
+0.120386
+0.123210
+0.126101
+0.129060
+0.132088
+0.135187
+0.138359
+0.141605
+0.144928
+0.148328
+0.151808
+0.155370
+0.159015
+0.162746
+0.166565
+0.170473
+0.174473
+0.178566
+0.182756
+0.187044
+0.191432
+0.195924
+0.200521
+0.205225
+0.210040
+0.214969
+0.220012
+0.225174
+0.230457
+0.235865
+0.241399
+0.247062
+0.252859
+0.258792
+0.264864
+0.271078
+0.277438
+0.283948
+0.290610
+0.297428
+0.304407
+0.311549
+0.318859
+0.326340
+0.333997
+0.341833
+0.349853
+0.358062
+0.366463
+0.375061
+0.383861
+0.392867
+0.402085
+0.411519
+0.421174
+0.431056
+0.441170
+0.451521
+0.462115
+0.472957
+0.484054
+0.495411
+0.507035
+0.518931
+0.531106
+0.543568
+0.556321
+0.569374
+0.582733
+0.596405
+0.610398
+0.624720
+0.639377
+0.654379
+0.669732
+0.685446
+0.701528
+0.717988
+0.734834
+0.752075
+0.769721
+0.787780
+0.806264
+0.825181
+0.844541
+0.864357
+0.884637
+0.905392
+0.926635
+0.948376
+0.970628
+0.993401
+1.016709
+1.040564
+1.064978
+1.089965
+1.115538
+1.141712
+1.168499
+1.195915
+1.223975
+1.252692
+1.282084
+1.312165
+1.342951
+1.374460
+1.406709
+1.439714
+1.473493
+1.508065
+1.543448
+1.579662
+1.616724
+1.654657
+1.693479
+1.733213
+1.773879
+1.815498
+1.858095
+1.901690
+1.946309
+1.991974
+2.038711
+2.086544
+2.135500
+2.185604
+2.236884
+2.289367
+2.343082
+2.398057
+2.454321
+2.511906
+2.570842
+2.631160
+2.692894
+2.756076
+2.820741
+2.886923
+2.954657
+3.023981
+3.094932
+3.167547
+3.241866
+3.317928
+3.395775
+3.475449
+3.556992
+3.640448
+3.725862
+3.813281
+3.902750
+3.994319
+4.088036
+4.183951
+4.282118
+4.382587
+4.485414
+4.590653
+4.698362
+4.808598
+4.921420
+5.036889
+5.155067
+5.276018
+5.399807
+5.526501
+5.656167
+5.788875
+5.924697
+6.063706
+6.205976
+6.351584
+6.500608
+6.653129
+6.809229
+6.968991
+7.132502
+7.299848
+7.471122
+7.646413
+7.825818
+8.009432
+8.197354
+8.389685
+8.586528
+8.787990
+8.994179
+9.205206
+9.421184
+9.642229
+9.868460
+10.100000
+#
+
+CUBE
+0 1 
+1 2 
+2 3 
+3 4 
+4 5 
+5 6 
+6 7 
+7 8 
+8 9 
+9 10 
+10 11 
+11 12 
+12 13 
+13 14 
+14 15 
+15 16 
+16 17 
+17 18 
+18 19 
+19 20 
+20 21 
+21 22 
+22 23 
+23 24 
+24 25 
+25 26 
+26 27 
+27 28 
+28 29 
+29 30 
+30 31 
+31 32 
+32 33 
+33 34 
+34 35 
+35 36 
+36 37 
+37 38 
+38 39 
+39 40 
+40 41 
+41 42 
+42 43 
+43 44 
+44 45 
+45 46 
+46 47 
+47 48 
+48 49 
+49 50 
+50 51 
+51 52 
+52 53 
+53 54 
+54 55 
+55 56 
+56 57 
+57 58 
+58 59 
+59 60 
+60 61 
+61 62 
+62 63 
+63 64 
+64 65 
+65 66 
+66 67 
+67 68 
+68 69 
+69 70 
+70 71 
+71 72 
+72 73 
+73 74 
+74 75 
+75 76 
+76 77 
+77 78 
+78 79 
+79 80 
+80 81 
+81 82 
+82 83 
+83 84 
+84 85 
+85 86 
+86 87 
+87 88 
+88 89 
+89 90 
+90 91 
+91 92 
+92 93 
+93 94 
+94 95 
+95 96 
+96 97 
+97 98 
+98 99 
+99 100 
+100 101 
+101 102 
+102 103 
+103 104 
+104 105 
+105 106 
+106 107 
+107 108 
+108 109 
+109 110 
+110 111 
+111 112 
+112 113 
+113 114 
+114 115 
+115 116 
+116 117 
+117 118 
+118 119 
+119 120 
+120 121 
+121 122 
+122 123 
+123 124 
+124 125 
+125 126 
+126 127 
+127 128 
+128 129 
+129 130 
+130 131 
+131 132 
+132 133 
+133 134 
+134 135 
+135 136 
+136 137 
+137 138 
+138 139 
+139 140 
+140 141 
+141 142 
+142 143 
+143 144 
+144 145 
+145 146 
+146 147 
+147 148 
+148 149 
+149 150 
+150 151 
+151 152 
+152 153 
+153 154 
+154 155 
+155 156 
+156 157 
+157 158 
+158 159 
+159 160 
+160 161 
+161 162 
+162 163 
+163 164 
+164 165 
+165 166 
+166 167 
+167 168 
+168 169 
+169 170 
+170 171 
+171 172 
+172 173 
+173 174 
+174 175 
+175 176 
+176 177 
+177 178 
+178 179 
+179 180 
+180 181 
+181 182 
+182 183 
+183 184 
+184 185 
+185 186 
+186 187 
+187 188 
+188 189 
+189 190 
+190 191 
+191 192 
+192 193 
+193 194 
+194 195 
+195 196 
+196 197 
+197 198 
+198 199 
+199 200 
+200 201 
+201 202 
+202 203 
+203 204 
+204 205 
+205 206 
+206 207 
+207 208 
+208 209 
+209 210 
+210 211 
+211 212 
+212 213 
+213 214 
+214 215 
+215 216 
+216 217 
+217 218 
+218 219 
+219 220 
+220 221 
+221 222 
+222 223 
+223 224 
+224 225 
+225 226 
+226 227 
+227 228 
+228 229 
+229 230 
+230 231 
+231 232 
+232 233 
+233 234 
+234 235 
+235 236 
+236 237 
+237 238 
+238 239 
+239 240 
+240 241 
+241 242 
+242 243 
+243 244 
+244 245 
+245 246 
+246 247 
+247 248 
+248 249 
+249 250 
+250 251 
+251 252 
+252 253 
+253 254 
+254 255 
+255 256 
+256 257 
+257 258 
+258 259 
+259 260 
+260 261 
+261 262 
+262 263 
+263 264 
+264 265 
+265 266 
+266 267 
+267 268 
+268 269 
+269 270 
+270 271 
+271 272 
+272 273 
+273 274 
+274 275 
+275 276 
+276 277 
+277 278 
+278 279 
+279 280 
+280 281 
+281 282 
+282 283 
+283 284 
+284 285 
+285 286 
+286 287 
+287 288 
+288 289 
+289 290 
+290 291 
+291 292 
+292 293 
+293 294 
+294 295 
+295 296 
+296 297 
+297 298 
+298 299 
+299 300 
+300 301 
+301 302 
+302 303 
+303 304 
+304 305 
+305 306 
+306 307 
+307 308 
+308 309 
+309 310 
+310 311 
+311 312 
+312 313 
+313 314 
+314 315 
+315 316 
+316 317 
+317 318 
+318 319 
+319 320 
+320 321 
+321 322 
+322 323 
+323 324 
+324 325 
+325 326 
+326 327 
+327 328 
+328 329 
+329 330 
+330 331 
+331 332 
+332 333 
+333 334 
+334 335 
+335 336 
+336 337 
+337 338 
+338 339 
+339 340 
+340 341 
+341 342 
+342 343 
+343 344 
+344 345 
+345 346 
+346 347 
+347 348 
+348 349 
+349 350 
+350 351 
+351 352 
+352 353 
+353 354 
+354 355 
+355 356 
+356 357 
+357 358 
+358 359 
+359 360 
+360 361 
+361 362 
+362 363 
+363 364 
+364 365 
+365 366 
+366 367 
+367 368 
+368 369 
+369 370 
+370 371 
+371 372 
+372 373 
+373 374 
+374 375 
+375 376 
+376 377 
+377 378 
+378 379 
+379 380 
+380 381 
+381 382 
+382 383 
+383 384 
+384 385 
+385 386 
+386 387 
+387 388 
+388 389 
+389 390 
+390 391 
+391 392 
+392 393 
+393 394 
+394 395 
+395 396 
+396 397 
+397 398 
+398 399 
+#
+
+#
+
diff --git a/test/implicit/mpnc/grids/combustionOutflowGridLinNX400LogNx400.dgf b/test/implicit/mpnc/grids/combustionOutflowGridLinNX400LogNx400.dgf
new file mode 100644
index 0000000000..fcedaac001
--- /dev/null
+++ b/test/implicit/mpnc/grids/combustionOutflowGridLinNX400LogNx400.dgf
@@ -0,0 +1,1610 @@
+DGF
+
+VERTEX
+dimension 1
+0.000000
+0.000250
+0.000500
+0.000750
+0.001000
+0.001250
+0.001500
+0.001750
+0.002000
+0.002250
+0.002500
+0.002750
+0.003000
+0.003250
+0.003500
+0.003750
+0.004000
+0.004250
+0.004500
+0.004750
+0.005000
+0.005250
+0.005500
+0.005750
+0.006000
+0.006250
+0.006500
+0.006750
+0.007000
+0.007250
+0.007500
+0.007750
+0.008000
+0.008250
+0.008500
+0.008750
+0.009000
+0.009250
+0.009500
+0.009750
+0.010000
+0.010250
+0.010500
+0.010750
+0.011000
+0.011250
+0.011500
+0.011750
+0.012000
+0.012250
+0.012500
+0.012750
+0.013000
+0.013250
+0.013500
+0.013750
+0.014000
+0.014250
+0.014500
+0.014750
+0.015000
+0.015250
+0.015500
+0.015750
+0.016000
+0.016250
+0.016500
+0.016750
+0.017000
+0.017250
+0.017500
+0.017750
+0.018000
+0.018250
+0.018500
+0.018750
+0.019000
+0.019250
+0.019500
+0.019750
+0.020000
+0.020250
+0.020500
+0.020750
+0.021000
+0.021250
+0.021500
+0.021750
+0.022000
+0.022250
+0.022500
+0.022750
+0.023000
+0.023250
+0.023500
+0.023750
+0.024000
+0.024250
+0.024500
+0.024750
+0.025000
+0.025250
+0.025500
+0.025750
+0.026000
+0.026250
+0.026500
+0.026750
+0.027000
+0.027250
+0.027500
+0.027750
+0.028000
+0.028250
+0.028500
+0.028750
+0.029000
+0.029250
+0.029500
+0.029750
+0.030000
+0.030250
+0.030500
+0.030750
+0.031000
+0.031250
+0.031500
+0.031750
+0.032000
+0.032250
+0.032500
+0.032750
+0.033000
+0.033250
+0.033500
+0.033750
+0.034000
+0.034250
+0.034500
+0.034750
+0.035000
+0.035250
+0.035500
+0.035750
+0.036000
+0.036250
+0.036500
+0.036750
+0.037000
+0.037250
+0.037500
+0.037750
+0.038000
+0.038250
+0.038500
+0.038750
+0.039000
+0.039250
+0.039500
+0.039750
+0.040000
+0.040250
+0.040500
+0.040750
+0.041000
+0.041250
+0.041500
+0.041750
+0.042000
+0.042250
+0.042500
+0.042750
+0.043000
+0.043250
+0.043500
+0.043750
+0.044000
+0.044250
+0.044500
+0.044750
+0.045000
+0.045250
+0.045500
+0.045750
+0.046000
+0.046250
+0.046500
+0.046750
+0.047000
+0.047250
+0.047500
+0.047750
+0.048000
+0.048250
+0.048500
+0.048750
+0.049000
+0.049250
+0.049500
+0.049750
+0.050000
+0.050250
+0.050500
+0.050750
+0.051000
+0.051250
+0.051500
+0.051750
+0.052000
+0.052250
+0.052500
+0.052750
+0.053000
+0.053250
+0.053500
+0.053750
+0.054000
+0.054250
+0.054500
+0.054750
+0.055000
+0.055250
+0.055500
+0.055750
+0.056000
+0.056250
+0.056500
+0.056750
+0.057000
+0.057250
+0.057500
+0.057750
+0.058000
+0.058250
+0.058500
+0.058750
+0.059000
+0.059250
+0.059500
+0.059750
+0.060000
+0.060250
+0.060500
+0.060750
+0.061000
+0.061250
+0.061500
+0.061750
+0.062000
+0.062250
+0.062500
+0.062750
+0.063000
+0.063250
+0.063500
+0.063750
+0.064000
+0.064250
+0.064500
+0.064750
+0.065000
+0.065250
+0.065500
+0.065750
+0.066000
+0.066250
+0.066500
+0.066750
+0.067000
+0.067250
+0.067500
+0.067750
+0.068000
+0.068250
+0.068500
+0.068750
+0.069000
+0.069250
+0.069500
+0.069750
+0.070000
+0.070250
+0.070500
+0.070750
+0.071000
+0.071250
+0.071500
+0.071750
+0.072000
+0.072250
+0.072500
+0.072750
+0.073000
+0.073250
+0.073500
+0.073750
+0.074000
+0.074250
+0.074500
+0.074750
+0.075000
+0.075250
+0.075500
+0.075750
+0.076000
+0.076250
+0.076500
+0.076750
+0.077000
+0.077250
+0.077500
+0.077750
+0.078000
+0.078250
+0.078500
+0.078750
+0.079000
+0.079250
+0.079500
+0.079750
+0.080000
+0.080250
+0.080500
+0.080750
+0.081000
+0.081250
+0.081500
+0.081750
+0.082000
+0.082250
+0.082500
+0.082750
+0.083000
+0.083250
+0.083500
+0.083750
+0.084000
+0.084250
+0.084500
+0.084750
+0.085000
+0.085250
+0.085500
+0.085750
+0.086000
+0.086250
+0.086500
+0.086750
+0.087000
+0.087250
+0.087500
+0.087750
+0.088000
+0.088250
+0.088500
+0.088750
+0.089000
+0.089250
+0.089500
+0.089750
+0.090000
+0.090250
+0.090500
+0.090750
+0.091000
+0.091250
+0.091500
+0.091750
+0.092000
+0.092250
+0.092500
+0.092750
+0.093000
+0.093250
+0.093500
+0.093750
+0.094000
+0.094250
+0.094500
+0.094750
+0.095000
+0.095250
+0.095500
+0.095750
+0.096000
+0.096250
+0.096500
+0.096750
+0.097000
+0.097250
+0.097500
+0.097750
+0.098000
+0.098250
+0.098500
+0.098750
+0.099000
+0.099250
+0.099500
+0.099750
+0.100000
+0.101163
+0.102340
+0.103531
+0.104735
+0.105954
+0.107187
+0.108434
+0.109695
+0.110971
+0.112262
+0.113568
+0.114890
+0.116226
+0.117578
+0.118946
+0.120330
+0.121730
+0.123146
+0.124579
+0.126028
+0.127494
+0.128978
+0.130478
+0.131996
+0.133532
+0.135085
+0.136657
+0.138246
+0.139855
+0.141482
+0.143128
+0.144793
+0.146478
+0.148182
+0.149906
+0.151650
+0.153414
+0.155199
+0.157004
+0.158831
+0.160679
+0.162548
+0.164439
+0.166352
+0.168287
+0.170245
+0.172226
+0.174229
+0.176256
+0.178307
+0.180381
+0.182480
+0.184603
+0.186750
+0.188923
+0.191121
+0.193344
+0.195594
+0.197869
+0.200171
+0.202500
+0.204856
+0.207239
+0.209650
+0.212089
+0.214557
+0.217053
+0.219578
+0.222132
+0.224717
+0.227331
+0.229976
+0.232651
+0.235358
+0.238096
+0.240866
+0.243668
+0.246503
+0.249371
+0.252272
+0.255207
+0.258176
+0.261179
+0.264218
+0.267292
+0.270402
+0.273547
+0.276730
+0.279949
+0.283206
+0.286501
+0.289834
+0.293206
+0.296617
+0.300068
+0.303559
+0.307090
+0.310663
+0.314277
+0.317933
+0.321632
+0.325374
+0.329159
+0.332989
+0.336863
+0.340782
+0.344746
+0.348757
+0.352815
+0.356919
+0.361071
+0.365272
+0.369522
+0.373821
+0.378170
+0.382569
+0.387020
+0.391522
+0.396077
+0.400685
+0.405347
+0.410063
+0.414833
+0.419659
+0.424542
+0.429481
+0.434477
+0.439532
+0.444645
+0.449818
+0.455051
+0.460345
+0.465701
+0.471119
+0.476600
+0.482144
+0.487754
+0.493428
+0.499169
+0.504976
+0.510851
+0.516794
+0.522806
+0.528888
+0.535041
+0.541266
+0.547563
+0.553933
+0.560378
+0.566897
+0.573492
+0.580164
+0.586914
+0.593742
+0.600649
+0.607637
+0.614707
+0.621858
+0.629093
+0.636411
+0.643815
+0.651305
+0.658883
+0.666548
+0.674302
+0.682147
+0.690083
+0.698111
+0.706233
+0.714449
+0.722761
+0.731170
+0.739676
+0.748281
+0.756987
+0.765794
+0.774703
+0.783715
+0.792833
+0.802057
+0.811388
+0.820827
+0.830377
+0.840037
+0.849810
+0.859697
+0.869698
+0.879816
+0.890052
+0.900407
+0.910882
+0.921479
+0.932199
+0.943045
+0.954016
+0.965115
+0.976343
+0.987701
+0.999192
+1.010817
+1.022576
+1.034473
+1.046508
+1.058683
+1.070999
+1.083459
+1.096064
+1.108815
+1.121715
+1.134765
+1.147967
+1.161322
+1.174833
+1.188501
+1.202328
+1.216315
+1.230466
+1.244781
+1.259262
+1.273913
+1.288733
+1.303726
+1.318893
+1.334237
+1.349760
+1.365462
+1.381348
+1.397419
+1.413676
+1.430122
+1.446760
+1.463592
+1.480619
+1.497844
+1.515270
+1.532898
+1.550732
+1.568773
+1.587024
+1.605487
+1.624165
+1.643061
+1.662176
+1.681513
+1.701076
+1.720866
+1.740886
+1.761139
+1.781628
+1.802356
+1.823324
+1.844536
+1.865995
+1.887704
+1.909665
+1.931882
+1.954357
+1.977094
+2.000095
+2.023364
+2.046904
+2.070717
+2.094808
+2.119178
+2.143833
+2.168774
+2.194005
+2.219530
+2.245351
+2.271474
+2.297900
+2.324633
+2.351678
+2.379037
+2.406714
+2.434714
+2.463039
+2.491693
+2.520681
+2.550007
+2.579673
+2.609685
+2.640045
+2.670759
+2.701831
+2.733263
+2.765062
+2.797230
+2.829773
+2.862694
+2.895998
+2.929690
+2.963774
+2.998254
+3.033135
+3.068422
+3.104120
+3.140233
+3.176766
+3.213724
+3.251112
+3.288935
+3.327198
+3.365906
+3.405065
+3.444679
+3.484754
+3.525295
+3.566308
+3.607798
+3.649770
+3.692231
+3.735186
+3.778641
+3.822601
+3.867073
+3.912062
+3.957574
+4.003616
+4.050194
+4.097313
+4.144981
+4.193203
+4.241986
+4.291337
+4.341262
+4.391767
+4.442861
+4.494548
+4.546837
+4.599735
+4.653247
+4.707383
+4.762148
+4.817550
+4.873597
+4.930295
+4.987654
+5.045680
+5.104380
+5.163764
+5.223839
+5.284612
+5.346093
+5.408288
+5.471208
+5.534859
+5.599251
+5.664392
+5.730291
+5.796956
+5.864397
+5.932623
+6.001642
+6.071464
+6.142099
+6.213555
+6.285843
+6.358972
+6.432951
+6.507791
+6.583502
+6.660094
+6.737577
+6.815961
+6.895257
+6.975475
+7.056627
+7.138723
+7.221774
+7.305791
+7.390786
+7.476769
+7.563753
+7.651749
+7.740768
+7.830823
+7.921926
+8.014089
+8.107323
+8.201643
+8.297060
+8.393587
+8.491237
+8.590023
+8.689958
+8.791056
+8.893330
+8.996794
+9.101461
+9.207346
+9.314463
+9.422827
+9.532451
+9.643350
+9.755539
+9.869034
+9.983849
+10.100000
+#
+
+CUBE
+0 1 
+1 2 
+2 3 
+3 4 
+4 5 
+5 6 
+6 7 
+7 8 
+8 9 
+9 10 
+10 11 
+11 12 
+12 13 
+13 14 
+14 15 
+15 16 
+16 17 
+17 18 
+18 19 
+19 20 
+20 21 
+21 22 
+22 23 
+23 24 
+24 25 
+25 26 
+26 27 
+27 28 
+28 29 
+29 30 
+30 31 
+31 32 
+32 33 
+33 34 
+34 35 
+35 36 
+36 37 
+37 38 
+38 39 
+39 40 
+40 41 
+41 42 
+42 43 
+43 44 
+44 45 
+45 46 
+46 47 
+47 48 
+48 49 
+49 50 
+50 51 
+51 52 
+52 53 
+53 54 
+54 55 
+55 56 
+56 57 
+57 58 
+58 59 
+59 60 
+60 61 
+61 62 
+62 63 
+63 64 
+64 65 
+65 66 
+66 67 
+67 68 
+68 69 
+69 70 
+70 71 
+71 72 
+72 73 
+73 74 
+74 75 
+75 76 
+76 77 
+77 78 
+78 79 
+79 80 
+80 81 
+81 82 
+82 83 
+83 84 
+84 85 
+85 86 
+86 87 
+87 88 
+88 89 
+89 90 
+90 91 
+91 92 
+92 93 
+93 94 
+94 95 
+95 96 
+96 97 
+97 98 
+98 99 
+99 100 
+100 101 
+101 102 
+102 103 
+103 104 
+104 105 
+105 106 
+106 107 
+107 108 
+108 109 
+109 110 
+110 111 
+111 112 
+112 113 
+113 114 
+114 115 
+115 116 
+116 117 
+117 118 
+118 119 
+119 120 
+120 121 
+121 122 
+122 123 
+123 124 
+124 125 
+125 126 
+126 127 
+127 128 
+128 129 
+129 130 
+130 131 
+131 132 
+132 133 
+133 134 
+134 135 
+135 136 
+136 137 
+137 138 
+138 139 
+139 140 
+140 141 
+141 142 
+142 143 
+143 144 
+144 145 
+145 146 
+146 147 
+147 148 
+148 149 
+149 150 
+150 151 
+151 152 
+152 153 
+153 154 
+154 155 
+155 156 
+156 157 
+157 158 
+158 159 
+159 160 
+160 161 
+161 162 
+162 163 
+163 164 
+164 165 
+165 166 
+166 167 
+167 168 
+168 169 
+169 170 
+170 171 
+171 172 
+172 173 
+173 174 
+174 175 
+175 176 
+176 177 
+177 178 
+178 179 
+179 180 
+180 181 
+181 182 
+182 183 
+183 184 
+184 185 
+185 186 
+186 187 
+187 188 
+188 189 
+189 190 
+190 191 
+191 192 
+192 193 
+193 194 
+194 195 
+195 196 
+196 197 
+197 198 
+198 199 
+199 200 
+200 201 
+201 202 
+202 203 
+203 204 
+204 205 
+205 206 
+206 207 
+207 208 
+208 209 
+209 210 
+210 211 
+211 212 
+212 213 
+213 214 
+214 215 
+215 216 
+216 217 
+217 218 
+218 219 
+219 220 
+220 221 
+221 222 
+222 223 
+223 224 
+224 225 
+225 226 
+226 227 
+227 228 
+228 229 
+229 230 
+230 231 
+231 232 
+232 233 
+233 234 
+234 235 
+235 236 
+236 237 
+237 238 
+238 239 
+239 240 
+240 241 
+241 242 
+242 243 
+243 244 
+244 245 
+245 246 
+246 247 
+247 248 
+248 249 
+249 250 
+250 251 
+251 252 
+252 253 
+253 254 
+254 255 
+255 256 
+256 257 
+257 258 
+258 259 
+259 260 
+260 261 
+261 262 
+262 263 
+263 264 
+264 265 
+265 266 
+266 267 
+267 268 
+268 269 
+269 270 
+270 271 
+271 272 
+272 273 
+273 274 
+274 275 
+275 276 
+276 277 
+277 278 
+278 279 
+279 280 
+280 281 
+281 282 
+282 283 
+283 284 
+284 285 
+285 286 
+286 287 
+287 288 
+288 289 
+289 290 
+290 291 
+291 292 
+292 293 
+293 294 
+294 295 
+295 296 
+296 297 
+297 298 
+298 299 
+299 300 
+300 301 
+301 302 
+302 303 
+303 304 
+304 305 
+305 306 
+306 307 
+307 308 
+308 309 
+309 310 
+310 311 
+311 312 
+312 313 
+313 314 
+314 315 
+315 316 
+316 317 
+317 318 
+318 319 
+319 320 
+320 321 
+321 322 
+322 323 
+323 324 
+324 325 
+325 326 
+326 327 
+327 328 
+328 329 
+329 330 
+330 331 
+331 332 
+332 333 
+333 334 
+334 335 
+335 336 
+336 337 
+337 338 
+338 339 
+339 340 
+340 341 
+341 342 
+342 343 
+343 344 
+344 345 
+345 346 
+346 347 
+347 348 
+348 349 
+349 350 
+350 351 
+351 352 
+352 353 
+353 354 
+354 355 
+355 356 
+356 357 
+357 358 
+358 359 
+359 360 
+360 361 
+361 362 
+362 363 
+363 364 
+364 365 
+365 366 
+366 367 
+367 368 
+368 369 
+369 370 
+370 371 
+371 372 
+372 373 
+373 374 
+374 375 
+375 376 
+376 377 
+377 378 
+378 379 
+379 380 
+380 381 
+381 382 
+382 383 
+383 384 
+384 385 
+385 386 
+386 387 
+387 388 
+388 389 
+389 390 
+390 391 
+391 392 
+392 393 
+393 394 
+394 395 
+395 396 
+396 397 
+397 398 
+398 399 
+399 400 
+400 401 
+401 402 
+402 403 
+403 404 
+404 405 
+405 406 
+406 407 
+407 408 
+408 409 
+409 410 
+410 411 
+411 412 
+412 413 
+413 414 
+414 415 
+415 416 
+416 417 
+417 418 
+418 419 
+419 420 
+420 421 
+421 422 
+422 423 
+423 424 
+424 425 
+425 426 
+426 427 
+427 428 
+428 429 
+429 430 
+430 431 
+431 432 
+432 433 
+433 434 
+434 435 
+435 436 
+436 437 
+437 438 
+438 439 
+439 440 
+440 441 
+441 442 
+442 443 
+443 444 
+444 445 
+445 446 
+446 447 
+447 448 
+448 449 
+449 450 
+450 451 
+451 452 
+452 453 
+453 454 
+454 455 
+455 456 
+456 457 
+457 458 
+458 459 
+459 460 
+460 461 
+461 462 
+462 463 
+463 464 
+464 465 
+465 466 
+466 467 
+467 468 
+468 469 
+469 470 
+470 471 
+471 472 
+472 473 
+473 474 
+474 475 
+475 476 
+476 477 
+477 478 
+478 479 
+479 480 
+480 481 
+481 482 
+482 483 
+483 484 
+484 485 
+485 486 
+486 487 
+487 488 
+488 489 
+489 490 
+490 491 
+491 492 
+492 493 
+493 494 
+494 495 
+495 496 
+496 497 
+497 498 
+498 499 
+499 500 
+500 501 
+501 502 
+502 503 
+503 504 
+504 505 
+505 506 
+506 507 
+507 508 
+508 509 
+509 510 
+510 511 
+511 512 
+512 513 
+513 514 
+514 515 
+515 516 
+516 517 
+517 518 
+518 519 
+519 520 
+520 521 
+521 522 
+522 523 
+523 524 
+524 525 
+525 526 
+526 527 
+527 528 
+528 529 
+529 530 
+530 531 
+531 532 
+532 533 
+533 534 
+534 535 
+535 536 
+536 537 
+537 538 
+538 539 
+539 540 
+540 541 
+541 542 
+542 543 
+543 544 
+544 545 
+545 546 
+546 547 
+547 548 
+548 549 
+549 550 
+550 551 
+551 552 
+552 553 
+553 554 
+554 555 
+555 556 
+556 557 
+557 558 
+558 559 
+559 560 
+560 561 
+561 562 
+562 563 
+563 564 
+564 565 
+565 566 
+566 567 
+567 568 
+568 569 
+569 570 
+570 571 
+571 572 
+572 573 
+573 574 
+574 575 
+575 576 
+576 577 
+577 578 
+578 579 
+579 580 
+580 581 
+581 582 
+582 583 
+583 584 
+584 585 
+585 586 
+586 587 
+587 588 
+588 589 
+589 590 
+590 591 
+591 592 
+592 593 
+593 594 
+594 595 
+595 596 
+596 597 
+597 598 
+598 599 
+599 600 
+600 601 
+601 602 
+602 603 
+603 604 
+604 605 
+605 606 
+606 607 
+607 608 
+608 609 
+609 610 
+610 611 
+611 612 
+612 613 
+613 614 
+614 615 
+615 616 
+616 617 
+617 618 
+618 619 
+619 620 
+620 621 
+621 622 
+622 623 
+623 624 
+624 625 
+625 626 
+626 627 
+627 628 
+628 629 
+629 630 
+630 631 
+631 632 
+632 633 
+633 634 
+634 635 
+635 636 
+636 637 
+637 638 
+638 639 
+639 640 
+640 641 
+641 642 
+642 643 
+643 644 
+644 645 
+645 646 
+646 647 
+647 648 
+648 649 
+649 650 
+650 651 
+651 652 
+652 653 
+653 654 
+654 655 
+655 656 
+656 657 
+657 658 
+658 659 
+659 660 
+660 661 
+661 662 
+662 663 
+663 664 
+664 665 
+665 666 
+666 667 
+667 668 
+668 669 
+669 670 
+670 671 
+671 672 
+672 673 
+673 674 
+674 675 
+675 676 
+676 677 
+677 678 
+678 679 
+679 680 
+680 681 
+681 682 
+682 683 
+683 684 
+684 685 
+685 686 
+686 687 
+687 688 
+688 689 
+689 690 
+690 691 
+691 692 
+692 693 
+693 694 
+694 695 
+695 696 
+696 697 
+697 698 
+698 699 
+699 700 
+700 701 
+701 702 
+702 703 
+703 704 
+704 705 
+705 706 
+706 707 
+707 708 
+708 709 
+709 710 
+710 711 
+711 712 
+712 713 
+713 714 
+714 715 
+715 716 
+716 717 
+717 718 
+718 719 
+719 720 
+720 721 
+721 722 
+722 723 
+723 724 
+724 725 
+725 726 
+726 727 
+727 728 
+728 729 
+729 730 
+730 731 
+731 732 
+732 733 
+733 734 
+734 735 
+735 736 
+736 737 
+737 738 
+738 739 
+739 740 
+740 741 
+741 742 
+742 743 
+743 744 
+744 745 
+745 746 
+746 747 
+747 748 
+748 749 
+749 750 
+750 751 
+751 752 
+752 753 
+753 754 
+754 755 
+755 756 
+756 757 
+757 758 
+758 759 
+759 760 
+760 761 
+761 762 
+762 763 
+763 764 
+764 765 
+765 766 
+766 767 
+767 768 
+768 769 
+769 770 
+770 771 
+771 772 
+772 773 
+773 774 
+774 775 
+775 776 
+776 777 
+777 778 
+778 779 
+779 780 
+780 781 
+781 782 
+782 783 
+783 784 
+784 785 
+785 786 
+786 787 
+787 788 
+788 789 
+789 790 
+790 791 
+791 792 
+792 793 
+793 794 
+794 795 
+795 796 
+796 797 
+797 798 
+798 799 
+#
+
+#
+
diff --git a/test/implicit/mpnc/grids/combustionOutflowGridLinNX40LogNx40.dgf b/test/implicit/mpnc/grids/combustionOutflowGridLinNX40LogNx40.dgf
new file mode 100644
index 0000000000..6f9aa98544
--- /dev/null
+++ b/test/implicit/mpnc/grids/combustionOutflowGridLinNX40LogNx40.dgf
@@ -0,0 +1,170 @@
+DGF
+
+VERTEX
+dimension 1
+0.000000
+0.002500
+0.005000
+0.007500
+0.010000
+0.012500
+0.015000
+0.017500
+0.020000
+0.022500
+0.025000
+0.027500
+0.030000
+0.032500
+0.035000
+0.037500
+0.040000
+0.042500
+0.045000
+0.047500
+0.050000
+0.052500
+0.055000
+0.057500
+0.060000
+0.062500
+0.065000
+0.067500
+0.070000
+0.072500
+0.075000
+0.077500
+0.080000
+0.082500
+0.085000
+0.087500
+0.090000
+0.092500
+0.095000
+0.097500
+0.100000
+0.112562
+0.126703
+0.142619
+0.160536
+0.180703
+0.203403
+0.228955
+0.257717
+0.290092
+0.326534
+0.367554
+0.413727
+0.465701
+0.524204
+0.590055
+0.664180
+0.747616
+0.841533
+0.947249
+1.066245
+1.200190
+1.350961
+1.520672
+1.711703
+1.926732
+2.168774
+2.441221
+2.747894
+3.093092
+3.481655
+3.919029
+4.411349
+4.965514
+5.589296
+6.291438
+7.081786
+7.971419
+8.972811
+10.100000
+#
+
+CUBE
+0 1 
+1 2 
+2 3 
+3 4 
+4 5 
+5 6 
+6 7 
+7 8 
+8 9 
+9 10 
+10 11 
+11 12 
+12 13 
+13 14 
+14 15 
+15 16 
+16 17 
+17 18 
+18 19 
+19 20 
+20 21 
+21 22 
+22 23 
+23 24 
+24 25 
+25 26 
+26 27 
+27 28 
+28 29 
+29 30 
+30 31 
+31 32 
+32 33 
+33 34 
+34 35 
+35 36 
+36 37 
+37 38 
+38 39 
+39 40 
+40 41 
+41 42 
+42 43 
+43 44 
+44 45 
+45 46 
+46 47 
+47 48 
+48 49 
+49 50 
+50 51 
+51 52 
+52 53 
+53 54 
+54 55 
+55 56 
+56 57 
+57 58 
+58 59 
+59 60 
+60 61 
+61 62 
+62 63 
+63 64 
+64 65 
+65 66 
+66 67 
+67 68 
+68 69 
+69 70 
+70 71 
+71 72 
+72 73 
+73 74 
+74 75 
+75 76 
+76 77 
+77 78 
+78 79 
+#
+
+#
+
diff --git a/test/implicit/mpnc/test_boxmpncthermalnonequil.cc b/test/implicit/mpnc/test_boxmpncthermalnonequil.cc
new file mode 100644
index 0000000000..dedbc49e74
--- /dev/null
+++ b/test/implicit/mpnc/test_boxmpncthermalnonequil.cc
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ *   Copyright (C) 2009-2010 by Philipp Nuske                               *
+ *   Institute of Hydraulic Engineering                                      *
+ *   University of Stuttgart, Germany                                        *
+ *   email: <givenname>.<name>@iws.uni-stuttgart.de                          *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+#include "config.h"
+
+//#include "combustionproblem.hh"
+#include "combustionproblem1c.hh"
+
+
+#include <dumux/common/start.hh>
+
+/*!
+ * \brief Provides an interface for customizing error messages associated with
+ *        reading in parameters.
+ *
+ * \param progName  The name of the program, that was tried to be started.
+ * \param errorMsg  The error message that was issued by the start function.
+ *                  Comprises the thing that went wrong and a general help message.
+ */
+void usage(const char *progName, const std::string &errorMsg)
+{
+    if (errorMsg.size() > 0) {
+        std::string errorMessageOut = "\nUsage: ";
+        errorMessageOut += progName;
+        errorMessageOut += " [options]\n";
+        errorMessageOut += errorMsg;
+        errorMessageOut += "\n\nThe list of mandatory options for this program is:\n"
+                           "\t-TimeManager.TEnd              End of the simulation [s] \n"
+                           "\t-TimeManager.DtInitial         Initial timestep size [s] \n"
+                           "\t-Grid.File                     Name of the file containing the grid \n"
+                           "\t                               definition in DGF format\n"
+                           "\t-SpatialParams.LensLowerLeftX  x-coordinate of the lower left corner of the lens [m] \n"
+                           "\t-SpatialParams.LensLowerLeftY  y-coordinate of the lower left corner of the lens [m] \n"
+                           "\t-SpatialParams.LensUpperRightX x-coordinate of the upper right corner of the lens [m] \n"
+                           "\t-SpatialParams.LensUpperRightY y-coordinate of the upper right corner of the lens [m] \n"
+                           "\t-Problem.Name                  String for naming of the output files \n"
+                           "\n";
+
+        std::cout << errorMessageOut << std::endl;
+    }
+}
+
+int main(int argc, char** argv)
+{
+//    typedef TTAG(CombustionProblem) ProblemTypeTag;
+    typedef TTAG(CombustionProblemOneComponent) ProblemTypeTag;
+    return Dumux::start<ProblemTypeTag>(argc, argv, usage);
+}
diff --git a/test/implicit/mpnc/test_boxmpncthermalnonequil.input b/test/implicit/mpnc/test_boxmpncthermalnonequil.input
new file mode 100644
index 0000000000..6b2b2d5078
--- /dev/null
+++ b/test/implicit/mpnc/test_boxmpncthermalnonequil.input
@@ -0,0 +1,83 @@
+
+#############################################################
+#Configuration file for test_inputfile
+#############################################################
+                  
+                  
+#############################################################
+# Mandatory arguments											#
+#############################################################
+[TimeManager]
+DtInitial			= 5e-1	# [s]
+TEnd 			= 1e3 	# [s] 
+MaxTimeStepSize	= 2e20 	# maximum allowed timestep size
+#
+
+#############################################################
+[Grid]
+#############################################################
+#Name of the dgf file (grid)
+ File =   ./grids/combustionOutflowGridLinNX100LogNx100.dgf
+# File =   ./grids/combustionGrid.dgf
+
+lengthPM = 0.1
+
+#############################################################
+#Define initial conditions
+#############################################################
+[InitialConditions]
+pnInitial		= 1e5 # 6.8e6 # 1e5 # 101475 	# Pa
+TInitial		=  372 # 373.15 #
+TRight 		=  400 # 373.15 #
+                  
+[BoundaryConditions]
+TBoundary 			=300 # 
+SwBoundary 			= 1e-3 # 
+SwOneComponentSys 	= 1	 #
+
+massFluxInjectedPhase =   0.5 #
+# heatFluxFromRight 	=      2e6  	# fluid  temperature on boundary: analytical approx 1080 K
+heatFluxFromRight 	=      1.5e6 	# fluid  temperature on boundary: analytical approx 587.3 K
+coldTime = 1
+
+############################################################
+#Define spatial parameters
+############################################################
+[SpatialParams.PorousMedium]
+porosity			= 0.35 	#
+meanPoreSize		= 5e-4 	# characteristic length of the system
+factorEnergyTransfer	= 1		# 
+factorMassTransfer	= 1		# 
+
+[SpatialParams.OutFlow]
+permeabilityOutFlow			= 1e-6 	# m^2 
+porosityOutFlow				= 0.35 	#
+soilThermalConductivityOutFlow	= 0.01# 
+
+###############################
+#Define soil parameters
+###############################
+[SpatialParams.soil]
+density 					= 2600. 	# kg/m^3
+soilThermalConductivity 		= 30 	# W / (m K) soil:3, metal:30
+heatCapacity				= 466 	# J / (kg K) steel:466 granite:800
+   
+Swr =  0.0 #  5e-3
+Snr = 0 #  
+
+############################################################
+#Define constants: tabulation etc
+#############################################################
+[Constants]
+outputName =  combustion # 
+
+interfacialTension = 0.0589 # interfacial tension of water at 100 ° C
+
+nRestart		= 10000  	 	# after so many timesteps a restart file should be written      
+         
+#
+[Implicit]
+MassUpwindWeight=1
+MobilityUpwindWeight=1
+#
+
diff --git a/test/references/combustion-reference.vtp b/test/references/combustion-reference.vtp
new file mode 100644
index 0000000000..5b12d93b75
--- /dev/null
+++ b/test/references/combustion-reference.vtp
@@ -0,0 +1,614 @@
+<?xml version="1.0"?>
+<VTKFile type="PolyData" version="0.1" byte_order="LittleEndian">
+  <PolyData>
+    <Piece NumberOfLines="199" NumberOfPoints="200">
+      <PointData Scalars="S_w">
+        <DataArray type="Float32" Name="S_w" NumberOfComponents="1" format="ascii">
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 0.892001 0.782712 0.707405 0.645213 0.588605 0.53415 0.480437 0.427439 0.375605 0.324586 0.27241
+          0.214602 0.140417 0.0154366 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0.00175038 0.00175116 0.00175043 0.00174967 0.00174887 0.00174802 0.00174714 0.00174622 0.00174525
+          0.00174424 0.00174318 0.00174207 0.0017409 0.00173967 0.00173837 0.00173698 0.00173545 0.00173368 0.00173144 0.00172822 0.00172292
+          0.00171331 0.00169523 0.00166161 0.00160183 0.00150206 0.00134824 0.00114112 0.001
+        </DataArray>
+        <DataArray type="Float32" Name="S_n" NumberOfComponents="1" format="ascii">
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0.107999 0.217288 0.292595 0.354787 0.411395 0.46585 0.519563 0.572561 0.624395 0.675414 0.72759
+          0.785398 0.859583 0.984563 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 0.99825 0.998249 0.99825 0.99825 0.998251 0.998252 0.998253 0.998254 0.998255
+          0.998256 0.998257 0.998258 0.998259 0.99826 0.998262 0.998263 0.998265 0.998266 0.998269 0.998272 0.998277
+          0.998287 0.998305 0.998338 0.998398 0.998498 0.998652 0.998859 0.999
+        </DataArray>
+        <DataArray type="Float32" Name="p_w" NumberOfComponents="1" format="ascii">
+          100295 100284 100273 100262 100251 100240 100229 100218 100207 100196 100185 100174
+          100163 100152 100141 100130 100119 100108 100097 100086 100074 100063 100052 100041
+          100030 100019 100008 99997.2 99986.2 99975.1 99964.1 99953.1 99942 99931 99920 99908.9
+          99897.9 99886.8 99875.8 99864.8 99853.7 99842.7 99831.6 99820.6 99809.6 99798.5 99787.5 99776.5
+          99765.4 99754.4 99743.3 99732.3 99721.3 99710.2 99699.2 99688.2 99677.1 99666.1 99655 99644
+          99633 99621.9 99610.9 99599.9 99588.8 99577.8 99566.7 99555.7 99544.7 99533.6 99522.6 99511.5
+          99500.5 99489.5 99478.4 99467.4 99456.4 99445.3 99434.3 99423.2 99412.2 99401.2 99390.1 99379.1
+          99368 99357 99345.5 99333.4 99320.6 99307 99292.4 99276.2 99257.9 99236.1 99208.9 99172.5
+          99118.6 99022.5 98771.3 98710.7 98700.1 98700 98699.9 98699.8 98699.7 98699.6 98699.5 98699.3
+          98699.2 98699.1 98698.9 98698.8 98698.6 98698.4 98698.3 98698.1 98697.9 98697.7 98697.5 98697.3
+          98697 98696.8 98696.5 98696.3 98696 98695.7 98695.4 98695.1 98694.7 98694.4 98694 98693.6
+          98693.2 98692.8 98692.3 98691.9 98691.4 98690.9 98690.3 98689.8 98689.2 98688.6 98687.9 98687.2
+          98686.5 98685.8 98685 98684.2 98683.3 98682.4 98681.5 98680.5 98679.5 98678.4 98677.3 98676.1
+          98674.8 98673.5 98672.2 98670.8 98669.2 98667.7 98666 98664.3 98662.5 98660.6 98658.6 98656.6
+          98654.4 98652.1 98649.7 98651.7 98649.1 98646.4 98643.5 98640.5 98637.3 98634 98630.5 98626.9
+          98623.1 98619.1 98614.9 98610.5 98606 98601.1 98596.1 98590.8 98585.3 98579.5 98573.4 98567.1
+          98560.4 98553.4 98546 98538.1 98529.9 98521.1 98511.7 98502.1
+        </DataArray>
+        <DataArray type="Float32" Name="p_n" NumberOfComponents="1" format="ascii">
+          100295 100284 100273 100262 100251 100240 100229 100218 100207 100196 100185 100174
+          100163 100152 100141 100130 100119 100108 100097 100086 100074 100063 100052 100041
+          100030 100019 100008 99997.2 99986.2 99975.1 99964.1 99953.1 99942 99931 99920 99908.9
+          99897.9 99886.8 99875.8 99864.8 99853.7 99842.7 99831.6 99820.6 99809.6 99798.5 99787.5 99776.5
+          99765.4 99754.4 99743.3 99732.3 99721.3 99710.2 99699.2 99688.2 99677.1 99666.1 99655 99644
+          99633 99621.9 99610.9 99599.9 99588.8 99577.8 99566.7 99555.7 99544.7 99533.6 99522.6 99511.5
+          99500.5 99489.5 99478.4 99467.4 99456.4 99445.3 99434.3 99423.2 99412.2 99401.2 99390.1 99379.1
+          99368 99705 99937 100043 100104 100143 100170 100190 100205 100216 100225 100231
+          100236 100238 100233 100211 100201 100200 100200 100200 100200 100200 100200 100200
+          100200 100200 100199 100199 100199 100199 100199 100199 100198 100198 100198 100198
+          100197 100197 100197 100197 100196 100196 100196 100196 100195 100195 100194 100194
+          100194 100193 100193 100192 100192 100191 100191 100190 100190 100189 100188 100188
+          100187 100186 100185 100185 100184 100183 100182 100181 100180 100179 100178 100177
+          100175 100174 100173 100171 100170 100168 100166 100165 100163 100161 100159 100157
+          100155 100153 100150 100148 100145 100142 100139 100136 100133 100130 100126 100123
+          100119 100115 100111 100107 100102 100097 100092 100087 100081 100075 100069 100063
+          100056 100049 100042 100034 100026 100018 100009 100000
+        </DataArray>
+        <DataArray type="Float32" Name="rho_w" NumberOfComponents="1" format="ascii">
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044 1044
+          1044 1044 1044 1044 1044 1044 1044 1044
+        </DataArray>
+        <DataArray type="Float32" Name="rho_n" NumberOfComponents="1" format="ascii">
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+          1.679 1.679 1.679 1.679 1.679 1.679 1.679 1.679
+        </DataArray>
+        <DataArray type="Float32" Name="lambda_w" NumberOfComponents="1" format="ascii">
+          3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51
+          3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51
+          3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51
+          3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51
+          3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51
+          3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51
+          3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51 3555.51
+          3555.51 2523.47 1704.94 1258.65 955.017 725.06 541.865 394.285 277.667 188.406 121.588 71.8736
+          35.14 9.84381 0.0130784 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 1.90676e-05 1.90933e-05 1.90694e-05 1.90444e-05 1.90183e-05 1.89909e-05 1.89622e-05 1.89321e-05 1.89007e-05
+          1.88678e-05 1.88334e-05 1.87973e-05 1.87595e-05 1.87198e-05 1.86779e-05 1.8633e-05 1.85838e-05 1.85271e-05 1.84556e-05 1.83528e-05 1.81844e-05
+          1.78818e-05 1.73215e-05 1.63113e-05 1.46133e-05 1.20493e-05 8.71372e-06 5.2832e-06 3.55551e-06
+        </DataArray>
+        <DataArray type="Float32" Name="lambda_n" NumberOfComponents="1" format="ascii">
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 104.783 853.378 2083.72 3714.84 5791.79 8409.59 11666.8 15613.6 20249.6 25629.9 32040.3
+          40300.1 52832.3 81231.1 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3
+          83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3
+          83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3
+          83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3
+          83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3
+          83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3 83183.3
+          83183.3 83183.3 83183.3 83154 83154 83154 83154.1 83154.1 83154.1 83154.1 83154.2 83154.2
+          83154.2 83154.3 83154.3 83154.4 83154.4 83154.4 83154.5 83154.5 83154.6 83154.7 83154.8 83154.9
+          83155.3 83155.8 83156.9 83158.8 83161.7 83165.9 83170.8 83173.7
+        </DataArray>
+        <DataArray type="Float32" Name="porosity" NumberOfComponents="1" format="ascii">
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+          0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35
+        </DataArray>
+        <DataArray type="Float32" Name="boundary types" NumberOfComponents="1" format="ascii">
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 63
+        </DataArray>
+        <DataArray type="Float32" Name="x_w^H2O" NumberOfComponents="1" format="ascii">
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 0.127405 0.00960322 0.00960059 0.00960058 0.00960056 0.00960055 0.00960053 0.00960051 0.00960049
+          0.00960047 0.00960044 0.00960041 0.00960037 0.00960033 0.00960028 0.00960021 0.00960014 0.00960005 0.00959993 0.00959978 0.00959958
+          0.00959931 0.00959894 0.00959841 0.00959765 0.00959654 0.00959488 0.00959236 0.00958853 0.0095827 0.00957381 0.00956038 0.00954032
+          0.00951081 0.00946818 0.00940798 0.00932505 0.00921404 0.00907 0.0088895 0.00867173 0.00841972 0.00814121 0.00784898 0.00756044
+          0.00729686 0.0070823 0.00694312 0.00690835 0.0070116 0.00729492 0.00781524 0.00865486 0.00993784 0.011856 0.0147095 0.0189699
+          0.0253755 0.0350635 0.0497294 0.0717803 0.104344 0.150927 0.214668 0.297253 0.396929 0.507976 0.624433 0.736896
+          0.834142 0.915099 0.999951 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 0.406912
+        </DataArray>
+        <DataArray type="Float32" Name="x_w^N2" NumberOfComponents="1" format="ascii">
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0
+        </DataArray>
+        <DataArray type="Float32" Name="x_n^H2O" NumberOfComponents="1" format="ascii">
+          0.0352867 0.0352959 0.0353031 0.0353106 0.0353184 0.0353267 0.0353354 0.0353446 0.0353544 0.0353649 0.035376 0.0353879
+          0.0354007 0.0354144 0.0354292 0.0354451 0.0354623 0.0354809 0.0355011 0.0355231 0.0355469 0.035573 0.0356013 0.0356323
+          0.0356662 0.0357034 0.035744 0.0357887 0.0358377 0.0358915 0.0359508 0.036016 0.0360879 0.0361671 0.0362544 0.0363509
+          0.0364574 0.0365751 0.0367053 0.0368494 0.0370089 0.0371856 0.0373815 0.0375988 0.0378401 0.0381081 0.0384061 0.0387376
+          0.0391067 0.0395182 0.0399774 0.0404902 0.0410637 0.0417059 0.042426 0.0432346 0.0441442 0.0451692 0.0463266 0.0476364
+          0.0491221 0.0508118 0.0527388 0.0549435 0.0574745 0.0603906 0.0637643 0.0676845 0.0722614 0.0776329 0.0839721 0.091499
+          0.100495 0.111321 0.124448 0.140494 0.160276 0.184883 0.215785 0.254983 0.305221 0.370306 0.455564 0.568601
+          0.737149 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1 1 1 1 1
+          1 1 1 1 1 1 1 1
+        </DataArray>
+        <DataArray type="Float32" Name="x_n^N2" NumberOfComponents="1" format="ascii">
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0
+        </DataArray>
+        <DataArray type="Float32" Name="velocity_w" NumberOfComponents="1" format="ascii">
+          0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927
+          0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927
+          0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927
+          0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927
+          0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927
+          0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927
+          0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927 0.000478927
+          0.00048373 0.000510654 0.000535825 0.000539727 0.00054085 0.000541197 0.000541287 0.000541245 0.000540999 0.000540308 0.000538612 0.000534296
+          0.000520827 0.000455797 0.000200615 5.5683e-08 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 -9.77959e-08 -1.95378e-07 -1.95042e-07 -1.94792e-07 -1.9453e-07 -1.94256e-07 -1.9397e-07 -1.9367e-07 -1.93356e-07 -1.93027e-07
+          -1.92683e-07 -1.92323e-07 -1.91945e-07 -1.91549e-07 -1.91131e-07 -1.90688e-07 -1.90207e-07 -1.89666e-07 -1.8901e-07 -1.88119e-07 -1.86733e-07 -1.84326e-07
+          -1.79915e-07 -1.71887e-07 -1.58044e-07 -1.3626e-07 -1.06107e-07 -7.1528e-08 -4.51681e-08 -3.63401e-08
+        </DataArray>
+        <DataArray type="Float32" Name="velocity_n" NumberOfComponents="1" format="ascii">
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          -0.00298628 -0.0197277 -0.0353787 -0.0378055 -0.0385034 -0.0387194 -0.0387752 -0.0387489 -0.0385963 -0.0381666 -0.0371117 -0.0344282
+          -0.0260535 0.0143822 0.173054 0.297762 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796
+          0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796
+          0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796
+          0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796
+          0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796
+          0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796 0.297796
+          0.297796 0.297796 0.29813 0.298464 0.298465 0.298465 0.298465 0.298465 0.298465 0.298466 0.298466 0.298466
+          0.298467 0.298467 0.298467 0.298467 0.298468 0.298468 0.298469 0.298469 0.298469 0.29847 0.29847 0.298471
+          0.298471 0.298472 0.298472 0.298473 0.298473 0.298474 0.298475 0.298476
+        </DataArray>
+        <DataArray type="Float32" Name="T_fluid" NumberOfComponents="1" format="ascii">
+          300.012 300.015 300.016 300.018 300.02 300.022 300.024 300.027 300.03 300.033 300.036 300.04
+          300.044 300.049 300.054 300.06 300.066 300.074 300.081 300.09 300.1 300.11 300.122 300.135
+          300.149 300.165 300.182 300.202 300.223 300.247 300.273 300.302 300.334 300.37 300.409 300.453
+          300.501 300.554 300.613 300.678 300.75 300.829 300.917 301.015 301.123 301.242 301.374 301.52
+          301.681 301.86 302.057 302.276 302.518 302.785 303.081 303.408 303.77 304.17 304.613 305.103
+          305.645 306.245 306.908 307.642 308.454 309.351 310.345 311.443 312.659 314.003 315.491 317.136
+          318.956 320.969 323.197 325.66 328.386 331.401 334.736 338.425 342.507 347.021 352.016 357.544
+          364.28 372.673 372.738 372.768 372.785 372.796 372.804 372.809 372.813 372.816 372.819 372.821
+          372.822 372.822 372.821 442.862 587.288 587.308 587.308 587.308 587.308 587.308 587.308 587.308
+          587.309 587.309 587.309 587.309 587.309 587.31 587.31 587.31 587.311 587.312 587.313 587.314
+          587.316 587.319 587.323 587.328 587.337 587.349 587.368 587.398 587.443 587.511 587.615 587.771
+          588.001 588.335 588.81 589.471 590.366 591.548 593.062 594.939 597.185 599.763 602.587 605.502
+          608.284 610.64 612.214 612.613 611.433 608.302 602.916 595.08 584.741 572.002 557.128 540.53
+          522.729 504.314 485.896 468.048 451.269 435.966 422.4 410.683 400.872 392.913 386.524 381.567
+          377.95 375.298 372.799 372.797 372.796 372.796 372.795 372.794 372.793 372.792 372.791 372.79
+          372.789 372.788 372.787 372.786 372.784 372.783 372.782 372.78 372.779 372.777 372.775 372.774
+          372.772 372.77 372.768 372.766 372.763 372.761 372.758 400
+        </DataArray>
+        <DataArray type="Float32" Name="T_solid" NumberOfComponents="1" format="ascii">
+          300.013 300.015 300.016 300.018 300.02 300.022 300.024 300.027 300.03 300.033 300.036 300.04
+          300.045 300.049 300.055 300.06 300.067 300.074 300.082 300.091 300.1 300.111 300.123 300.136
+          300.15 300.166 300.184 300.203 300.225 300.248 300.275 300.304 300.336 300.372 300.412 300.455
+          300.504 300.557 300.616 300.682 300.754 300.834 300.923 301.021 301.129 301.249 301.382 301.529
+          301.691 301.871 302.069 302.289 302.532 302.801 303.099 303.428 303.792 304.195 304.64 305.133
+          305.678 306.281 306.948 307.686 308.503 309.406 310.405 311.51 312.733 314.085 315.581 317.236
+          319.067 321.092 323.332 325.81 328.551 331.584 334.939 338.649 342.755 347.296 352.319 357.876
+          364.016 369.69 371.037 371.655 372.07 372.422 372.757 373.09 373.436 373.83 374.344 375.148
+          376.706 380.767 398.046 463.759 602.401 587.309 587.308 587.308 587.308 587.308 587.308 587.309
+          587.309 587.309 587.309 587.309 587.309 587.31 587.31 587.31 587.311 587.312 587.313 587.314
+          587.316 587.319 587.323 587.328 587.337 587.349 587.369 587.398 587.444 587.513 587.617 587.774
+          588.005 588.34 588.816 589.479 590.377 591.561 593.078 594.959 597.207 599.788 602.612 605.527
+          608.307 610.659 612.226 612.616 611.425 608.282 602.882 595.033 584.682 571.933 557.051 540.448
+          522.645 504.231 485.817 467.975 451.204 435.909 422.352 410.643 400.84 392.888 386.505 381.553
+          377.941 375.292 372.799 372.797 372.796 372.796 372.795 372.794 372.793 372.792 372.791 372.79
+          372.789 372.788 372.787 372.786 372.784 372.783 372.782 372.78 372.779 372.777 372.775 372.774
+          372.772 372.77 372.768 372.766 372.763 372.761 372.758 400
+        </DataArray>
+        <DataArray type="Float32" Name="h_w" NumberOfComponents="1" format="ascii">
+          -308423 -308412 -308405 -308398 -308390 -308381 -308371 -308360 -308348 -308335 -308321 -308304
+          -308286 -308266 -308244 -308220 -308193 -308163 -308130 -308094 -308054 -308009 -307960 -307905
+          -307845 -307778 -307704 -307622 -307532 -307432 -307321 -307199 -307064 -306914 -306748 -306565
+          -306362 -306138 -305890 -305615 -305312 -304976 -304605 -304194 -303739 -303236 -302680 -302065
+          -301384 -300631 -299798 -298876 -297857 -296729 -295482 -294102 -292576 -290887 -289019 -286953
+          -284667 -282139 -279342 -276248 -272825 -269038 -264850 -260217 -255091 -249421 -243149 -236211
+          -228536 -220045 -210653 -200263 -188770 -176056 -161992 -146434 -129223 -110184 -89123.3 -65808.8
+          -37404.3 -2009.97 -1736.12 -1611.45 -1539.58 -1493.11 -1461.04 -1437.92 -1420.69 -1407.49 -1397.23 -1389.35
+          -1383.77 -1381.2 -1387.59 293976 903020 903105 903105 903105 903106 903106 903106 903106
+          903107 903107 903108 903109 903109 903111 903112 903114 903116 903119 903124 903130
+          903138 903149 903165 903189 903225 903278 903359 903483 903673 903962 904401 905058
+          906028 907436 909439 912224 916000 920984 927368 935285 944754 955628 967534 979827
+          991562 1.0015e+06 1.00813e+06 1.00981e+06 1.00484e+06 991636 968922 935879 892277 838557 775836 705842
+          630773 553118 475452 400184 329428 264894 207688 158276 116902 83339.1 56398.4 35494.6
+          20243.5 9060.1 -1479.12 -1487.85 -1490.94 -1494.17 -1497.56 -1501.11 -1504.83 -1508.73 -1512.81 -1517.09
+          -1521.57 -1526.27 -1531.19 -1536.34 -1541.74 -1547.4 -1553.33 -1559.55 -1566.06 -1572.88 -1580.02 -1587.51
+          -1595.36 -1603.58 -1612.19 -1621.22 -1630.67 -1640.58 -1650.96 113226
+        </DataArray>
+        <DataArray type="Float32" Name="h_n" NumberOfComponents="1" format="ascii">
+          2.1086e+06 2.10861e+06 2.10861e+06 2.10862e+06 2.10862e+06 2.10862e+06 2.10863e+06 2.10863e+06 2.10864e+06 2.10865e+06 2.10865e+06 2.10866e+06
+          2.10867e+06 2.10868e+06 2.10869e+06 2.1087e+06 2.10871e+06 2.10873e+06 2.10874e+06 2.10876e+06 2.10878e+06 2.1088e+06 2.10883e+06 2.10885e+06
+          2.10888e+06 2.10891e+06 2.10895e+06 2.10899e+06 2.10903e+06 2.10908e+06 2.10913e+06 2.10919e+06 2.10926e+06 2.10933e+06 2.10941e+06 2.1095e+06
+          2.10959e+06 2.1097e+06 2.10982e+06 2.10995e+06 2.1101e+06 2.11026e+06 2.11044e+06 2.11064e+06 2.11086e+06 2.1111e+06 2.11137e+06 2.11166e+06
+          2.11199e+06 2.11235e+06 2.11275e+06 2.1132e+06 2.11369e+06 2.11423e+06 2.11483e+06 2.11549e+06 2.11623e+06 2.11704e+06 2.11794e+06 2.11893e+06
+          2.12003e+06 2.12125e+06 2.1226e+06 2.12408e+06 2.12573e+06 2.12755e+06 2.12957e+06 2.1318e+06 2.13426e+06 2.13699e+06 2.14001e+06 2.14335e+06
+          2.14704e+06 2.15113e+06 2.15564e+06 2.16064e+06 2.16617e+06 2.17229e+06 2.17906e+06 2.18654e+06 2.19482e+06 2.20398e+06 2.21412e+06 2.22534e+06
+          2.239e+06 2.25603e+06 2.25616e+06 2.25622e+06 2.25626e+06 2.25628e+06 2.2563e+06 2.25631e+06 2.25632e+06 2.25632e+06 2.25633e+06 2.25633e+06
+          2.25633e+06 2.25634e+06 2.25633e+06 2.39845e+06 2.69149e+06 2.69153e+06 2.69153e+06 2.69153e+06 2.69153e+06 2.69153e+06 2.69153e+06 2.69153e+06
+          2.69153e+06 2.69153e+06 2.69153e+06 2.69153e+06 2.69153e+06 2.69153e+06 2.69153e+06 2.69153e+06 2.69153e+06 2.69153e+06 2.69154e+06 2.69154e+06
+          2.69154e+06 2.69155e+06 2.69156e+06 2.69157e+06 2.69158e+06 2.69161e+06 2.69165e+06 2.69171e+06 2.6918e+06 2.69194e+06 2.69215e+06 2.69247e+06
+          2.69293e+06 2.69361e+06 2.69457e+06 2.69591e+06 2.69773e+06 2.70013e+06 2.7032e+06 2.70701e+06 2.71157e+06 2.7168e+06 2.72253e+06 2.72844e+06
+          2.73409e+06 2.73887e+06 2.74206e+06 2.74287e+06 2.74048e+06 2.73412e+06 2.72319e+06 2.7073e+06 2.68632e+06 2.66047e+06 2.63029e+06 2.59661e+06
+          2.56049e+06 2.52313e+06 2.48576e+06 2.44955e+06 2.4155e+06 2.38445e+06 2.35693e+06 2.33315e+06 2.31325e+06 2.2971e+06 2.28414e+06 2.27408e+06
+          2.26674e+06 2.26136e+06 2.25629e+06 2.25628e+06 2.25628e+06 2.25628e+06 2.25628e+06 2.25628e+06 2.25628e+06 2.25627e+06 2.25627e+06 2.25627e+06
+          2.25627e+06 2.25627e+06 2.25626e+06 2.25626e+06 2.25626e+06 2.25626e+06 2.25625e+06 2.25625e+06 2.25625e+06 2.25624e+06 2.25624e+06 2.25624e+06
+          2.25623e+06 2.25623e+06 2.25622e+06 2.25622e+06 2.25622e+06 2.25621e+06 2.25621e+06 2.31148e+06
+        </DataArray>
+        <DataArray type="Float32" Name="reynoldsNumber_w" NumberOfComponents="1" format="ascii">
+          0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878
+          0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878
+          0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878
+          0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878
+          0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878
+          0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878
+          0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878 0.888878
+          0.897791 0.947762 0.994478 1.00172 1.0038 1.00445 1.00462 1.00454 1.00408 1.0028 0.99965 0.991641
+          0.966643 0.845949 0.372336 0.000103346 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0.000181507 0.000362617 0.000361993 0.000361529 0.000361043 0.000360535 0.000360003 0.000359446 0.000358863 0.000358253
+          0.000357615 0.000356946 0.000356245 0.00035551 0.000354735 0.000353912 0.00035302 0.000352016 0.000350799 0.000349145 0.000346573 0.000342104
+          0.000333918 0.000319018 0.000293326 0.000252895 0.000196933 0.000132754 8.3831e-05 6.74464e-05
+        </DataArray>
+        <DataArray type="Float32" Name="reynoldsNumber_n" NumberOfComponents="1" format="ascii">
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0 0 0 0 0 0 0 0 0 0 0 0
+          0.208539 1.37763 2.47058 2.64005 2.68879 2.70387 2.70776 2.70593 2.69527 2.66526 2.5916 2.4042
+          1.81938 1.00434 12.0848 20.7934 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958
+          20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958
+          20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958
+          20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958
+          20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958
+          20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958 20.7958
+          20.7958 20.7958 20.8191 20.8425 20.8425 20.8425 20.8425 20.8425 20.8426 20.8426 20.8426 20.8426
+          20.8426 20.8427 20.8427 20.8427 20.8427 20.8427 20.8428 20.8428 20.8428 20.8429 20.8429 20.8429
+          20.843 20.843 20.843 20.8431 20.8431 20.8431 20.8432 20.8433
+        </DataArray>
+        <DataArray type="Float32" Name="prandtlNumber_w" NumberOfComponents="1" format="ascii">
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+          1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419 1.74419
+        </DataArray>
+        <DataArray type="Float32" Name="prandtlNumber_n" NumberOfComponents="1" format="ascii">
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+          0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545 0.983545
+        </DataArray>
+        <DataArray type="Float32" Name="nusseltNumber_w" NumberOfComponents="1" format="ascii">
+          3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375
+          3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375
+          3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375
+          3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375
+          3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375
+          3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375
+          3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375 3.23375
+          3.24116 3.28216 3.31972 3.32548 3.32713 3.32764 3.32777 3.32771 3.32735 3.32633 3.32383 3.31746
+          3.29743 3.19765 2.73196 2.00538 2 2 2 2 2 2 2 2
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2 2 2.00754 2.01142 2.01141 2.0114 2.01139 2.01138 2.01137 2.01136 2.01135 2.01134
+          2.01132 2.01131 2.0113 2.01128 2.01127 2.01125 2.01124 2.01122 2.01119 2.01116 2.01111 2.01103
+          2.01087 2.01057 2.01005 2.0092 2.00792 2.00625 2.00474 2.00416
+        </DataArray>
+        <DataArray type="Float32" Name="nusseltNumber_n" NumberOfComponents="1" format="ascii">
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2 2 2 2 2 2 2 2 2 2 2 2
+          2.42707 3.32578 3.88222 3.95865 3.98027 3.98693 3.98864 3.98784 3.98313 3.96986 3.93701 3.85171
+          3.56655 3.09678 6.87904 8.75688 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735
+          8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735
+          8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735
+          8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735
+          8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735
+          8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735 8.75735
+          8.75735 8.75735 8.76189 8.76644 8.76645 8.76645 8.76645 8.76645 8.76646 8.76646 8.76646 8.76647
+          8.76647 8.76648 8.76648 8.76648 8.76649 8.76649 8.7665 8.7665 8.76651 8.76652 8.76652 8.76653
+          8.76653 8.76654 8.76655 8.76656 8.76656 8.76657 8.76659 8.7666
+        </DataArray>
+      </PointData>
+      <Points>
+        <DataArray type="Float32" Name="Coordinates" NumberOfComponents="3" format="ascii">
+          0 0 0 0.001 0 0 0.002 0 0 0.003 0 0
+          0.004 0 0 0.005 0 0 0.006 0 0 0.007 0 0
+          0.008 0 0 0.009 0 0 0.01 0 0 0.011 0 0
+          0.012 0 0 0.013 0 0 0.014 0 0 0.015 0 0
+          0.016 0 0 0.017 0 0 0.018 0 0 0.019 0 0
+          0.02 0 0 0.021 0 0 0.022 0 0 0.023 0 0
+          0.024 0 0 0.025 0 0 0.026 0 0 0.027 0 0
+          0.028 0 0 0.029 0 0 0.03 0 0 0.031 0 0
+          0.032 0 0 0.033 0 0 0.034 0 0 0.035 0 0
+          0.036 0 0 0.037 0 0 0.038 0 0 0.039 0 0
+          0.04 0 0 0.041 0 0 0.042 0 0 0.043 0 0
+          0.044 0 0 0.045 0 0 0.046 0 0 0.047 0 0
+          0.048 0 0 0.049 0 0 0.05 0 0 0.051 0 0
+          0.052 0 0 0.053 0 0 0.054 0 0 0.055 0 0
+          0.056 0 0 0.057 0 0 0.058 0 0 0.059 0 0
+          0.06 0 0 0.061 0 0 0.062 0 0 0.063 0 0
+          0.064 0 0 0.065 0 0 0.066 0 0 0.067 0 0
+          0.068 0 0 0.069 0 0 0.07 0 0 0.071 0 0
+          0.072 0 0 0.073 0 0 0.074 0 0 0.075 0 0
+          0.076 0 0 0.077 0 0 0.078 0 0 0.079 0 0
+          0.08 0 0 0.081 0 0 0.082 0 0 0.083 0 0
+          0.084 0 0 0.085 0 0 0.086 0 0 0.087 0 0
+          0.088 0 0 0.089 0 0 0.09 0 0 0.091 0 0
+          0.092 0 0 0.093 0 0 0.094 0 0 0.095 0 0
+          0.096 0 0 0.097 0 0 0.098 0 0 0.099 0 0
+          0.1 0 0 0.104772 0 0 0.109772 0 0 0.11501 0 0
+          0.120499 0 0 0.126249 0 0 0.132274 0 0 0.138586 0 0
+          0.1452 0 0 0.152129 0 0 0.159388 0 0 0.166995 0 0
+          0.174964 0 0 0.183313 0 0 0.192061 0 0 0.201226 0 0
+          0.210829 0 0 0.22089 0 0 0.231431 0 0 0.242475 0 0
+          0.254047 0 0 0.26617 0 0 0.278872 0 0 0.29218 0 0
+          0.306123 0 0 0.320732 0 0 0.336037 0 0 0.352073 0 0
+          0.368875 0 0 0.386478 0 0 0.404921 0 0 0.424244 0 0
+          0.444489 0 0 0.465701 0 0 0.487925 0 0 0.511209 0 0
+          0.535604 0 0 0.561164 0 0 0.587943 0 0 0.616001 0 0
+          0.645397 0 0 0.676196 0 0 0.708465 0 0 0.742273 0 0
+          0.777695 0 0 0.814808 0 0 0.853691 0 0 0.89443 0 0
+          0.937113 0 0 0.981834 0 0 1.02869 0 0 1.07778 0 0
+          1.12921 0 0 1.1831 0 0 1.23956 0 0 1.29871 0 0
+          1.36068 0 0 1.42562 0 0 1.49365 0 0 1.56493 0 0
+          1.63961 0 0 1.71785 0 0 1.79983 0 0 1.88572 0 0
+          1.97571 0 0 2.06999 0 0 2.16877 0 0 2.27227 0 0
+          2.38071 0 0 2.49431 0 0 2.61335 0 0 2.73806 0 0
+          2.86872 0 0 3.00562 0 0 3.14905 0 0 3.29933 0 0
+          3.45677 0 0 3.62174 0 0 3.79457 0 0 3.97565 0 0
+          4.16537 0 0 4.36415 0 0 4.57241 0 0 4.79061 0 0
+          5.01922 0 0 5.25874 0 0 5.5097 0 0 5.77262 0 0
+          6.0481 0 0 6.33672 0 0 6.63912 0 0 6.95594 0 0
+          7.28789 0 0 7.63567 0 0 8.00006 0 0 8.38183 0 0
+          8.78182 0 0 9.20089 0 0 9.63997 0 0 10.1 0 0
+        </DataArray>
+      </Points>
+      <Lines>
+        <DataArray type="Int32" Name="connectivity" NumberOfComponents="1" format="ascii">
+          0 1 1 2 2 3 3 4 4 5 5 6
+          6 7 7 8 8 9 9 10 10 11 11 12
+          12 13 13 14 14 15 15 16 16 17 17 18
+          18 19 19 20 20 21 21 22 22 23 23 24
+          24 25 25 26 26 27 27 28 28 29 29 30
+          30 31 31 32 32 33 33 34 34 35 35 36
+          36 37 37 38 38 39 39 40 40 41 41 42
+          42 43 43 44 44 45 45 46 46 47 47 48
+          48 49 49 50 50 51 51 52 52 53 53 54
+          54 55 55 56 56 57 57 58 58 59 59 60
+          60 61 61 62 62 63 63 64 64 65 65 66
+          66 67 67 68 68 69 69 70 70 71 71 72
+          72 73 73 74 74 75 75 76 76 77 77 78
+          78 79 79 80 80 81 81 82 82 83 83 84
+          84 85 85 86 86 87 87 88 88 89 89 90
+          90 91 91 92 92 93 93 94 94 95 95 96
+          96 97 97 98 98 99 99 100 100 101 101 102
+          102 103 103 104 104 105 105 106 106 107 107 108
+          108 109 109 110 110 111 111 112 112 113 113 114
+          114 115 115 116 116 117 117 118 118 119 119 120
+          120 121 121 122 122 123 123 124 124 125 125 126
+          126 127 127 128 128 129 129 130 130 131 131 132
+          132 133 133 134 134 135 135 136 136 137 137 138
+          138 139 139 140 140 141 141 142 142 143 143 144
+          144 145 145 146 146 147 147 148 148 149 149 150
+          150 151 151 152 152 153 153 154 154 155 155 156
+          156 157 157 158 158 159 159 160 160 161 161 162
+          162 163 163 164 164 165 165 166 166 167 167 168
+          168 169 169 170 170 171 171 172 172 173 173 174
+          174 175 175 176 176 177 177 178 178 179 179 180
+          180 181 181 182 182 183 183 184 184 185 185 186
+          186 187 187 188 188 189 189 190 190 191 191 192
+          192 193 193 194 194 195 195 196 196 197 197 198
+          198 199
+        </DataArray>
+        <DataArray type="Int32" Name="offsets" NumberOfComponents="1" format="ascii">
+          2 4 6 8 10 12 14 16 18 20 22 24
+          26 28 30 32 34 36 38 40 42 44 46 48
+          50 52 54 56 58 60 62 64 66 68 70 72
+          74 76 78 80 82 84 86 88 90 92 94 96
+          98 100 102 104 106 108 110 112 114 116 118 120
+          122 124 126 128 130 132 134 136 138 140 142 144
+          146 148 150 152 154 156 158 160 162 164 166 168
+          170 172 174 176 178 180 182 184 186 188 190 192
+          194 196 198 200 202 204 206 208 210 212 214 216
+          218 220 222 224 226 228 230 232 234 236 238 240
+          242 244 246 248 250 252 254 256 258 260 262 264
+          266 268 270 272 274 276 278 280 282 284 286 288
+          290 292 294 296 298 300 302 304 306 308 310 312
+          314 316 318 320 322 324 326 328 330 332 334 336
+          338 340 342 344 346 348 350 352 354 356 358 360
+          362 364 366 368 370 372 374 376 378 380 382 384
+          386 388 390 392 394 396 398
+        </DataArray>
+      </Lines>
+    </Piece>
+  </PolyData>
+</VTKFile>
-- 
GitLab