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