diff --git a/Documentation/ProjectFile/prj/processes/process/HYDRO_MECHANICS/t_fluid_compressibility.md b/Documentation/ProjectFile/prj/processes/process/HYDRO_MECHANICS/t_fluid_compressibility.md
new file mode 100644
index 0000000000000000000000000000000000000000..8601db2de063105e1db1e62195f613b6d2d84ca8
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/HYDRO_MECHANICS/t_fluid_compressibility.md
@@ -0,0 +1 @@
+\copydoc ProcessLib::HydroMechanics::HydroMechanicsProcessData::fluid_compressibility
diff --git a/Documentation/ProjectFile/prj/processes/process/HYDRO_MECHANICS/t_fluid_type.md b/Documentation/ProjectFile/prj/processes/process/HYDRO_MECHANICS/t_fluid_type.md
new file mode 100644
index 0000000000000000000000000000000000000000..24e00605c57ff94069d0c358451bf8fbcc33c746
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/HYDRO_MECHANICS/t_fluid_type.md
@@ -0,0 +1 @@
+\copydoc ProcessLib::HydroMechanics::HydroMechanicsProcessData::fluid_type
diff --git a/Documentation/ProjectFile/prj/processes/process/HYDRO_MECHANICS/t_specific_gas_constant.md b/Documentation/ProjectFile/prj/processes/process/HYDRO_MECHANICS/t_specific_gas_constant.md
new file mode 100644
index 0000000000000000000000000000000000000000..45897fcdfa745f6892921471b2149f5fa5513f12
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/HYDRO_MECHANICS/t_specific_gas_constant.md
@@ -0,0 +1 @@
+\copydoc ProcessLib::HydroMechanics::HydroMechanicsProcessData::specific_gas_constant
diff --git a/MaterialLib/CMakeLists.txt b/MaterialLib/CMakeLists.txt
index a173181bb77446b500c900e61f153852a5b56106..6eb3884711e3f306ee990f9a14ad5092a49c9acc 100644
--- a/MaterialLib/CMakeLists.txt
+++ b/MaterialLib/CMakeLists.txt
@@ -10,6 +10,7 @@ append_source_files(SOURCES Fluid/Density)
 append_source_files(SOURCES Fluid/Viscosity)
 append_source_files(SOURCES Fluid/GibbsFreeEnergy)
 append_source_files(SOURCES Fluid/FluidProperties)
+append_source_files(SOURCES Fluid/FluidType)
 append_source_files(SOURCES Fluid/SpecificHeatCapacity)
 append_source_files(SOURCES Fluid/ThermalConductivity)
 append_source_files(SOURCES Fluid/WaterVaporProperties)
diff --git a/MaterialLib/Fluid/FluidType/FluidType.cpp b/MaterialLib/Fluid/FluidType/FluidType.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2faf9aa782893dbc168a645c3e6cd87c9138cf40
--- /dev/null
+++ b/MaterialLib/Fluid/FluidType/FluidType.cpp
@@ -0,0 +1,54 @@
+/**
+ * \copyright
+ * Copyright (c) 2012-2019, OpenGeoSys Community (http://www.opengeosys.org)
+ *            Distributed under a Modified BSD License.
+ *              See accompanying file LICENSE.txt or
+ *              http://www.opengeosys.org/project/license
+ *
+ */
+
+#include "FluidType.h"
+#include "BaseLib/Error.h"
+#include <math.h>
+
+namespace FluidType
+{
+
+Fluid_Type strToFluidType(std::string const& s)
+{
+    if (s == "incompressible_fluid")
+        return Fluid_Type::INCOMPRESSIBLE_FLUID;
+    if (s == "compressible_fluid")
+        return Fluid_Type::COMPRESSIBLE_FLUID;
+    if (s == "ideal_gas")
+        return Fluid_Type::IDEAL_GAS;
+    OGS_FATAL("This fluid type is unavailable. The available types are \n"
+               "incompressible_fluid, compressible_fluid and ideal_gas.\n");
+}
+
+bool checkRequiredParams(Fluid_Type const& f_type,
+                         double const& /*fluid_compressibility*/ beta_p,
+                         double const& /*reference_temperature*/ T_ref,
+                         double const& /*specific_gas_constant*/ R_s)
+{
+    return !((f_type == Fluid_Type::COMPRESSIBLE_FLUID && isnan(beta_p)) ||
+             (f_type == Fluid_Type::IDEAL_GAS &&
+              (isnan(T_ref) || isnan(R_s))));
+}
+
+const char* getErrorMsg(Fluid_Type const& f_type)
+{
+    if (f_type == Fluid_Type::COMPRESSIBLE_FLUID)
+    {
+        return "The fluid type compressible_fluid requires the parameter\n"
+               "fluid_compressibility";
+    }
+    if (f_type == Fluid_Type::IDEAL_GAS)
+    {
+        return "The fluid type ideal_gas requires the parameters\n"
+               "reference_temperature and specific_gas_constant.";
+    }
+    return "The required parameters for this fluid type are missing.";
+}
+
+}  // namespace FluidType
diff --git a/MaterialLib/Fluid/FluidType/FluidType.h b/MaterialLib/Fluid/FluidType/FluidType.h
new file mode 100644
index 0000000000000000000000000000000000000000..0a57efe54b12dbbc9170d1375a0dbbb2f771b36b
--- /dev/null
+++ b/MaterialLib/Fluid/FluidType/FluidType.h
@@ -0,0 +1,33 @@
+/**
+ * \copyright
+ * Copyright (c) 2012-2019, OpenGeoSys Community (http://www.opengeosys.org)
+ *            Distributed under a Modified BSD License.
+ *              See accompanying file LICENSE.txt or
+ *              http://www.opengeosys.org/project/license
+ *
+ */
+
+#pragma once
+
+#include <string>
+
+namespace FluidType
+{
+
+enum class Fluid_Type
+{
+    INCOMPRESSIBLE_FLUID,
+    COMPRESSIBLE_FLUID,
+    IDEAL_GAS
+};
+
+Fluid_Type strToFluidType(std::string const& s);
+
+bool checkRequiredParams(Fluid_Type const& f_type,
+                         double const& /*fluid_compressibility*/ beta_p,
+                         double const& /*reference_temperature*/ T_ref,
+                         double const& /*specific_gas_constant*/ R_s);
+
+const char* getErrorMsg(Fluid_Type const& f_type);
+
+}  // namespace FluidTypeLib
diff --git a/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp b/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
index 80b00d24701b6bcc5e3765ef2b0a6216da0e8ab7..1360af647cf5efae1a7c1b3ad9211472ce099c8e 100644
--- a/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
+++ b/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
@@ -117,15 +117,6 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
     DBUG("Use '%s' as intrinsic conductivity parameter.",
          intrinsic_permeability.name.c_str());
 
-    // Storage coefficient
-    auto& specific_storage = ParameterLib::findParameter<double>(
-        config,
-        //! \ogs_file_param_special{prj__processes__process__HYDRO_MECHANICS__specific_storage}
-        "specific_storage", parameters, 1, &mesh);
-
-    DBUG("Use '%s' as storage coefficient parameter.",
-         specific_storage.name.c_str());
-
     // Fluid viscosity
     auto& fluid_viscosity = ParameterLib::findParameter<double>(
         config,
@@ -183,18 +174,47 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
     }
 
     // Reference temperature
-    const auto& reference_temperature =
+    double const reference_temperature =
         //! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS__reference_temperature}
         config.getConfigParameter<double>(
             "reference_temperature", std::numeric_limits<double>::quiet_NaN());
+    DBUG("Use 'reference_temperature' as reference temperature.");
+
+    //Specific gas constant
+    double const specific_gas_constant =
+        //! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS__specific_gas_constant}
+        config.getConfigParameter<double>(
+            "specific_gas_constant", std::numeric_limits<double>::quiet_NaN());
+    DBUG("Use 'specific_gas_constant' as specific gas constant.");
+
+    // Fluid compressibility
+    double const fluid_compressibility =
+        //! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS__fluid_compressibility}
+        config.getConfigParameter<double>(
+            "fluid_compressibility", std::numeric_limits<double>::quiet_NaN());
+    DBUG("Use 'fluid_compressibility' as fluid compressibility parameter.");
+
+    auto const fluid_type =
+        //! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS__fluid_type}
+        FluidType::strToFluidType(
+            config.getConfigParameter<std::string>("fluid_type"));
+    DBUG("Use 'fluid_type' as fluid type parameter.");
+
+    if (!FluidType::checkRequiredParams(fluid_type, fluid_compressibility,
+                                        reference_temperature,
+                                        specific_gas_constant))
+    {
+        OGS_FATAL(FluidType::getErrorMsg(fluid_type));
+    }
 
     HydroMechanicsProcessData<DisplacementDim> process_data{
         materialIDs(mesh),      std::move(solid_constitutive_relations),
-        intrinsic_permeability, specific_storage,
-        fluid_viscosity,        fluid_density,
-        biot_coefficient,       porosity,
-        solid_density,          specific_body_force,
-        reference_temperature};
+        intrinsic_permeability, fluid_viscosity,
+        fluid_density,          biot_coefficient,
+        porosity,               solid_density,
+        specific_body_force,    fluid_compressibility,
+        reference_temperature,  specific_gas_constant,
+        fluid_type};
 
     SecondaryVariableCollection secondary_variables;
 
diff --git a/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h b/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
index 457acd7770bf972740ceec22623ac509f552f9d4..0e0873995f7df96858e038e7e5989f842636d277 100644
--- a/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
+++ b/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
@@ -152,6 +152,10 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
         ShapeMatricesTypePressure::NodalMatrixType::Zero(pressure_size,
                                                          pressure_size);
 
+    typename ShapeMatricesTypePressure::NodalMatrixType add_p_derivative =
+        ShapeMatricesTypePressure::NodalMatrixType::Zero(pressure_size,
+                                                         pressure_size);
+
     typename ShapeMatricesTypeDisplacement::template MatrixType<
         displacement_size, pressure_size>
         Kup = ShapeMatricesTypeDisplacement::template MatrixType<
@@ -164,7 +168,12 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
             pressure_size, displacement_size>::Zero(pressure_size,
                                                     displacement_size);
 
+    MaterialLib::Solids::MechanicsBase<DisplacementDim> const& solid_material =
+        *_process_data.solid_materials[0];
+
     double const& dt = _process_data.dt;
+    double const T_ref = _process_data.reference_temperature;
+    auto const& b = _process_data.specific_body_force;
 
     ParameterLib::SpatialPosition x_position;
     x_position.setElementID(_element.getID());
@@ -197,15 +206,20 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
         auto& eps = _ip_data[ip].eps;
         auto const& sigma_eff = _ip_data[ip].sigma_eff;
 
-        double const S = _process_data.specific_storage(t, x_position)[0];
         double const K_over_mu =
             _process_data.intrinsic_permeability(t, x_position)[0] /
             _process_data.fluid_viscosity(t, x_position)[0];
         auto const alpha = _process_data.biot_coefficient(t, x_position)[0];
+        auto const K_S = solid_material.getBulkModulus(t, x_position);
         auto const rho_sr = _process_data.solid_density(t, x_position)[0];
-        auto const rho_fr = _process_data.fluid_density(t, x_position)[0];
+        // TODO (FZill) get fluid properties from GPML
+        double const p_fr =
+            (_process_data.fluid_type == FluidType::Fluid_Type::IDEAL_GAS)
+                ? N_p.dot(p)
+                : std::numeric_limits<double>::quiet_NaN();
+        double const rho_fr = _process_data.getFluidDensity(t, x_position, p_fr);
+        double const beta_p = _process_data.getFluidCompressibility(p_fr);
         auto const porosity = _process_data.porosity(t, x_position)[0];
-        auto const& b = _process_data.specific_body_force;
         auto const& identity2 = MathLib::KelvinVector::Invariants<
             MathLib::KelvinVector::KelvinVectorDimensions<
                 DisplacementDim>::value>::identity2;
@@ -215,8 +229,8 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
         //
         eps.noalias() = B * u;
 
-        auto C = _ip_data[ip].updateConstitutiveRelation(
-            t, x_position, dt, u, _process_data.reference_temperature);
+        auto C =
+            _ip_data[ip].updateConstitutiveRelation(t, x_position, dt, u, T_ref);
 
         local_Jac
             .template block<displacement_size, displacement_size>(
@@ -239,7 +253,12 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
         laplace_p.noalias() +=
             rho_fr * dNdx_p.transpose() * K_over_mu * dNdx_p * w;
 
-        storage_p.noalias() += rho_fr * N_p.transpose() * S * N_p * w;
+        storage_p.noalias() +=
+            rho_fr * N_p.transpose() * N_p * w *
+            ((alpha - porosity) * (1.0 - alpha) / K_S + porosity * beta_p);
+
+        add_p_derivative.noalias() += rho_fr * beta_p * dNdx_p.transpose() *
+            K_over_mu * (dNdx_p * p - 2.0 * rho_fr * b) * N_p * w;
 
         local_rhs.template segment<pressure_size>(pressure_index).noalias() +=
             dNdx_p.transpose() * rho_fr * rho_fr * K_over_mu * b * w;
@@ -247,7 +266,8 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
         //
         // pressure equation, displacement part.
         //
-        Kpu.noalias() += rho_fr * alpha * N_p.transpose() * identity2.transpose() * B * w;
+        Kpu.noalias() +=
+            rho_fr * alpha * N_p.transpose() * identity2.transpose() * B * w;
     }
     // displacement equation, pressure part
     local_Jac
@@ -259,7 +279,7 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
     local_Jac
         .template block<pressure_size, pressure_size>(pressure_index,
                                                       pressure_index)
-        .noalias() = laplace_p + storage_p / dt;
+        .noalias() = laplace_p + storage_p / dt + add_p_derivative;
 
     // pressure equation, displacement part.
     local_Jac
@@ -373,6 +393,9 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
         ShapeMatricesTypePressure::NodalMatrixType::Zero(pressure_size,
                                                          pressure_size);
 
+    MaterialLib::Solids::MechanicsBase<DisplacementDim> const& solid_material =
+        *_process_data.solid_materials[0];
+
     double const& dt = _process_data.dt;
 
     ParameterLib::SpatialPosition x_position;
@@ -390,16 +413,25 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
         auto const& N_p = _ip_data[ip].N_p;
         auto const& dNdx_p = _ip_data[ip].dNdx_p;
 
-        double const S = _process_data.specific_storage(t, x_position)[0];
         double const K_over_mu =
             _process_data.intrinsic_permeability(t, x_position)[0] /
             _process_data.fluid_viscosity(t, x_position)[0];
         auto const alpha_b = _process_data.biot_coefficient(t, x_position)[0];
-        auto const rho_fr = _process_data.fluid_density(t, x_position)[0];
+        // TODO (FZill) get fluid properties from GPML
+        double const p_fr =
+            (_process_data.fluid_type == FluidType::Fluid_Type::IDEAL_GAS)
+                ? N_p.dot(p)
+                : std::numeric_limits<double>::quiet_NaN();
+        double const rho_fr = _process_data.getFluidDensity(t, x_position, p_fr);
+        double const beta_p = _process_data.getFluidCompressibility(p_fr);
+        auto const porosity = _process_data.porosity(t, x_position)[0];
+        auto const K_S = solid_material.getBulkModulus(t, x_position);
 
         laplace.noalias() += dNdx_p.transpose() * K_over_mu * dNdx_p * w;
 
-        mass.noalias() += N_p.transpose() * S * N_p * w;
+        mass.noalias() +=
+            N_p.transpose() * N_p * w *
+            ((alpha_b - porosity) * (1.0 - alpha_b) / K_S + porosity * beta_p);
 
         auto const& b = _process_data.specific_body_force;
         local_rhs.noalias() += dNdx_p.transpose() * rho_fr * K_over_mu * b * w;
diff --git a/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h b/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h
index 7299cb661e630c0cd775adeed89007fca84c241c..9bb3ff3ff0c26552ac936a3ddc8a07e393ec1501 100644
--- a/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h
+++ b/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h
@@ -10,6 +10,7 @@
 #pragma once
 
 #include "ParameterLib/Parameter.h"
+#include "MaterialLib/Fluid/FluidType/FluidType.h"
 
 #include <memory>
 #include <utility>
@@ -42,9 +43,6 @@ struct HydroMechanicsProcessData
     /// Permeability of the solid. A scalar quantity,
     /// ParameterLib::Parameter<double>.
     ParameterLib::Parameter<double> const& intrinsic_permeability;
-    /// Volumetric average specific storage of the solid and fluid phases.
-    /// A scalar quantity, ParameterLib::Parameter<double>.
-    ParameterLib::Parameter<double> const& specific_storage;
     /// Fluid's viscosity. A scalar quantity, ParameterLib::Parameter<double>.
     ParameterLib::Parameter<double> const& fluid_viscosity;
     /// Fluid's density. A scalar quantity, ParameterLib::Parameter<double>.
@@ -60,9 +58,61 @@ struct HydroMechanicsProcessData
     /// It is usually used to apply gravitational forces.
     /// A vector of displacement dimension's length.
     Eigen::Matrix<double, DisplacementDim, 1> const specific_body_force;
+
+    /// Fluid's compressibility. A scalar quantity.
+    /// Only used for compressible_fluid fluid_type
+    double const fluid_compressibility =
+        std::numeric_limits<double>::quiet_NaN();
+
+    /// Reference Temperature. A scalar quantity.
+    /// Only used for ideal_gas fluid_type
     double const reference_temperature =
         std::numeric_limits<double>::quiet_NaN();
 
+    /// Specific gas constant. A scalar quantity.
+    /// Only used for ideal_gas fluid_type
+    double const specific_gas_constant =
+        std::numeric_limits<double>::quiet_NaN();
+
+    /// Fluid type. Enumerator with possible values:
+    /// incompressible_fluid, compressible_fluid, ideal_gas
+    FluidType::Fluid_Type const fluid_type;
+
+    /// will be removed after linking with MPL
+    double getFluidDensity(
+        double const& t, ParameterLib::SpatialPosition const& x_position,
+        double const& p_fr)
+    {
+        if (fluid_type == FluidType::Fluid_Type::INCOMPRESSIBLE_FLUID ||
+            fluid_type == FluidType::Fluid_Type::COMPRESSIBLE_FLUID)
+        {
+            return fluid_density(t, x_position)[0];
+        }
+        if (fluid_type == FluidType::Fluid_Type::IDEAL_GAS)
+        {
+            return p_fr / (specific_gas_constant * reference_temperature);
+        }
+        OGS_FATAL("unknown fluid type %d", static_cast<int> (fluid_type));
+    }
+
+    /// will be removed after linking with MPL
+    double getFluidCompressibility(double const& p_fr)
+    {
+        if (fluid_type == FluidType::Fluid_Type::INCOMPRESSIBLE_FLUID)
+        {
+            return 0.0;
+        }
+        if (fluid_type == FluidType::Fluid_Type::COMPRESSIBLE_FLUID)
+        {
+            return fluid_compressibility;
+        }
+        if (fluid_type == FluidType::Fluid_Type::IDEAL_GAS)
+        {
+            return 1.0 / p_fr;
+        }
+        OGS_FATAL("unknown fluid type %d", static_cast<int> (fluid_type));
+    }
+
     MeshLib::PropertyVector<double>* pressure_interpolated = nullptr;
     double dt = std::numeric_limits<double>::quiet_NaN();
     double t = std::numeric_limits<double>::quiet_NaN();
diff --git a/ProcessLib/HydroMechanics/Tests.cmake b/ProcessLib/HydroMechanics/Tests.cmake
index 605593d8baf616953343d9fc7e8ef956c4fa392d..ff722561aa5e3cea067aaa6d28ce091c54031c47 100644
--- a/ProcessLib/HydroMechanics/Tests.cmake
+++ b/ProcessLib/HydroMechanics/Tests.cmake
@@ -381,6 +381,52 @@ AddTest(
     flow_gravity_pcs_0_ts_16_t_40000000.000000.vtu flow_gravity_pcs_0_ts_16_t_40000000.000000.vtu velocity velocity 1e-10 0
 )
 
+## Tests for Ideal gas
+# flow_no_strain
+AddTest(
+    NAME HydroMechanics_IdealGas_flow_no_strain
+    PATH HydroMechanics/IdealGas/flow_no_strain
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS flow_no_strain.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    RUNTIME 40
+    DIFF_DATA
+    # tolerance could be lowered with smaller time steps, gut would increase runtime
+    # TODO (FZill) another solver might provide better results, same goes for "flow_free_expansion"
+    flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu pressure pressure 0 1e-6
+    flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu displacement displacement 1e-12 0
+)
+
+# flow_free_expansion
+AddTest(
+    NAME HydroMechanics_IdealGas_flow_free_expansion
+    PATH HydroMechanics/IdealGas/flow_free_expansion
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS flow_free_expansion.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    DIFF_DATA
+    flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu pressure pressure 0 5e-7
+    flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu displacement displacement 1e-11 0
+)
+
+# flow_pressure_boundary
+AddTest(
+    NAME HydroMechanics_IdealGas_flow_pressure_boundary
+    PATH HydroMechanics/IdealGas/flow_pressure_boundary
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS flow_pressure_boundary.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    DIFF_DATA
+    flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu pressure pressure 0 1e-14
+    flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu displacement displacement 1e-12 0
+)
+
 ## Test as the reference of InjectionProduction1D
 AddTest(
     NAME MonolithicInjectionProduction1D
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/HM_flow_free_expansion.pdf b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/HM_flow_free_expansion.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..2cc0171f006b11e8b78a49c5a86740957e0d4301
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/HM_flow_free_expansion.pdf
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8580732c1f4d4a7bf3f0b24714586e3edeabf69b0d067db6f475dd4322ca1e91
+size 199414
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.gml b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.gml
new file mode 100644
index 0000000000000000000000000000000000000000..6d2a15ae6a3344540e7b72dad80a6eec61ea8a04
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.gml
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0667cde27e048e31038ffe86c4414f47b59586d2a609428817c43348be653f61
+size 3024
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..c37a1d6c87aa11c3d41bf20ac2a29e2980c83902
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c09849cd0e92cc5d05c532fd600fd279a8e6e2230293c8765bb424d730bc1f15
+size 1512
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1_quad.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1_quad.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..aefbe4df93f859663acf96b3499ee69ca0764b05
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1_quad.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3217e271870b34d26a275dbcd4cd964cafcf0ef2ba046febb9110014ed2ac4a0
+size 2024
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/flow_free_expansion.prj b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/flow_free_expansion.prj
new file mode 100644
index 0000000000000000000000000000000000000000..695dbb47c0e932ca91f053f824c5329845b62855
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/flow_free_expansion.prj
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>cube_1x1x1_quad.vtu</mesh>
+    <geometry>cube_1x1x1.gml</geometry>
+    <processes>
+        <process>
+            <name>HM</name>
+            <type>HYDRO_MECHANICS</type>
+            <integration_order>3</integration_order>
+            <dimension>3</dimension>
+            <constitutive_relation>
+                <type>LinearElasticIsotropic</type>
+                <youngs_modulus>E</youngs_modulus>
+                <poissons_ratio>nu</poissons_ratio>
+            </constitutive_relation>
+            <intrinsic_permeability>k</intrinsic_permeability>
+            <fluid_viscosity>mu</fluid_viscosity>
+            <fluid_density>rho_fr</fluid_density>
+            <biot_coefficient>alpha</biot_coefficient>
+            <porosity>phi</porosity>
+            <solid_density>rho_sr</solid_density>
+            <process_variables>
+                <displacement>displacement</displacement>
+                <pressure>pressure</pressure>
+            </process_variables>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="sigma_xx" output_name="sigma_xx"/>
+                <secondary_variable type="static" internal_name="sigma_yy" output_name="sigma_yy"/>
+                <secondary_variable type="static" internal_name="sigma_zz" output_name="sigma_zz"/>
+                <secondary_variable type="static" internal_name="sigma_xy" output_name="sigma_xy"/>
+                <secondary_variable type="static" internal_name="epsilon_xx" output_name="epsilon_xx"/>
+                <secondary_variable type="static" internal_name="epsilon_yy" output_name="epsilon_yy"/>
+                <secondary_variable type="static" internal_name="epsilon_zz" output_name="epsilon_zz"/>
+                <secondary_variable type="static" internal_name="epsilon_xy" output_name="epsilon_xy"/>
+                <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
+            </secondary_variables>
+            <specific_body_force>0 0 0</specific_body_force>
+            <fluid_type>ideal_gas</fluid_type>
+            <reference_temperature>293.15</reference_temperature>
+            <specific_gas_constant>287.058</specific_gas_constant>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="HM">
+                <nonlinear_solver>basic_newton</nonlinear_solver>
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <reltol>1e-8</reltol>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>10000</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1000</repeat>
+                            <delta_t>10</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>flow_free_expansion</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>1000</each_steps>
+                </pair>
+            </timesteps>
+            <variables>
+                <variable>displacement</variable>
+                <variable>pressure</variable>
+                <variable>sigma_xx</variable>
+                <variable>sigma_yy</variable>
+                <variable>sigma_zz</variable>
+                <variable>sigma_xy</variable>
+                <variable>epsilon_xx</variable>
+                <variable>epsilon_yy</variable>
+                <variable>epsilon_zz</variable>
+                <variable>epsilon_xy</variable>
+                <variable>velocity</variable>
+            </variables>
+        </output>
+    </time_loop>
+    <parameters>
+        <!-- Mechanics -->
+        <parameter>
+            <name>E</name>
+            <type>Constant</type>
+            <value>10e9</value>
+        </parameter>
+        <parameter>
+            <name>nu</name>
+            <type>Constant</type>
+            <value>.3</value>
+        </parameter>
+        <!-- Model parameters -->
+        <parameter>
+            <name>k</name>
+            <type>Constant</type>
+            <value>1e-5</value>
+        </parameter>
+        <parameter>
+            <name>mu</name>
+            <type>Constant</type>
+            <value>1e-5</value>
+        </parameter>
+        <parameter>
+            <name>alpha</name>
+            <type>Constant</type>
+            <value>0.6</value>
+        </parameter>
+        <parameter>
+            <name>phi</name>
+            <type>Constant</type>
+            <value>0.3</value>
+        </parameter>
+        <parameter>
+            <name>rho_sr</name>
+            <type>Constant</type>
+            <value>1.43e3</value>
+        </parameter>
+        <parameter>
+            <name>rho_fr</name>
+            <type>Constant</type>
+            <value>1.188339263639</value>
+        </parameter>
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0 0</values>
+        </parameter>
+        <parameter>
+            <name>pressure0</name>
+            <type>Constant</type>
+            <values>1e5</values>
+        </parameter>
+        <!-- pressure-load = -alpha_b * p0 -->
+        <parameter>
+            <name>pressure_load</name>
+            <type>Constant</type>
+            <values>-0.6e5</values>
+        </parameter>
+        <parameter>
+            <name>zero</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>flux_in</name>
+            <type>Constant</type>
+            <value>1e-4</value>
+        </parameter>
+    </parameters>
+    <process_variables>
+        <process_variable>
+            <name>displacement</name>
+            <components>3</components>
+            <order>2</order>
+            <initial_condition>displacement0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>front</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>left</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>bottom</geometry>
+                    <type>Dirichlet</type>
+                    <component>2</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>back</geometry>
+                    <type>Neumann</type>
+                    <component>1</component>
+                    <parameter>pressure_load</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>right</geometry>
+                    <type>Neumann</type>
+                    <component>0</component>
+                    <parameter>pressure_load</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>top</geometry>
+                    <type>Neumann</type>
+                    <component>2</component>
+                    <parameter>pressure_load</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>pressure0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>left</geometry>
+                    <type>Neumann</type>
+                    <component>0</component>
+                    <parameter>flux_in</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>basic_newton</name>
+            <type>Newton</type>
+            <max_iter>50</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <lis>-i bicgstab -p ilu -tol 1e-16 -maxiter 10000</lis>
+            <eigen>
+                <solver_type>BiCGSTAB</solver_type>
+                <precon_type>ILUT</precon_type>
+                <max_iteration_step>10000</max_iteration_step>
+                <error_tolerance>1e-16</error_tolerance>
+            </eigen>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..40d4a9498eb029c63c66f7e92f1e05e8628a2f31
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f88495490df1297a3d5dd965d2adba54ef84af499db0d34a73193dd02e13f94d
+size 6844
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/HM_flow_no_strain.pdf b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/HM_flow_no_strain.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..23fcf62294028a422066fd5ed8f5b3651887d0d2
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/HM_flow_no_strain.pdf
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d4a6b4af1ea1dc97e68bc9be6586e4cd21b57fdeb0f9b91d3527095030975af7
+size 169920
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/flow_no_strain.prj b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/flow_no_strain.prj
new file mode 100644
index 0000000000000000000000000000000000000000..ecd07b55ea2446c1ac1d07358196a7443d2fe21d
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/flow_no_strain.prj
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>square_1x1_quad8_1e2.vtu</mesh>
+    <geometry>square_1x1.gml</geometry>
+    <processes>
+        <process>
+            <name>HM</name>
+            <type>HYDRO_MECHANICS</type>
+            <integration_order>3</integration_order>
+            <dimension>2</dimension>
+            <constitutive_relation>
+                <type>LinearElasticIsotropic</type>
+                <youngs_modulus>E</youngs_modulus>
+                <poissons_ratio>nu</poissons_ratio>
+            </constitutive_relation>
+            <intrinsic_permeability>k</intrinsic_permeability>
+            <fluid_viscosity>mu</fluid_viscosity>
+            <fluid_density>rho_fr</fluid_density>
+            <biot_coefficient>alpha</biot_coefficient>
+            <porosity>phi</porosity>
+            <solid_density>rho_sr</solid_density>
+            <process_variables>
+                <displacement>displacement</displacement>
+                <pressure>pressure</pressure>
+            </process_variables>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="sigma_xx" output_name="sigma_xx"/>
+                <secondary_variable type="static" internal_name="sigma_yy" output_name="sigma_yy"/>
+                <secondary_variable type="static" internal_name="sigma_zz" output_name="sigma_zz"/>
+                <secondary_variable type="static" internal_name="sigma_xy" output_name="sigma_xy"/>
+                <secondary_variable type="static" internal_name="epsilon_xx" output_name="epsilon_xx"/>
+                <secondary_variable type="static" internal_name="epsilon_yy" output_name="epsilon_yy"/>
+                <secondary_variable type="static" internal_name="epsilon_zz" output_name="epsilon_zz"/>
+                <secondary_variable type="static" internal_name="epsilon_xy" output_name="epsilon_xy"/>
+                <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
+            </secondary_variables>
+            <specific_body_force>0 0</specific_body_force>
+            <fluid_type>ideal_gas</fluid_type>
+            <reference_temperature>293.15</reference_temperature>
+            <specific_gas_constant>287.058</specific_gas_constant>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="HM">
+                <nonlinear_solver>basic_newton</nonlinear_solver>
+                <convergence_criterion>
+                    <type>PerComponentDeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <reltols>5e-8 1e10 1e10</reltols>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>100</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>0.1</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>flow_no_strain</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>1000</each_steps>
+                </pair>
+            </timesteps>
+            <variables>
+                <variable>displacement</variable>
+                <variable>pressure</variable>
+                <variable>sigma_xx</variable>
+                <variable>sigma_yy</variable>
+                <variable>sigma_zz</variable>
+                <variable>sigma_xy</variable>
+                <variable>epsilon_xx</variable>
+                <variable>epsilon_yy</variable>
+                <variable>epsilon_zz</variable>
+                <variable>epsilon_xy</variable>
+                <variable>velocity</variable>
+            </variables>
+        </output>
+    </time_loop>
+    <parameters>
+        <!-- Mechanics -->
+        <parameter>
+            <name>E</name>
+            <type>Constant</type>
+            <value>1e9</value>
+        </parameter>
+        <parameter>
+            <name>nu</name>
+            <type>Constant</type>
+            <value>.3</value>
+        </parameter>
+        <!-- Model parameters -->
+        <parameter>
+            <name>k</name>
+            <type>Constant</type>
+            <value>1e-4</value>
+        </parameter>
+        <parameter>
+            <name>mu</name>
+            <type>Constant</type>
+            <value>1e-5</value>
+        </parameter>
+        <parameter>
+            <name>alpha</name>
+            <type>Constant</type>
+            <value>0.6</value>
+        </parameter>
+        <parameter>
+            <name>phi</name>
+            <type>Constant</type>
+            <value>0.03</value>
+        </parameter>
+        <parameter>
+            <name>rho_sr</name>
+            <type>Constant</type>
+            <value>2.17e3</value>
+        </parameter>
+        <parameter>
+            <name>rho_fr</name>
+            <type>Constant</type>
+            <value>1.1883543</value>
+        </parameter>
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0</values>
+        </parameter>
+        <parameter>
+            <name>pressure0</name>
+            <type>Constant</type>
+            <values>1e5</values>
+        </parameter>
+        <parameter>
+            <name>zero</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>flux</name>
+            <type>Constant</type>
+            <value>1e-3</value>
+        </parameter>
+    </parameters>
+    <process_variables>
+        <process_variable>
+            <name>displacement</name>
+            <components>2</components>
+            <order>2</order>
+            <initial_condition>displacement0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>left</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>bottom</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>right</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>top</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>pressure0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>left</geometry>
+                    <type>Neumann</type>
+                    <component>0</component>
+                    <parameter>flux</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>basic_newton</name>
+            <type>Newton</type>
+            <max_iter>50</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <lis>-i bicgstab -p ilu -tol 1e-16 -maxiter 10000</lis>
+            <eigen>
+                <solver_type>BiCGSTAB</solver_type>
+                <precon_type>ILUT</precon_type>
+                <max_iteration_step>10000</max_iteration_step>
+                <error_tolerance>1e-16</error_tolerance>
+            </eigen>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..b8c1bd921587c7caf979304b85e00f5ef13e46ff
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:85d037f8ae0d01bc88e252d098b0dea1031869fc4abfc0ac6c47dac3b56a3339
+size 46944
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1.gml b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1.gml
new file mode 100644
index 0000000000000000000000000000000000000000..4e221adcca321d6abc2bffb6cfa6da6f34366c79
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1.gml
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6ce1406824f519ea96f18a28e0db575a8d71dd05332b6108af721bf985e9c250
+size 944
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1_quad8_1e2.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1_quad8_1e2.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..9916f8388c7563429076e18b70b97f2bbca8e7bd
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1_quad8_1e2.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:202039a669d71a8169147fcb979dd1498e1a5f46fb10435b1bc05cb16cdc392a
+size 4816
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/HM_flow_pressure_boundary.pdf b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/HM_flow_pressure_boundary.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..bddbf6f2aebd5e4cf1021fe9e2267b64a2bfb893
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/HM_flow_pressure_boundary.pdf
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:724515da25b5dad295898e13ae5dc614befb151041c2999c4de61c66787fdf3d
+size 166649
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/flow_pressure_boundary.prj b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/flow_pressure_boundary.prj
new file mode 100644
index 0000000000000000000000000000000000000000..6a9de5c920895575dad6a1abc46b606a8da49dfe
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/flow_pressure_boundary.prj
@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>quad_1x10.vtu</mesh>
+    <geometry>quad_1x10.gml</geometry>
+    <processes>
+        <process>
+            <name>HM</name>
+            <type>HYDRO_MECHANICS</type>
+            <integration_order>3</integration_order>
+            <dimension>2</dimension>
+            <constitutive_relation>
+                <type>LinearElasticIsotropic</type>
+                <youngs_modulus>E</youngs_modulus>
+                <poissons_ratio>nu</poissons_ratio>
+            </constitutive_relation>
+            <intrinsic_permeability>k</intrinsic_permeability>
+            <fluid_viscosity>mu</fluid_viscosity>
+            <fluid_density>rho_fr</fluid_density>
+            <biot_coefficient>alpha</biot_coefficient>
+            <porosity>phi</porosity>
+            <solid_density>rho_sr</solid_density>
+            <process_variables>
+                <displacement>displacement</displacement>
+                <pressure>pressure</pressure>
+            </process_variables>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="sigma_xx" output_name="sigma_xx"/>
+                <secondary_variable type="static" internal_name="sigma_yy" output_name="sigma_yy"/>
+                <secondary_variable type="static" internal_name="sigma_zz" output_name="sigma_zz"/>
+                <secondary_variable type="static" internal_name="sigma_xy" output_name="sigma_xy"/>
+                <secondary_variable type="static" internal_name="epsilon_xx" output_name="epsilon_xx"/>
+                <secondary_variable type="static" internal_name="epsilon_yy" output_name="epsilon_yy"/>
+                <secondary_variable type="static" internal_name="epsilon_zz" output_name="epsilon_zz"/>
+                <secondary_variable type="static" internal_name="epsilon_xy" output_name="epsilon_xy"/>
+                <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
+            </secondary_variables>
+            <specific_body_force>0 0</specific_body_force>
+            <fluid_type>ideal_gas</fluid_type>
+            <reference_temperature>293.15</reference_temperature>
+            <specific_gas_constant>287.058</specific_gas_constant>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="HM">
+                <nonlinear_solver>basic_newton</nonlinear_solver>
+                <convergence_criterion>
+                    <type>PerComponentDeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <reltols>1e-10 1e10 1e10</reltols>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>4000</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>100</repeat>
+                            <delta_t>40</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>flow_pressure_boundary</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>10000</each_steps>
+                </pair>
+            </timesteps>
+            <variables>
+                <variable>displacement</variable>
+                <variable>pressure</variable>
+                <variable>sigma_xx</variable>
+                <variable>sigma_yy</variable>
+                <variable>sigma_zz</variable>
+                <variable>sigma_xy</variable>
+                <variable>epsilon_xx</variable>
+                <variable>epsilon_yy</variable>
+                <variable>epsilon_zz</variable>
+                <variable>epsilon_xy</variable>
+                <variable>velocity</variable>
+            </variables>
+        </output>
+    </time_loop>
+    <parameters>
+        <!-- Mechanics -->
+        <parameter>
+            <name>E</name>
+            <type>Constant</type>
+            <value>1e9</value>
+        </parameter>
+        <parameter>
+            <name>nu</name>
+            <type>Constant</type>
+            <value>.3</value>
+        </parameter>
+        <!-- Model parameters -->
+        <parameter>
+            <name>k</name>
+            <type>Constant</type>
+            <value>1e-12</value>
+        </parameter>
+        <parameter>
+            <name>mu</name>
+            <type>Constant</type>
+            <value>1e-5</value>
+        </parameter>
+        <parameter>
+            <name>alpha</name>
+            <type>Constant</type>
+            <value>1.0</value>
+        </parameter>
+        <parameter>
+            <name>phi</name>
+            <type>Constant</type>
+            <value>0.1</value>
+        </parameter>
+        <parameter>
+            <name>rho_sr</name>
+            <type>Constant</type>
+            <value>2.2e3</value>
+        </parameter>
+        <parameter>
+            <name>rho_fr</name>
+            <type>Constant</type>
+            <value>1.0</value>
+        </parameter>
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0</values>
+        </parameter>
+        <parameter>
+            <name>pressure0</name>
+            <type>Constant</type>
+            <values>1e5</values>
+        </parameter>
+        <parameter>
+            <name>zero</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+		<parameter>
+            <name>flux_in</name>
+            <type>Constant</type>
+            <value>1e-2</value>
+        </parameter>
+    </parameters>
+    <process_variables>
+        <process_variable>
+            <name>displacement</name>
+            <components>2</components>
+            <order>2</order>
+            <initial_condition>displacement0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>left</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>bottom</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>right</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>top</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>pressure0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>left</geometry>
+                    <type>Neumann</type>
+                    <component>0</component>
+                    <parameter>flux_in</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>right</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>pressure0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>basic_newton</name>
+            <type>Newton</type>
+            <max_iter>50</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <lis>-i bicgstab -p ilu -tol 1e-16 -maxiter 10000</lis>
+            <eigen>
+                <solver_type>BiCGSTAB</solver_type>
+                <precon_type>ILUT</precon_type>
+                <max_iteration_step>10000</max_iteration_step>
+                <error_tolerance>1e-16</error_tolerance>
+            </eigen>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..ed1e740554474ee4ffcf955b4585ba6c0d0a6003
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d8dff0b13007d14905b94e9f26fd850c1614458a1fc2b6e5343b9a372ed0a6fa
+size 21044
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.gml b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.gml
new file mode 100644
index 0000000000000000000000000000000000000000..72effb92403519600afcf7dae8162740dc487d2b
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.gml
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:12a5de8f3656ffdaceaf62adfa3609315505244c38e82a03e52662d97a0ee04e
+size 946
diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..76d70f3782e9f12c97dd582f44f121a4b85ef743
--- /dev/null
+++ b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d61f0a030cf0e2be409a9c88e5fe2a507a4fb1b100f79b881ee7151d4703ac4c
+size 10332
diff --git a/Tests/Data/HydroMechanics/Linear/Confined_Compression/cube_1e3.prj b/Tests/Data/HydroMechanics/Linear/Confined_Compression/cube_1e3.prj
index de0d4e1d073e1744a67095437cefaaba129278aa..3a52e8dcda5f9efba263435f67713baca05c13bd 100644
--- a/Tests/Data/HydroMechanics/Linear/Confined_Compression/cube_1e3.prj
+++ b/Tests/Data/HydroMechanics/Linear/Confined_Compression/cube_1e3.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_fr</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -27,6 +26,7 @@
             <secondary_variables>
             </secondary_variables>
             <specific_body_force>0 0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -87,11 +87,6 @@
             <type>Constant</type>
             <value>1e-12</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>mu</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2.prj b/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2.prj
index 0e74896a34523ded0a654aaeb7b27790478edfb3..9bb973a794214994f6ad0fcd1a891316d9033f26 100644
--- a/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2.prj
+++ b/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_fr</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -36,6 +35,7 @@
                 <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
             </secondary_variables>
             <specific_body_force>0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -121,11 +121,6 @@
             <type>Constant</type>
             <value>1e-12</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>mu</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2_quad9.prj b/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2_quad9.prj
index c926e69279d68318255ff0a256809283580aa347..7ce892fd90404e15b7ec646f33db453e02ec9125 100644
--- a/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2_quad9.prj
+++ b/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2_quad9.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_fr</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -27,6 +26,7 @@
             <secondary_variables>
             </secondary_variables>
             <specific_body_force>0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -87,11 +87,6 @@
             <type>Constant</type>
             <value>1e-12</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>mu</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2_tri.prj b/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2_tri.prj
index 290c1898b2ae6629ed5fab36fe72de0cbe0de7cf..8d0e6e847555134b2ffba37b7de6c5377568f43b 100644
--- a/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2_tri.prj
+++ b/Tests/Data/HydroMechanics/Linear/Confined_Compression/square_1e2_tri.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_fr</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -27,6 +26,7 @@
             <secondary_variables>
             </secondary_variables>
             <specific_body_force>0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -87,11 +87,6 @@
             <type>Constant</type>
             <value>1e-12</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>mu</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Linear/Gravity/flow_gravity.prj b/Tests/Data/HydroMechanics/Linear/Gravity/flow_gravity.prj
index ebb4682dc862ca31af7139b796278c3ef0d997a4..d4387af5730f33b57ce1d64722c2349c0c657bfc 100644
--- a/Tests/Data/HydroMechanics/Linear/Gravity/flow_gravity.prj
+++ b/Tests/Data/HydroMechanics/Linear/Gravity/flow_gravity.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_fr</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -36,6 +35,7 @@
                 <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
             </secondary_variables>
             <specific_body_force>0 -10</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -113,11 +113,6 @@
             <type>Constant</type>
             <value>1e-12</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>mu</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_early/square_1e2_UC_early.prj b/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_early/square_1e2_UC_early.prj
index 91ceb3179048850b483739c3c76c928f88ca60df..d31b77d91e7bdf2360116920f02f34804d9c9398 100644
--- a/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_early/square_1e2_UC_early.prj
+++ b/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_early/square_1e2_UC_early.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <biot_coefficient>alpha</biot_coefficient>
             <porosity>phi</porosity>
@@ -27,6 +26,7 @@
             <secondary_variables>
             </secondary_variables>
             <specific_body_force>0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -87,11 +87,6 @@
             <type>Constant</type>
             <value>1e-10</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>mu</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_early/square_1e4_UC_early.prj b/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_early/square_1e4_UC_early.prj
index aa33e3d7b0a228190ab0131956ec30a6c0bbbf6a..73aa98a3ff6278b6fe4d13fae4580e16121290d9 100644
--- a/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_early/square_1e4_UC_early.prj
+++ b/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_early/square_1e4_UC_early.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <biot_coefficient>alpha</biot_coefficient>
             <porosity>phi</porosity>
@@ -27,6 +26,7 @@
             <secondary_variables>
             </secondary_variables>
             <specific_body_force>0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -87,11 +87,6 @@
             <type>Constant</type>
             <value>1e-10</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>mu</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_late/square_1e2_UC_late.prj b/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_late/square_1e2_UC_late.prj
index ccb31ba3c5d13834082dd387df5b96f7b3ed2262..1e4066f63c19b8abba4f1fea4d231dfdc450d6ab 100644
--- a/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_late/square_1e2_UC_late.prj
+++ b/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_late/square_1e2_UC_late.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <biot_coefficient>alpha</biot_coefficient>
             <porosity>phi</porosity>
@@ -27,6 +26,7 @@
             <secondary_variables>
             </secondary_variables>
             <specific_body_force>0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -87,11 +87,6 @@
             <type>Constant</type>
             <value>1e-10</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>mu</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_late/square_1e4_UC_late.prj b/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_late/square_1e4_UC_late.prj
index 81918ffcfa090c37666f91faf914b95e0f07a95c..980b479a734978f91a07e82bb5aa8dacab9e3ad8 100644
--- a/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_late/square_1e4_UC_late.prj
+++ b/Tests/Data/HydroMechanics/Linear/Unconfined_Compression_late/square_1e4_UC_late.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <biot_coefficient>alpha</biot_coefficient>
             <porosity>phi</porosity>
@@ -27,6 +26,7 @@
             <secondary_variables>
             </secondary_variables>
             <specific_body_force>0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -87,11 +87,6 @@
             <type>Constant</type>
             <value>1e-10</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>mu</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/StaggeredScheme/InjectionProduction1D/InjectionProduction1D.prj b/Tests/Data/HydroMechanics/StaggeredScheme/InjectionProduction1D/InjectionProduction1D.prj
index 2af65e40ae5513c5d38eef55dd4e1995b4f4ddc1..f0a7d36cb423625e3071e908dac4d98d072297cf 100644
--- a/Tests/Data/HydroMechanics/StaggeredScheme/InjectionProduction1D/InjectionProduction1D.prj
+++ b/Tests/Data/HydroMechanics/StaggeredScheme/InjectionProduction1D/InjectionProduction1D.prj
@@ -15,7 +15,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_f</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -37,6 +36,9 @@
                 <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
             </secondary_variables>
             <specific_body_force>0 0</specific_body_force>
+            <fluid_type>compressible_fluid</fluid_type>
+            <!--this value creates the same result as a specific storage of S = 1e-5 -->
+            <fluid_compressibility>3.33333333333e-5</fluid_compressibility>
         </process>
     </processes>
     <time_loop>
@@ -155,11 +157,6 @@
             <type>Constant</type>
             <value>4.9346165e-11</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>1e-5</value>
-        </parameter>
         <parameter>
             <name>mu</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/StaggeredScheme/InjectionProduction1D/RerefenceSolutionByMonolithicScheme/InjectionProduction1DMono.prj b/Tests/Data/HydroMechanics/StaggeredScheme/InjectionProduction1D/RerefenceSolutionByMonolithicScheme/InjectionProduction1DMono.prj
index e9fd97d658fa3b1bb72d9c96216f04888a1f837b..e1c8b8c1df18e9602f6513b3cf722c1e34aabca9 100644
--- a/Tests/Data/HydroMechanics/StaggeredScheme/InjectionProduction1D/RerefenceSolutionByMonolithicScheme/InjectionProduction1DMono.prj
+++ b/Tests/Data/HydroMechanics/StaggeredScheme/InjectionProduction1D/RerefenceSolutionByMonolithicScheme/InjectionProduction1DMono.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_f</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -36,6 +35,9 @@
                 <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
             </secondary_variables>
             <specific_body_force>0 0</specific_body_force>
+            <fluid_type>compressible_fluid</fluid_type>
+            <!--this value creates the same result as a specific storage of S = 1e-5 -->
+            <fluid_compressibility>3.33333333333e-5</fluid_compressibility>
         </process>
     </processes>
     <time_loop>
@@ -114,11 +116,6 @@
             <type>Constant</type>
             <value>4.9346165e-11</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>1e-5</value>
-        </parameter>
         <parameter>
             <name>mu</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Verification/hm1_1Dbeam.prj b/Tests/Data/HydroMechanics/Verification/hm1_1Dbeam.prj
index f459664d1a92d5697627a094c099fdcb5293d3d2..0a1f540888a2cb0684f66d0568ba961024891ca2 100755
--- a/Tests/Data/HydroMechanics/Verification/hm1_1Dbeam.prj
+++ b/Tests/Data/HydroMechanics/Verification/hm1_1Dbeam.prj
@@ -15,7 +15,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_liquid</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -41,6 +40,7 @@
                 <secondary_variable type="static" internal_name="epsilon_yz" output_name="epsilon_yz"/>
             </secondary_variables>
             <specific_body_force> 0 0 0 </specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -199,11 +199,6 @@
             <type>Constant</type>
             <value>1e-3</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>rho_liquid</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Verification/hm1_2Dsquare.prj b/Tests/Data/HydroMechanics/Verification/hm1_2Dsquare.prj
index f4c24762767bc3d08dd2d76b18ba41da7d503acc..477a7495bcf7431d874eb8919dbabcee43671027 100755
--- a/Tests/Data/HydroMechanics/Verification/hm1_2Dsquare.prj
+++ b/Tests/Data/HydroMechanics/Verification/hm1_2Dsquare.prj
@@ -15,7 +15,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_liquid</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -41,6 +40,7 @@
                 <secondary_variable type="static" internal_name="epsilon_yz" output_name="epsilon_yz"/>
             </secondary_variables>
             <specific_body_force> 0 0 0 </specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -198,11 +198,6 @@
             <type>Constant</type>
             <value>1e-3</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>rho_liquid</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Verification/hm1_3Dcube.prj b/Tests/Data/HydroMechanics/Verification/hm1_3Dcube.prj
index 8523394a9896cca04dec4cca2c8d4663fa1d8e9f..88588a196fa84250f1e8cfa448b48e7991c6f91e 100755
--- a/Tests/Data/HydroMechanics/Verification/hm1_3Dcube.prj
+++ b/Tests/Data/HydroMechanics/Verification/hm1_3Dcube.prj
@@ -15,7 +15,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_liquid</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -41,6 +40,7 @@
                 <secondary_variable type="static" internal_name="epsilon_yz" output_name="epsilon_yz"/>
             </secondary_variables>
             <specific_body_force> 0 0 0 </specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -198,11 +198,6 @@
             <type>Constant</type>
             <value>1e-3</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>rho_liquid</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Verification/hm1_3Dgravity.prj b/Tests/Data/HydroMechanics/Verification/hm1_3Dgravity.prj
index 6e49ed6a57e2716e5276db4f16e5d4929eded9bb..716f8fd439a25c1a50c612f549ed9fb215e2d1fc 100755
--- a/Tests/Data/HydroMechanics/Verification/hm1_3Dgravity.prj
+++ b/Tests/Data/HydroMechanics/Verification/hm1_3Dgravity.prj
@@ -15,7 +15,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_liquid</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -41,6 +40,7 @@
                 <secondary_variable type="static" internal_name="epsilon_yz" output_name="epsilon_yz"/>
             </secondary_variables>
             <specific_body_force> 0 0 -9.81 </specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -270,11 +270,6 @@
             <type>Constant</type>
             <value>1e-3</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>rho_liquid</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Verification/hm2_1D1bt.prj b/Tests/Data/HydroMechanics/Verification/hm2_1D1bt.prj
index a79b55245f1bcd1ebfe0dafc16d1e0b4f9aac3fc..bf0f5dc1769d6d6d205f1608685bb46b2433c883 100755
--- a/Tests/Data/HydroMechanics/Verification/hm2_1D1bt.prj
+++ b/Tests/Data/HydroMechanics/Verification/hm2_1D1bt.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_liquid</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -40,6 +39,7 @@
                <secondary_variable type="static" internal_name="epsilon_yz" output_name="epsilon_yz"/>
             </secondary_variables>
             <specific_body_force>0 0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -152,11 +152,6 @@
             <type>Constant</type>
             <value>1e-3</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>rho_liquid</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Verification/hm2_1D2bt.prj b/Tests/Data/HydroMechanics/Verification/hm2_1D2bt.prj
index 996b4ac1791f2521d471a2f499ee9b2e4e8181c5..2f1945b6b9dc2b1281a83bf39b4d0d7aeaa059a9 100755
--- a/Tests/Data/HydroMechanics/Verification/hm2_1D2bt.prj
+++ b/Tests/Data/HydroMechanics/Verification/hm2_1D2bt.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_liquid</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -40,6 +39,7 @@
                 <secondary_variable type="static" internal_name="epsilon_yz" output_name="epsilon_yz"/>
             </secondary_variables>
             <specific_body_force>0 0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -152,11 +152,6 @@
             <type>Constant</type>
             <value>1e-3</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>rho_liquid</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Verification/hm2_1Dbiot.prj b/Tests/Data/HydroMechanics/Verification/hm2_1Dbiot.prj
index 70ae31c01cfdc56ed750e0f16a1add6427faddbf..4cc2face5c3b36841e5ef7337b4f8dc31bf10bc2 100755
--- a/Tests/Data/HydroMechanics/Verification/hm2_1Dbiot.prj
+++ b/Tests/Data/HydroMechanics/Verification/hm2_1Dbiot.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_liquid</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -40,6 +39,7 @@
                 <secondary_variable type="static" internal_name="epsilon_yz" output_name="epsilon_yz"/>
             </secondary_variables>
             <specific_body_force>0 0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -152,11 +152,6 @@
             <type>Constant</type>
             <value>1e-3</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>rho_liquid</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Verification/hm2_1Dcolumn1.prj b/Tests/Data/HydroMechanics/Verification/hm2_1Dcolumn1.prj
index 1399cd7996f42d351c13b7dd377c1725bb3135fd..338e3ae40cb2805fec0524d3b960b1310d4f3f9b 100755
--- a/Tests/Data/HydroMechanics/Verification/hm2_1Dcolumn1.prj
+++ b/Tests/Data/HydroMechanics/Verification/hm2_1Dcolumn1.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_liquid</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -40,6 +39,7 @@
                 <secondary_variable type="static" internal_name="epsilon_yz" output_name="epsilon_yz"/>
             </secondary_variables>
             <specific_body_force>0 0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -152,11 +152,6 @@
             <type>Constant</type>
             <value>1e-3</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>rho_liquid</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Verification/hm2_1Dcolumn2.prj b/Tests/Data/HydroMechanics/Verification/hm2_1Dcolumn2.prj
index 8c1a5a4f5b8ba79b5c81329fe83382fdc01dd392..eea967213e5b265c5d59f9cf329393abdeb5b0ab 100755
--- a/Tests/Data/HydroMechanics/Verification/hm2_1Dcolumn2.prj
+++ b/Tests/Data/HydroMechanics/Verification/hm2_1Dcolumn2.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_liquid</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -40,6 +39,7 @@
                 <secondary_variable type="static" internal_name="epsilon_yz" output_name="epsilon_yz"/>
             </secondary_variables>
             <specific_body_force>0 0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -156,11 +156,6 @@
             <type>Constant</type>
             <value>1e-3</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>rho_liquid</name>
             <type>Constant</type>
diff --git a/Tests/Data/HydroMechanics/Verification/hm2_2Dmandel.prj b/Tests/Data/HydroMechanics/Verification/hm2_2Dmandel.prj
index 4861e69894065806fc7a593f4d91ea8b4459ca8b..87534d1bd5483da0b775c5a82661ff47a2d65cba 100755
--- a/Tests/Data/HydroMechanics/Verification/hm2_2Dmandel.prj
+++ b/Tests/Data/HydroMechanics/Verification/hm2_2Dmandel.prj
@@ -14,7 +14,6 @@
                 <poissons_ratio>nu</poissons_ratio>
             </constitutive_relation>
             <intrinsic_permeability>k</intrinsic_permeability>
-            <specific_storage>S</specific_storage>
             <fluid_viscosity>mu</fluid_viscosity>
             <fluid_density>rho_liquid</fluid_density>
             <biot_coefficient>alpha</biot_coefficient>
@@ -40,6 +39,7 @@
                 <secondary_variable type="static" internal_name="epsilon_yz" output_name="epsilon_yz"/>
             </secondary_variables>
             <specific_body_force>0 0 0</specific_body_force>
+            <fluid_type>incompressible_fluid</fluid_type>
         </process>
     </processes>
     <time_loop>
@@ -156,11 +156,6 @@
             <type>Constant</type>
             <value>1e-3</value>
         </parameter>
-        <parameter>
-            <name>S</name>
-            <type>Constant</type>
-            <value>0</value>
-        </parameter>
         <parameter>
             <name>rho_liquid</name>
             <type>Constant</type>