diff --git a/ProcessLib/RichardsMechanics/Tests.cmake b/ProcessLib/RichardsMechanics/Tests.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..0058a30a4475e1979176d20e12c6b097ff49cf20
--- /dev/null
+++ b/ProcessLib/RichardsMechanics/Tests.cmake
@@ -0,0 +1,123 @@
+AddTest(
+    NAME RichardsMechanics_square_1e2_gravity
+    PATH RichardsMechanics
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS gravity.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    DIFF_DATA
+    GLOB gravity_pcs_0_ts_*.vtu displacement displacement 1e-15 0
+    GLOB gravity_pcs_0_ts_*.vtu sigma sigma 5e-10 0
+    GLOB gravity_pcs_0_ts_*.vtu epsilon epsilon 1e-15 0
+    GLOB gravity_pcs_0_ts_*.vtu pressure pressure 0 2e-2
+    GLOB gravity_pcs_0_ts_*.vtu velocity velocity 1e-7 1e-15
+    GLOB gravity_pcs_0_ts_*.vtu HydraulicFlow HydraulicFlow 1e-5 0
+    GLOB gravity_pcs_0_ts_*.vtu NodalForces NodalForces 1e-10 0
+    GLOB gravity_pcs_0_ts_24_t_5.000000.vtu pressure pressure 1e-4 1e-15
+)
+
+AddTest(
+    NAME RichardsMechanics_square_1e2_mechanics_linear
+    PATH RichardsMechanics
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS mechanics_linear.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    DIFF_DATA
+    GLOB mechanics_linear_pcs_0_ts_*.vtu displacement displacement 1e-15 0
+    GLOB mechanics_linear_pcs_0_ts_*.vtu sigma sigma 1e-15 0
+    GLOB mechanics_linear_pcs_0_ts_*.vtu epsilon epsilon 1e-15 0
+    GLOB mechanics_linear_pcs_0_ts_*.vtu pressure pressure 1e-15 1e-15
+    GLOB mechanics_linear_pcs_0_ts_*.vtu velocity velocity 1e-15 1e-15
+    GLOB mechanics_linear_pcs_0_ts_*.vtu HydraulicFlow HydraulicFlow 1e-15 0
+    GLOB mechanics_linear_pcs_0_ts_*.vtu NodalForces NodalForces 1e-15 0
+)
+
+AddTest(
+    NAME RichardsMechanics_square_1e2_confined_compression
+    PATH RichardsMechanics
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS confined_compression_fully_saturated.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    DIFF_DATA
+    GLOB confined_compression_fully_saturated_pcs_0_ts_*.vtu displacement displacement 1e-15 0
+    GLOB confined_compression_fully_saturated_pcs_0_ts_*.vtu sigma sigma 1e-15 0
+    GLOB confined_compression_fully_saturated_pcs_0_ts_*.vtu epsilon epsilon 1e-15 0
+    GLOB confined_compression_fully_saturated_pcs_0_ts_*.vtu pressure pressure 1e-15 1e-15
+    GLOB confined_compression_fully_saturated_pcs_0_ts_*.vtu velocity velocity 1e-15 1e-15
+    GLOB confined_compression_fully_saturated_pcs_0_ts_*.vtu HydraulicFlow HydraulicFlow 1e-15 0
+    GLOB confined_compression_fully_saturated_pcs_0_ts_*.vtu NodalForces NodalForces 1e-15 0
+)
+
+AddTest(
+    NAME RichardsMechanics_square_1e2_flow_fully_saturated
+    PATH RichardsMechanics
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS flow_fully_saturated.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    DIFF_DATA
+    GLOB flow_fully_saturated_pcs_0_ts_*.vtu displacement displacement 2e-14 0
+    GLOB flow_fully_saturated_pcs_0_ts_*.vtu sigma sigma 1e-14 0
+    GLOB flow_fully_saturated_pcs_0_ts_*.vtu epsilon epsilon 1e-15 0
+    GLOB flow_fully_saturated_pcs_0_ts_*.vtu pressure pressure 1e-15 1e-15
+    GLOB flow_fully_saturated_pcs_0_ts_*.vtu velocity velocity 1e-15 1e-15
+    GLOB flow_fully_saturated_pcs_0_ts_*.vtu HydraulicFlow HydraulicFlow 1e-15 0
+    GLOB flow_fully_saturated_pcs_0_ts_*.vtu NodalForces NodalForces 1e-15 0
+)
+
+AddTest(
+    NAME RichardsMechanics_RichardsFlow_2d_small
+    PATH RichardsMechanics
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS RichardsFlow_2d_small.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    DIFF_DATA
+    GLOB RichardsFlow_2d_small_pcs_0_ts_*.vtu displacement displacement 2e-14 0
+    GLOB RichardsFlow_2d_small_pcs_0_ts_*.vtu sigma sigma 1e-8 0
+    GLOB RichardsFlow_2d_small_pcs_0_ts_*.vtu epsilon epsilon 1e-15 0
+    GLOB RichardsFlow_2d_small_pcs_0_ts_*.vtu pressure pressure 1e-7 1e-15
+    GLOB RichardsFlow_2d_small_pcs_0_ts_*.vtu saturation saturation 1e-11 1e-15
+    GLOB RichardsFlow_2d_small_pcs_0_ts_*.vtu saturation_avg saturation_avg 1e-11 1e-15
+    GLOB RichardsFlow_2d_small_pcs_0_ts_*.vtu velocity velocity 1e-15 1e-15
+    GLOB RichardsFlow_2d_small_pcs_0_ts_*.vtu HydraulicFlow HydraulicFlow 1e-13 0
+    GLOB RichardsFlow_2d_small_pcs_0_ts_*.vtu NodalForces NodalForces 1e-9 0
+)
+AddTest(
+    NAME RichardsMechanics_RichardsFlow_2d_quasinewton
+    PATH RichardsMechanics
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS RichardsFlow_2d_quasinewton.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    DIFF_DATA
+    GLOB RichardsFlow_2d_quasinewton_pcs_0_ts_*.vtu displacement displacement 2e-14 0
+    GLOB RichardsFlow_2d_quasinewton_pcs_0_ts_*.vtu sigma sigma 1e-8 0
+    GLOB RichardsFlow_2d_quasinewton_pcs_0_ts_*.vtu epsilon epsilon 1e-15 0
+    GLOB RichardsFlow_2d_quasinewton_pcs_0_ts_*.vtu pressure pressure 1e-10 1e-15
+    GLOB RichardsFlow_2d_quasinewton_pcs_0_ts_*.vtu saturation saturation 1e-14 1e-15
+    GLOB RichardsFlow_2d_quasinewton_pcs_0_ts_*.vtu saturation_avg saturation_avg 1e-14 1e-15
+    GLOB RichardsFlow_2d_quasinewton_pcs_0_ts_*.vtu velocity velocity 1e-15 1e-15
+    GLOB RichardsFlow_2d_quasinewton_pcs_0_ts_*.vtu HydraulicFlow HydraulicFlow 1e-15 0
+    GLOB RichardsFlow_2d_quasinewton_pcs_0_ts_*.vtu NodalForces NodalForces 1e-15 0
+)
+AddTest(
+    NAME RichardsMechanics_RichardsFlow_2d_richardsflow
+    PATH RichardsMechanics
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS RichardsFlow_2d_richardsflow.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    DIFF_DATA
+    GLOB RichardsFlow_2d_richardsflow_pcs_0_ts_*.vtu pressure pressure 1e-11 1e-15
+    GLOB RichardsFlow_2d_richardsflow_pcs_0_ts_*.vtu saturation saturation 1e-14 1e-15
+)
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton.prj b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton.prj
new file mode 100644
index 0000000000000000000000000000000000000000..832b2edfacced3fe5c30f78307e4c691faa1cd98
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton.prj
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>Richards_2d.vtu</mesh>
+    <geometry>Richards_2d.gml</geometry>
+    <processes>
+        <process>
+            <name>RM</name>
+            <type>RICHARDS_MECHANICS</type>
+            <integration_order>3</integration_order>
+            <dimension>2</dimension>
+            <jacobian_assembler>
+                <type>CentralDifferences</type>
+                <component_magnitudes>1e5 1e5 1e5 1e5 1e-5 1e-5 1e-5 1e-5 1e-5 1e-5 1e-5 1e-5 1e-5 1e-5 1e-5 1e-5 1e-5 1e-5 1e-5 1e-5</component_magnitudes>
+                <relative_epsilons>1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8</relative_epsilons>
+            </jacobian_assembler>
+            <constitutive_relation>
+                <type>LinearElasticIsotropic</type>
+                <youngs_modulus>E</youngs_modulus>
+                <poissons_ratio>nu</poissons_ratio>
+            </constitutive_relation>
+            <intrinsic_permeability>k</intrinsic_permeability>
+            <solid_bulk_modulus>K_SR</solid_bulk_modulus>
+            <fluid_bulk_modulus>K_LR</fluid_bulk_modulus>
+            <biot_coefficient>alpha</biot_coefficient>
+            <solid_density>rho_sr</solid_density>
+            <process_variables>
+                <displacement>displacement</displacement>
+                <pressure>pressure</pressure>
+            </process_variables>
+            <material_property>
+                <fluid>
+                    <density>
+                        <type>Constant</type>
+                        <value> 1 </value>
+                    </density>
+                    <viscosity>
+                        <type>Constant</type>
+                        <value> 1.e-3 </value>
+                    </viscosity>
+                </fluid>
+                <porous_medium>
+                    <porous_medium id="0">
+                        <permeability>
+                            <permeability_tensor_entries>k</permeability_tensor_entries>
+                            <type>Constant</type>
+                        </permeability>
+                        <porosity>
+                            <type>Constant</type>
+                            <porosity_parameter>phi</porosity_parameter>
+                        </porosity>
+                        <storage>
+                            <type>Constant</type>
+                            <value> 0.0 </value>
+                        </storage>
+                    <capillary_pressure>
+                        <type>vanGenuchten</type>
+                        <m>0.789029535864979</m>
+                        <pc_max>36333.30</pc_max>
+                        <pd>3633.33</pd>
+                        <smax>0.95</smax>
+                        <sr>0.1689</sr>
+                    </capillary_pressure>
+                    <relative_permeability>
+                        <type>WettingPhaseVanGenuchten</type>
+                        <krel_min>1e-12</krel_min>
+                        <m>0.789029535864979</m>
+                        <smax>0.95</smax>
+                        <sr>0.1689</sr>
+                    </relative_permeability>
+                    </porous_medium>
+                </porous_medium>
+            </material_property>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="sigma" output_name="sigma"/>
+                <secondary_variable type="static" internal_name="epsilon" output_name="epsilon"/>
+                <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
+                <secondary_variable type="static" internal_name="saturation" output_name="saturation"/>
+            </secondary_variables>
+            <specific_body_force>0 -9.81</specific_body_force>
+            <temperature> temp </temperature>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="RM">
+                <nonlinear_solver>nonlinear_solver</nonlinear_solver>
+                <convergence_criterion>
+                    <type>PerComponentDeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstols>1e-7 1e-11 1e-10</abstols>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <output>
+                    <variables>
+                        <variable>displacement</variable>
+                        <variable>pressure</variable>
+                        <variable>sigma</variable>
+                        <variable>epsilon</variable>
+                        <variable>velocity</variable>
+                        <variable>saturation</variable>
+                    </variables>
+                </output>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>2000</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>10</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>50</repeat>
+                            <delta_t>20</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>RichardsFlow_2d_quasinewton</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>9</repeat>
+                    <each_steps>1</each_steps>
+                </pair>
+                <pair>
+                    <repeat>100</repeat>
+                    <each_steps>10</each_steps>
+                </pair>
+            </timesteps>
+            <output_iteration_results>false</output_iteration_results>
+        </output>
+    </time_loop>
+    <parameters>
+        <!-- Mechanics -->
+        <parameter>
+            <name>K_SR</name>
+            <type>Constant</type>
+            <value>160e300</value>
+        </parameter>
+        <parameter>
+            <name>E</name>
+            <type>Constant</type>
+            <value>5e9</value>
+        </parameter>
+        <parameter>
+            <name>nu</name>
+            <type>Constant</type>
+            <value>.1</value>
+        </parameter>
+        <!-- Model parameters -->
+        <parameter>
+            <name>k</name>
+            <type>Constant</type>
+            <value>4.46e-13</value>
+        </parameter>
+        <parameter>
+            <name>alpha</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>phi</name>
+            <type>Constant</type>
+            <value>0.38</value>
+        </parameter>
+        <parameter>
+            <name>rho_sr</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>K_LR</name>
+            <type>Constant</type>
+            <value>2.2e300</value>
+        </parameter>
+        <parameter>
+            <name>temp</name>
+            <type>Constant</type>
+            <value>293.15</value>
+        </parameter>
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0</values>
+        </parameter>
+        <parameter>
+            <name>dirichlet0</name>
+            <type>Constant</type>
+            <values>0</values>
+        </parameter>
+        <parameter>
+            <name>p0</name>
+            <type>Constant</type>
+            <value>-5000</value>
+        </parameter>
+        <parameter>
+            <name>p_Dirichlet_bottom</name>
+            <type>Constant</type>
+            <value>1000</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>Richards_2d_geometry</geometrical_set>
+                    <geometry>LEFT</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>RIGHT</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>BOTTOM</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>TOP</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>p0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>BOTTOM</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>p_Dirichlet_bottom</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>TOP</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>p0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>nonlinear_solver</name>
+            <type>Newton</type>
+            <max_iter>100</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+            <!--damping>0.9</damping-->
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <eigen>
+                <solver_type>SparseLU</solver_type>
+                <scaling>true</scaling>
+                <!--
+                <solver_type>PardisoLU</solver_type>
+                -->
+            </eigen>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0.pvd b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0.pvd
new file mode 100644
index 0000000000000000000000000000000000000000..79d04b0d653ec0f63bd6fba27225f5ee523f5b6b
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0.pvd
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<VTKFile type="Collection" version="0.1" byte_order="LittleEndian" compressor="vtkZLibDataCompressor">
+  <Collection>
+    <DataSet timestep="0" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_0_t_0.000000.vtu"/>
+    <DataSet timestep="1" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_1_t_1.000000.vtu"/>
+    <DataSet timestep="3" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_2_t_3.000000.vtu"/>
+    <DataSet timestep="8" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_3_t_8.000000.vtu"/>
+    <DataSet timestep="18" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_4_t_18.000000.vtu"/>
+    <DataSet timestep="38" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_5_t_38.000000.vtu"/>
+    <DataSet timestep="58" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_6_t_58.000000.vtu"/>
+    <DataSet timestep="78" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_7_t_78.000000.vtu"/>
+    <DataSet timestep="98" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_8_t_98.000000.vtu"/>
+    <DataSet timestep="118" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_9_t_118.000000.vtu"/>
+    <DataSet timestep="318" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_19_t_318.000000.vtu"/>
+    <DataSet timestep="518" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_29_t_518.000000.vtu"/>
+    <DataSet timestep="718" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_39_t_718.000000.vtu"/>
+    <DataSet timestep="918" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_49_t_918.000000.vtu"/>
+    <DataSet timestep="1118" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_59_t_1118.000000.vtu"/>
+    <DataSet timestep="1318" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_69_t_1318.000000.vtu"/>
+    <DataSet timestep="1518" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_79_t_1518.000000.vtu"/>
+    <DataSet timestep="1718" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_89_t_1718.000000.vtu"/>
+    <DataSet timestep="1918" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_99_t_1918.000000.vtu"/>
+    <DataSet timestep="2000" group="" part="0" file="RichardsFlow_2d_quasinewton_pcs_0_ts_104_t_2000.000000.vtu"/>
+  </Collection>
+</VTKFile>
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_0_t_0.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_0_t_0.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..080b872b8f572a200ee62cecfa1f01ff4170437e
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_0_t_0.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9b777be31f90ab6ab765aa0f75d0ffb288bf905e6a22cd6dab4e9601881e0d2d
+size 7907
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_104_t_2000.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_104_t_2000.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..59f1515d983ce61bac94e188eb87ff33631807dc
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_104_t_2000.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:56dd63602f3e6b886caf83c6330fbf19a7172ef815da56334e9bec34756a4c09
+size 39036
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_19_t_318.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_19_t_318.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..45c5150e460ca6017fba0fc462a2404ce63d4140
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_19_t_318.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e2245ee40ecf0d964350f97307f420e0aec2a8b1c6bd002f25424228ba10847d
+size 38385
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_1_t_1.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_1_t_1.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..b65e66b2cd2d95d7d7d8d5dcfc93d49a69f898fa
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_1_t_1.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2e534596c75cce14f34afb92c0144a089790a2fd0dd4ef1bd3dcb66fe3c024c1
+size 37801
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_29_t_518.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_29_t_518.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..87f3a41b08e9f8307bc9f1d40bc58eaf07d63094
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_29_t_518.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:531b556f5f73e5bc2176ede8a76283f8fd22185ca09364df0b0dcb311f4efb9a
+size 38536
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_2_t_3.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_2_t_3.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..dc639e75c67bfc22f18ebca86c49cbb7112a7144
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_2_t_3.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a367d0f6d7199ca616c4f4ebb52546c340d911ebe6103004dedf1740b036581a
+size 37662
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_39_t_718.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_39_t_718.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..663eb7d27f3d328a7a54b7bad9dac8784f8fa39c
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_39_t_718.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8fa37a056be91d30168cfec9abf4dfd905133d986ac67e8eff041f110a7307c9
+size 38442
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_3_t_8.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_3_t_8.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..53ef6fa10e5f82f98001a567aeef667842759136
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_3_t_8.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f21796105fb7d1e6eee1744506907a44141fa35fe5f2ac6a84648085beb8d6fb
+size 37261
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_49_t_918.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_49_t_918.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..6b745f11b3bace4abfdee063e682b6c32dc88d13
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_49_t_918.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:28596b46a2a459913a35114ec49b6379e366b72c00e9c04d7426a374e6258aaf
+size 38637
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_4_t_18.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_4_t_18.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..698f118164d8481e5aed26fc43cd79b9b6971e04
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_4_t_18.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:50ac7147d44bcd5def386b2e620dbdb54f4a97d36ab71e336c28d44acef8228e
+size 37714
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_59_t_1118.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_59_t_1118.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..85211cf3f132b35a845e2dc6e9025a2c454f1f2f
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_59_t_1118.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9f5bfd56d7a02b72d90448f5b655c4dc0fe4a98c2879c9e1ecba7eee3dda1e5f
+size 38658
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_5_t_38.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_5_t_38.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..673dae92b3cd85da720a01beaf25ef04d539814b
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_5_t_38.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:11a989d0c99c636ac35ac68cb7cc1c4119c91ee1776a5443b83a6ca89b4d606b
+size 37905
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_69_t_1318.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_69_t_1318.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..9630a44f94a2427928b2ebaee43e8d92b9efecc7
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_69_t_1318.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7e06a04093ebe34f49691dfb886ba3b638d4e2de3fc76401daa7db16028a6a21
+size 38724
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_6_t_58.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_6_t_58.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..81af7cecca1c0c8e67700eb937af56f353cb622b
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_6_t_58.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2d0720b57d42581bc972773ac0ebedd2ddc3b7ce65f7d08d7c59b41619923899
+size 38121
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_79_t_1518.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_79_t_1518.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..55c664736ba33969c559d983ad9be9de02a9c37c
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_79_t_1518.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:eb49f45f5e20bfc94f3a0f112c5cb378dab2f130482abef6188085de287668e0
+size 38588
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_7_t_78.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_7_t_78.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..5be854eee6bbcb69babb4af03f86629ec0f79e0b
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_7_t_78.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bfbb250381b7ba8632521bd85845693eb2ef9e9fedc14d2759c5ff7b5c37d6cc
+size 38216
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_89_t_1718.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_89_t_1718.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..01d0a216db34175ad74de9eb0df905c057e78510
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_89_t_1718.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:39d63f2b2cef444946535e02bc6485bc973b28cebbcdb068ee3c0744d4f55a6f
+size 38818
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_8_t_98.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_8_t_98.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..5dc3cff45be1b53ce7b7d98cb603552d5572cd25
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_8_t_98.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:650a643dffbbd43c44c95ed9acfb331db89dfeef63845572e5cd5a7969442996
+size 38115
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_99_t_1918.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_99_t_1918.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..898ac8d844d5838c01bd9c2a2867240b7ff48b1c
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_99_t_1918.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:eae0ad4cb7b481854d55e1734f667c93c5883d82c96a5c20ebafb1553fcf57dd
+size 38764
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_9_t_118.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_9_t_118.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..bd2143ea1fb5caccf7e8b0250f5d2f3f3e42ce25
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_quasinewton_pcs_0_ts_9_t_118.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7e44758ea56b3ac2ab7a00d30ad3408bf26c9e26277da827a23cb17f60e8b470
+size 38034
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow.prj b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow.prj
new file mode 100644
index 0000000000000000000000000000000000000000..bf10720c1163670da388da12ef650d7b6d8fd8ec
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow.prj
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>Richards_2d_linear.vtu</mesh>
+    <geometry>Richards_2d.gml</geometry>
+    <processes>
+        <process>
+            <name>R</name>
+            <type>RICHARDS_FLOW</type>
+            <integration_order>3</integration_order>
+            <jacobian_assembler>
+                <type>CentralDifferences</type>
+                <component_magnitudes>1e5</component_magnitudes>
+                <relative_epsilons>1e-8</relative_epsilons>
+            </jacobian_assembler>
+            <process_variables>
+                <process_variable>pressure</process_variable>
+            </process_variables>
+            <material_property>
+                <fluid>
+                    <density>
+                        <type>Constant</type>
+                        <value> 1 </value>
+                    </density>
+                    <viscosity>
+                        <type>Constant</type>
+                        <value> 1.e-3 </value>
+                    </viscosity>
+                </fluid>
+                <porous_medium>
+                    <porous_medium id="0">
+                        <permeability>
+                            <permeability_tensor_entries>k</permeability_tensor_entries>
+                            <type>Constant</type>
+                        </permeability>
+                        <porosity>
+                            <type>Constant</type>
+                            <porosity_parameter>phi</porosity_parameter>
+                        </porosity>
+                        <storage>
+                            <type>Constant</type>
+                            <value> 0.0 </value>
+                        </storage>
+                    <capillary_pressure>
+                        <type>vanGenuchten</type>
+                        <m>0.789029535864979</m>
+                        <pc_max>36333.30</pc_max>
+                        <pd>3633.33</pd>
+                        <smax>0.95</smax>
+                        <sr>0.1689</sr>
+                    </capillary_pressure>
+                    <relative_permeability>
+                        <type>WettingPhaseVanGenuchten</type>
+                        <krel_min>1e-12</krel_min>
+                        <m>0.789029535864979</m>
+                        <smax>0.95</smax>
+                        <sr>0.1689</sr>
+                    </relative_permeability>
+                    </porous_medium>
+                </porous_medium>
+            </material_property>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="saturation" output_name="saturation"/>
+            </secondary_variables>
+            <specific_body_force>0 -9.81</specific_body_force>
+            <mass_lumping>false</mass_lumping>
+            <temperature> temp </temperature>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="R">
+                <nonlinear_solver>nonlinear_solver</nonlinear_solver>
+                <convergence_criterion>
+                    <type>PerComponentDeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstols>1e-7</abstols>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <output>
+                    <variables>
+                        <variable>pressure</variable>
+                        <variable>saturation</variable>
+                    </variables>
+                </output>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>2000</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>2</repeat>
+                            <delta_t>2</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>10</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>50</repeat>
+                            <delta_t>20</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>RichardsFlow_2d_richardsflow</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>9</repeat>
+                    <each_steps>1</each_steps>
+                </pair>
+                <pair>
+                    <repeat>100</repeat>
+                    <each_steps>10</each_steps>
+                </pair>
+            </timesteps>
+            <output_iteration_results>false</output_iteration_results>
+        </output>
+    </time_loop>
+    <parameters>
+        <parameter>
+            <name>k</name>
+            <type>Constant</type>
+            <value>4.46e-13</value>
+        </parameter>
+        <parameter>
+            <name>phi</name>
+            <type>Constant</type>
+            <value>0.38</value>
+        </parameter>
+        <parameter>
+            <name>temp</name>
+            <type>Constant</type>
+            <value>293.15</value>
+        </parameter>
+        <parameter>
+            <name>p0</name>
+            <type>Constant</type>
+            <value>-5000</value>
+        </parameter>
+        <parameter>
+            <name>p_Dirichlet_bottom</name>
+            <type>Constant</type>
+            <value>1000</value>
+        </parameter>
+    </parameters>
+    <process_variables>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>p0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>BOTTOM</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>p_Dirichlet_bottom</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>TOP</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>p0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>nonlinear_solver</name>
+            <type>Newton</type>
+            <max_iter>50</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+            <!--damping>0.9</damping-->
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <eigen>
+                <solver_type>SparseLU</solver_type>
+                <scaling>true</scaling>
+                <!--
+                <solver_type>PardisoLU</solver_type>
+                -->
+            </eigen>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0.pvd b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0.pvd
new file mode 100644
index 0000000000000000000000000000000000000000..f7cfcc5cff1f358074272f0cd2f5047fedb329e6
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0.pvd
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<VTKFile type="Collection" version="0.1" byte_order="LittleEndian" compressor="vtkZLibDataCompressor">
+  <Collection>
+    <DataSet timestep="0" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_0_t_0.000000.vtu"/>
+    <DataSet timestep="1" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_1_t_1.000000.vtu"/>
+    <DataSet timestep="3" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_2_t_3.000000.vtu"/>
+    <DataSet timestep="5" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_3_t_5.000000.vtu"/>
+    <DataSet timestep="10" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_4_t_10.000000.vtu"/>
+    <DataSet timestep="20" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_5_t_20.000000.vtu"/>
+    <DataSet timestep="40" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_6_t_40.000000.vtu"/>
+    <DataSet timestep="60" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_7_t_60.000000.vtu"/>
+    <DataSet timestep="80" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_8_t_80.000000.vtu"/>
+    <DataSet timestep="100" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_9_t_100.000000.vtu"/>
+    <DataSet timestep="300" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_19_t_300.000000.vtu"/>
+    <DataSet timestep="500" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_29_t_500.000000.vtu"/>
+    <DataSet timestep="700" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_39_t_700.000000.vtu"/>
+    <DataSet timestep="900" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_49_t_900.000000.vtu"/>
+    <DataSet timestep="1100" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_59_t_1100.000000.vtu"/>
+    <DataSet timestep="1300" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_69_t_1300.000000.vtu"/>
+    <DataSet timestep="1500" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_79_t_1500.000000.vtu"/>
+    <DataSet timestep="1700" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_89_t_1700.000000.vtu"/>
+    <DataSet timestep="1900" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_99_t_1900.000000.vtu"/>
+    <DataSet timestep="2000" group="" part="0" file="RichardsFlow_2d_richardsflow_pcs_0_ts_104_t_2000.000000.vtu"/>
+  </Collection>
+</VTKFile>
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_0_t_0.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_0_t_0.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..b19829b5b6e6b61cc2d69bb87af628b3d8d2b32d
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_0_t_0.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:96769f20272d7566557da54ac1ef2ccbc9bcf7e3e2b4ca5f2821f0742aa6b3d8
+size 3553
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_104_t_2000.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_104_t_2000.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..f4191820689646d7df898690db28bfa525ad8c4f
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_104_t_2000.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:76d64903f629e52da96e7d943fedcc2c044e7bc08f8c387a8df2f16404be1dcd
+size 4436
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_19_t_300.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_19_t_300.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..0b77a9a13edbf5429f896338bdccc80bd3d78eba
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_19_t_300.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:daf78a1d22e50b7611bebfee726db9afd2086870ca5ff216a162633f8d6c5a0d
+size 4400
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_1_t_1.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_1_t_1.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..988736dfadd89174d3f3db1fcab33bf75ab9f636
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_1_t_1.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d6dced6f1cc2bf217d6ab2764a539ccd4b1071c77d2cfdb72b78f3140c2c968d
+size 4356
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_29_t_500.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_29_t_500.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..18e0b86de997fb7d7668e8beec8c7efc13016989
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_29_t_500.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4c9309efeb8e83d4cb3cdab50ab7b346051bc5275ac27a6390f1d1ea2d39498d
+size 4408
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_2_t_3.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_2_t_3.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..452ca23495a5aee35db85b6ceb29375215764b7a
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_2_t_3.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bc76aa3b0d98be0408762a487d1dd38780cdea69c3a150f98af7c7ac9b9f59c0
+size 4349
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_39_t_700.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_39_t_700.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..f11e3136ce70f7a9183659ad0a5e24b73c53fd75
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_39_t_700.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d14ae755c351bb90fb4b6886aec79f50252a213d896c593fa4fdd6e3cd4f7938
+size 4392
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_3_t_5.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_3_t_5.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..92cfb0662ca0a1c810cb84f72bc8add2281b64fb
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_3_t_5.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5dfdb85713dcce2eb96887a82a0bca8b89e6029d158347d54df4e08fbdd5ef1f
+size 4340
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_49_t_900.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_49_t_900.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..02010bfd57f8d376693220c14f7f8e1597d0a64d
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_49_t_900.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:54a5694a8b32f8ab67b62575efc0c4438d53ed1cd45e341f75a9c7c806738d77
+size 4432
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_4_t_10.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_4_t_10.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..506ea4cb9544ad082eaa9d9b5b39579414d5ee66
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_4_t_10.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1a0f44ba22bf92191d76581ba0421170e65b43ff8331e05f49626ea086c5cb09
+size 4321
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_59_t_1100.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_59_t_1100.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..2c0836b6bbdc6f11cf023ce7f487265b4c6f8e29
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_59_t_1100.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a92035c138173fd6ae834d2baba07c2cdc02ee2494a70dda9b82b700b20ab91c
+size 4419
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_5_t_20.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_5_t_20.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..e31978c5c185a67423136317e14062c40828f1dd
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_5_t_20.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:43f05733a2f4d00ab1b1c76e2912eb4794a548e02ce3c976ded6518acd04f337
+size 4353
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_69_t_1300.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_69_t_1300.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..e6120b2afb8918365796aac1c7d4467662f3720d
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_69_t_1300.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2070bd902e5540464694668f28e1ff603f1e32888af5ff137d91e920ee27d17b
+size 4412
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_6_t_40.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_6_t_40.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..21bdfb7eb45ebe1f12284b61c22b81cd8502576d
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_6_t_40.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9a47636b35ec91f6e797fdcbd62ffaec8b611ab53a2cb9b7368b9e905d1e4945
+size 4360
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_79_t_1500.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_79_t_1500.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..a2826c446f4f1624b3b9f39072cd357c244eb50f
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_79_t_1500.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b535818086707da7ad51b302dd91fd9c2afa29c291c14d9a9eadc83a9064bcb9
+size 4404
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_7_t_60.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_7_t_60.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..7972b8b4ac5621e35038cf6f3aec90d42277d4c3
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_7_t_60.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:34dcf392066b751997c2e3c620898f7f0a42e104b3a18c2e2ac3a602893c931f
+size 4358
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_89_t_1700.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_89_t_1700.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..309478a441fe0e728b0e146053cdb9f378d24528
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_89_t_1700.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cade5dfbb2cf57b1fffc35c0b5ea988f77f0344128a2a0d0675a550ff65f1625
+size 4395
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_8_t_80.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_8_t_80.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..24d286551cf67fbc84d67706e1cc148e690a5ef1
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_8_t_80.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a5af97d42415efced2ac07b45dd62ab9ba428956c6c75a73a483771d4032ac46
+size 4355
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_99_t_1900.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_99_t_1900.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..711f315e6b7b1b0264151c906a1483f703b4c17d
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_99_t_1900.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4a1f667dd2ff0f893be2b57ec4fb56f2a59cbcd7efcd53d01b5f91e98a37048f
+size 4420
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_9_t_100.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_9_t_100.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..ca644435a1ce4183041449a5f53bd282aa39d182
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_richardsflow_pcs_0_ts_9_t_100.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ececdd69c66b0134874206628fec5b72e09cb1d1a42147757d1693c3d2d2d596
+size 4347
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small.prj b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small.prj
new file mode 100644
index 0000000000000000000000000000000000000000..fb75398ed7381162d1545ca3e08f6764755a59ef
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small.prj
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>Richards_2d.vtu</mesh>
+    <geometry>Richards_2d.gml</geometry>
+    <processes>
+        <process>
+            <name>RM</name>
+            <type>RICHARDS_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>
+            <solid_bulk_modulus>K_SR</solid_bulk_modulus>
+            <fluid_bulk_modulus>K_LR</fluid_bulk_modulus>
+            <biot_coefficient>alpha</biot_coefficient>
+            <solid_density>rho_sr</solid_density>
+            <process_variables>
+                <displacement>displacement</displacement>
+                <pressure>pressure</pressure>
+            </process_variables>
+            <material_property>
+                <fluid>
+                    <density>
+                        <type>Constant</type>
+                        <value> 1 </value>
+                    </density>
+                    <viscosity>
+                        <type>Constant</type>
+                        <value> 1.e-3 </value>
+                    </viscosity>
+                </fluid>
+                <porous_medium>
+                    <porous_medium id="0">
+                        <permeability>
+                            <permeability_tensor_entries>k</permeability_tensor_entries>
+                            <type>Constant</type>
+                        </permeability>
+                        <porosity>
+                            <type>Constant</type>
+                            <porosity_parameter>phi</porosity_parameter>
+                        </porosity>
+                        <storage>
+                            <type>Constant</type>
+                            <value> 0.0 </value>
+                        </storage>
+                    <capillary_pressure>
+                        <type>vanGenuchten</type>
+                        <m>0.789029535864979</m>
+                        <pc_max>36333.30</pc_max>
+                        <pd>3633.33</pd>
+                        <smax>0.95</smax>
+                        <sr>0.1689</sr>
+                    </capillary_pressure>
+                    <relative_permeability>
+                        <type>WettingPhaseVanGenuchten</type>
+                        <krel_min>1e-12</krel_min>
+                        <m>0.789029535864979</m>
+                        <smax>0.95</smax>
+                        <sr>0.1689</sr>
+                    </relative_permeability>
+                    </porous_medium>
+                </porous_medium>
+            </material_property>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="sigma" output_name="sigma"/>
+                <secondary_variable type="static" internal_name="epsilon" output_name="epsilon"/>
+                <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
+                <secondary_variable type="static" internal_name="saturation" output_name="saturation"/>
+            </secondary_variables>
+            <specific_body_force>0 -9.81</specific_body_force>
+            <temperature> temp </temperature>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="RM">
+                <nonlinear_solver>nonlinear_solver</nonlinear_solver>
+                <convergence_criterion>
+                    <type>PerComponentDeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstols>1e-7 1e-11 1e-10</abstols>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <output>
+                    <variables>
+                        <variable>displacement</variable>
+                        <variable>pressure</variable>
+                        <variable>sigma</variable>
+                        <variable>epsilon</variable>
+                        <variable>velocity</variable>
+                        <variable>saturation</variable>
+                    </variables>
+                </output>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>2000</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>10</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>50</repeat>
+                            <delta_t>20</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>RichardsFlow_2d_small</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>9</repeat>
+                    <each_steps>1</each_steps>
+                </pair>
+                <pair>
+                    <repeat>100</repeat>
+                    <each_steps>10</each_steps>
+                </pair>
+            </timesteps>
+            <output_iteration_results>false</output_iteration_results>
+        </output>
+    </time_loop>
+    <parameters>
+        <!-- Mechanics -->
+        <parameter>
+            <name>K_SR</name>
+            <type>Constant</type>
+            <value>160e300</value>
+        </parameter>
+        <parameter>
+            <name>E</name>
+            <type>Constant</type>
+            <value>5e9</value>
+        </parameter>
+        <parameter>
+            <name>nu</name>
+            <type>Constant</type>
+            <value>.1</value>
+        </parameter>
+        <!-- Model parameters -->
+        <parameter>
+            <name>k</name>
+            <type>Constant</type>
+            <value>4.46e-13</value>
+        </parameter>
+        <parameter>
+            <name>alpha</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>phi</name>
+            <type>Constant</type>
+            <value>0.38</value>
+        </parameter>
+        <parameter>
+            <name>rho_sr</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>K_LR</name>
+            <type>Constant</type>
+            <value>2.2e300</value>
+        </parameter>
+        <parameter>
+            <name>temp</name>
+            <type>Constant</type>
+            <value>293.15</value>
+        </parameter>
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0</values>
+        </parameter>
+        <parameter>
+            <name>dirichlet0</name>
+            <type>Constant</type>
+            <values>0</values>
+        </parameter>
+        <parameter>
+            <name>p0</name>
+            <type>Constant</type>
+            <value>-5000</value>
+        </parameter>
+        <parameter>
+            <name>p_Dirichlet_bottom</name>
+            <type>Constant</type>
+            <value>1000</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>Richards_2d_geometry</geometrical_set>
+                    <geometry>LEFT</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>RIGHT</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>BOTTOM</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>TOP</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>p0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>BOTTOM</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>p_Dirichlet_bottom</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>Richards_2d_geometry</geometrical_set>
+                    <geometry>TOP</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>p0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>nonlinear_solver</name>
+            <type>Newton</type>
+            <max_iter>100</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+            <!--damping>0.9</damping-->
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <eigen>
+                <solver_type>SparseLU</solver_type>
+                <scaling>true</scaling>
+                <!--
+                <solver_type>PardisoLU</solver_type>
+                -->
+            </eigen>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0.pvd b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0.pvd
new file mode 100644
index 0000000000000000000000000000000000000000..81d0bed19be1744d5235cf42bcf46f6d1b3c0716
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0.pvd
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<VTKFile type="Collection" version="0.1" byte_order="LittleEndian" compressor="vtkZLibDataCompressor">
+  <Collection>
+    <DataSet timestep="0" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_0_t_0.000000.vtu"/>
+    <DataSet timestep="1" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_1_t_1.000000.vtu"/>
+    <DataSet timestep="3" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_2_t_3.000000.vtu"/>
+    <DataSet timestep="8" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_3_t_8.000000.vtu"/>
+    <DataSet timestep="18" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_4_t_18.000000.vtu"/>
+    <DataSet timestep="38" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_5_t_38.000000.vtu"/>
+    <DataSet timestep="58" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_6_t_58.000000.vtu"/>
+    <DataSet timestep="78" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_7_t_78.000000.vtu"/>
+    <DataSet timestep="98" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_8_t_98.000000.vtu"/>
+    <DataSet timestep="118" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_9_t_118.000000.vtu"/>
+    <DataSet timestep="318" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_19_t_318.000000.vtu"/>
+    <DataSet timestep="518" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_29_t_518.000000.vtu"/>
+    <DataSet timestep="718" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_39_t_718.000000.vtu"/>
+    <DataSet timestep="918" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_49_t_918.000000.vtu"/>
+    <DataSet timestep="1118" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_59_t_1118.000000.vtu"/>
+    <DataSet timestep="1318" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_69_t_1318.000000.vtu"/>
+    <DataSet timestep="1518" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_79_t_1518.000000.vtu"/>
+    <DataSet timestep="1718" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_89_t_1718.000000.vtu"/>
+    <DataSet timestep="1918" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_99_t_1918.000000.vtu"/>
+    <DataSet timestep="2000" group="" part="0" file="RichardsFlow_2d_small_pcs_0_ts_104_t_2000.000000.vtu"/>
+  </Collection>
+</VTKFile>
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_0_t_0.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_0_t_0.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..080b872b8f572a200ee62cecfa1f01ff4170437e
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_0_t_0.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9b777be31f90ab6ab765aa0f75d0ffb288bf905e6a22cd6dab4e9601881e0d2d
+size 7907
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_104_t_2000.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_104_t_2000.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..1bc0d62c1caa49b02f3e105fca4bce6f65c2b5f9
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_104_t_2000.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6712e56a933409dab30238242d7ea73f7303012c31fb2f6cef5880dd03da51ab
+size 40439
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_19_t_318.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_19_t_318.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..a3ea5cbceb8383018b78c016bbfc59ca67a17a45
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_19_t_318.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f8ad15919d42474e466bb56bf298a0294044c6f8f9168554699f5a32abebdff7
+size 40771
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_1_t_1.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_1_t_1.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..236b96d902fcd3f4707222519d57a005f0788a20
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_1_t_1.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d945de267a2957763e3593bf0207ee5c7086d58d181d6df23b3e8200bad4115b
+size 40139
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_29_t_518.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_29_t_518.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..f14803a9dc0b28da7a07365ce4998565bbde8d66
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_29_t_518.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ada9d4d5b1d7f7d84b4a9d244e28cfb0a1623edaf59d385e088a2396c5fb8f2b
+size 40282
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_2_t_3.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_2_t_3.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..b7472fd857e4fb2e34b0679d896305326d728173
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_2_t_3.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ee70c0dcf7cf252965f40cee6d3604d8ee7fc47bf4ce072cef66f663ef68cea9
+size 39308
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_39_t_718.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_39_t_718.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..f9bda67dbdbbcf74788a8e6c7fddce134d8b1e27
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_39_t_718.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1b7b592b267fd583ac528fb7321edba8f26e1fd14e58942d202d753911cac9f9
+size 40467
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_3_t_8.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_3_t_8.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..1e621e899aa90268e6bd1a4eb7dc4129fe853a36
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_3_t_8.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8388d9daefc0e0edd69fd992201bb32c7afe70f5b815e56e59559b9d5d297751
+size 39796
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_49_t_918.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_49_t_918.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..fec7eba0ccd1ae0466ba8c48e0d0d2fbd1ee7b29
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_49_t_918.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:eb72701046aa78f9719d1c2209d7b2cc39eac2409c37ed50445455b3bb8cf8ab
+size 40463
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_4_t_18.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_4_t_18.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..a587648e6d615bb77d82fdbbe707fb88b572a6c6
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_4_t_18.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0bb02dc84476c959f044fbfe136a637c6ebdbf10bff61a48023e6ee040b47177
+size 39528
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_59_t_1118.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_59_t_1118.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..2296ca6296868ba63b6fcb9823688d26bdace41b
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_59_t_1118.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:21ff9bf6479f701c03474482f047d4ff189298bf769f2a8e6fe3409d4278e4b0
+size 41155
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_5_t_38.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_5_t_38.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..5aed7fa73c3933bad2b5c07810dfcd5cb6e63fee
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_5_t_38.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3e17d83929c78459462a6282e9c1fa04accf1faca232dc17e4b5631dd4006986
+size 39900
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_69_t_1318.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_69_t_1318.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..b6f5d111bb9d8a3fc7e8bc34a1a1c69bf60acaca
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_69_t_1318.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:39f65cc2000506d12da621a6cf8ea4c3b6fd79f88c6ef9fd37ee208b4e8b53d6
+size 40575
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_6_t_58.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_6_t_58.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..b0a4eb5a7e3e99de34d59c59d887e84cf8bdb357
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_6_t_58.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:09abff3b241912ca0adc9b1a8b027f8c4fc019496f4b35e7caa2e4cec431e3f8
+size 40335
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_79_t_1518.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_79_t_1518.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..a392faab134dbf9e179647244bfb317f12337e55
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_79_t_1518.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:323b6efa89483400b93c48ab0b723cb5399cebd26be648b3c471c83584d1e04e
+size 40806
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_7_t_78.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_7_t_78.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..1a8afbedc08ffd1255f56d9df06b2591b05dc5be
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_7_t_78.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7602b7dbb8ea84b51b2e86ce3688931bad0a02f7e2862117451dc5593344ddb5
+size 40622
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_89_t_1718.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_89_t_1718.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..87b9a181831248acea03be1111eed1e1e7b06787
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_89_t_1718.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d31d9d6f8481319bad0b4ee829b73c721f6f3eb3911ca969310ca2d6ad03e655
+size 40620
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_8_t_98.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_8_t_98.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..0b91f3fbf420674825b4a378063b440106931ddb
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_8_t_98.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:47249c58b1811a5aa7c2afc62094ea980ac52732f0b694452f78955fb4af3db0
+size 40616
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_99_t_1918.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_99_t_1918.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..51f5dc89f5bf87dd25139afee07c9625e1782c2a
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_99_t_1918.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d94176b5141381071f3d498f270c6b42990ce7e8060783f8bbbac3e54c1ac804
+size 41069
diff --git a/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_9_t_118.000000.vtu b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_9_t_118.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..73486a6b3c086ed7a8fa8f63958eba035c37ec7f
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/RichardsFlow_2d_small_pcs_0_ts_9_t_118.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d3d53e70c0e6c59b71124ffe1e473577afe734ae3d21547615a31f3e0eb7e2f4
+size 39900
diff --git a/Tests/Data/RichardsMechanics/Richards_2d.gml b/Tests/Data/RichardsMechanics/Richards_2d.gml
new file mode 100644
index 0000000000000000000000000000000000000000..efd7d9f4e3384cb51fd4a3407959330a54ef736e
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/Richards_2d.gml
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a525734eb3adb4d268916b37338215b34c1d2b8bd93a1efd4f171927b170aa99
+size 1051
diff --git a/Tests/Data/RichardsMechanics/Richards_2d.vtu b/Tests/Data/RichardsMechanics/Richards_2d.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..0a31e076ef770cd0b6cd19f6639bcf6f1c83c1fb
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/Richards_2d.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:405f01ad621f8d0e155f61149f15afc5df6ad8fcd32712e47f4260653ecae17e
+size 24285
diff --git a/Tests/Data/RichardsMechanics/Richards_2d_linear.vtu b/Tests/Data/RichardsMechanics/Richards_2d_linear.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..20a51b9c3ab18241b175543ae3bec1c19ff2eef2
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/Richards_2d_linear.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:61be324bb28dfe4b9585eaf71b7f118af9bac58b2b24260f7965b7153113a491
+size 3481
diff --git a/Tests/Data/RichardsMechanics/confined_compression_fully_saturated.prj b/Tests/Data/RichardsMechanics/confined_compression_fully_saturated.prj
new file mode 100644
index 0000000000000000000000000000000000000000..bad95d5a0851b4795fc02de7178bfb1987fdd052
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/confined_compression_fully_saturated.prj
@@ -0,0 +1,320 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>square_1x1_quad8_1e2.vtu</mesh>
+    <geometry>square_1x1.gml</geometry>
+    <processes>
+        <process>
+            <name>RM</name>
+            <type>RICHARDS_MECHANICS</type>
+            <integration_order>3</integration_order>
+            <dimension>2</dimension>
+            <!--KEEP FOR TESTING
+            <jacobian_assembler>
+                <type>CentralDifferences</type>
+                <component_magnitudes>1e5 1e5 1e5 1e5 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2</component_magnitudes>
+                <relative_epsilons>1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8</relative_epsilons>
+            </jacobian_assembler>
+            -->
+            <constitutive_relation>
+                <type>LinearElasticIsotropic</type>
+                <youngs_modulus>E</youngs_modulus>
+                <poissons_ratio>nu</poissons_ratio>
+            </constitutive_relation>
+            <intrinsic_permeability>k</intrinsic_permeability>
+            <solid_bulk_modulus>K_SR</solid_bulk_modulus>
+            <fluid_bulk_modulus>K_LR</fluid_bulk_modulus>
+            <biot_coefficient>alpha</biot_coefficient>
+            <solid_density>rho_sr</solid_density>
+            <process_variables>
+                <displacement>displacement</displacement>
+                <pressure>pressure</pressure>
+            </process_variables>
+            <material_property>
+                <fluid>
+                    <density>
+                        <type>Constant</type>
+                        <value>1e-6</value>
+                    </density>
+                    <viscosity>
+                        <type>Constant</type>
+                        <value>1e-9</value>
+                    </viscosity>
+                </fluid>
+                <porous_medium>
+                    <porous_medium id="0">
+                        <permeability>
+                            <permeability_tensor_entries>k</permeability_tensor_entries>
+                            <type>Constant</type>
+                        </permeability>
+                        <porosity>
+                            <type>Constant</type>
+                            <porosity_parameter>phi</porosity_parameter>
+                        </porosity>
+                        <storage>
+                            <type>Constant</type>
+                            <value>1e+300</value>
+                        </storage>
+                        <capillary_pressure>
+                            <type>Curve</type>
+                            <curve>
+                                <coords>1 0.98684211 0.97368421 0.96052632 0.94894737 0.92105263 0.89473684 0.86842105 0.84210526 0.81578947 0.78947368 0.65789474 0.63157895 0.57894737 0.52631579 0.39473684 0.26315789
+                                </coords>
+                                <values>1421.99634 1707.55369 2050.45507 2462.21599 2892.29884 3232.80969 3590.71602 3988.24638 4429.78757 4920.21206 5464.93174 9238.24221 10261.0136 12658.7874 15616.8683 26399.6732 44627.5611
+                                </values>
+                            </curve>
+                        </capillary_pressure>
+                        <relative_permeability>
+                            <type>Curve</type>
+                            <curve>
+                                <coords>0.26315789 0.39473684 0.52631579 0.57894737 0.63157895 0.65789474 0.78947368 0.81578947 0.84210526 0.86842105 0.89473684 0.92105263 0.94894737 0.96052632 0.97368421 0.98684211 1
+                                    </coords>
+                                <values>4.43E-05 0.00026547 0.00159003 0.00325358 0.00665757 0.00952343 0.05704014 0.08159396 0.11671736 0.16696017 0.23883078 0.34163922 0.49931406 0.58449912 0.69907308 0.8361059 1
+                                    </values>
+                            </curve>
+                        </relative_permeability>
+                    </porous_medium>
+                </porous_medium>
+            </material_property>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="sigma" output_name="sigma"/>
+                <secondary_variable type="static" internal_name="epsilon" output_name="epsilon"/>
+                <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
+                <secondary_variable type="static" internal_name="saturation" output_name="saturation"/>
+            </secondary_variables>
+            <specific_body_force>0 0</specific_body_force>
+            <temperature> temp </temperature>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="RM">
+                <nonlinear_solver>basic_newton</nonlinear_solver>
+                <convergence_criterion>
+                    <type>PerComponentDeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstols>1e-8 1e-11 1e-8</abstols>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <output>
+                    <variables>
+                        <variable>displacement</variable>
+                        <variable>pressure</variable>
+                        <variable>sigma</variable>
+                        <variable>epsilon</variable>
+                        <variable>velocity</variable>
+                        <variable>saturation</variable>
+                    </variables>
+                </output>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>4000</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>40</repeat>
+                            <delta_t>5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>10</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>confined_compression_fully_saturated</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>10000</repeat>
+                    <each_steps>1</each_steps>
+                </pair>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>19</each_steps>
+                </pair>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>100</each_steps>
+                </pair>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>300</each_steps>
+                </pair>
+            </timesteps>
+        </output>
+    </time_loop>
+    <parameters>
+        <!-- Mechanics -->
+        <parameter>
+            <name>K_SR</name>
+            <type>Constant</type>
+            <value>1e100</value>
+        </parameter>
+        <parameter>
+            <name>E</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>nu</name>
+            <type>Constant</type>
+            <value>.1</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-9</value>
+        </parameter>
+        <parameter>
+            <name>alpha</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>phi</name>
+            <type>Constant</type>
+            <value>0.8</value>
+        </parameter>
+        <parameter>
+            <name>rho_sr</name>
+            <type>Constant</type>
+            <value>1.2e-6</value>
+        </parameter>
+        <parameter>
+            <name>K_LR</name>
+            <type>Constant</type>
+            <value>1e100</value>
+        </parameter>
+        <parameter>
+            <name>temp</name>
+            <type>Constant</type>
+            <value>293.15</value>
+        </parameter>
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0</values>
+        </parameter>
+        <parameter>
+            <name>pressure_ic</name>
+            <type>Constant</type>
+            <values>0</values>
+        </parameter>
+        <parameter>
+            <name>p_neumann</name>
+            <type>Constant</type>
+            <values>1</values>
+        </parameter>
+        <parameter>
+            <name>dirichlet0</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>dirichlet1</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>displacementTop</name>
+            <type>Constant</type>
+            <value>-0.05</value>
+        </parameter>
+        <parameter>
+            <name>displacementRamp</name>
+            <type>CurveScaled</type>
+            <curve>timeRamp</curve>
+            <parameter>displacementTop</parameter>
+        </parameter>
+    </parameters>
+    <curves>
+        <curve>
+            <name>timeRamp</name>
+            <coords>0 100 10000</coords>
+            <values>0 1   1</values>
+        </curve>
+    </curves>
+    <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>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>right</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>bottom</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>top</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>displacementRamp</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>pressure_ic</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>top</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>dirichlet0</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>
+            <eigen>
+                <solver_type>SparseLU</solver_type>
+                <scaling>true</scaling>
+                <!--
+                <solver_type>PardisoLU</solver_type>
+                -->
+            </eigen>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
diff --git a/Tests/Data/RichardsMechanics/flow_fully_saturated.prj b/Tests/Data/RichardsMechanics/flow_fully_saturated.prj
new file mode 100644
index 0000000000000000000000000000000000000000..c118cf6e181917aa8d581dbae49fb4c3f18d40a7
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/flow_fully_saturated.prj
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>square_1x1_quad8_1e2.vtu</mesh>
+    <geometry>square_1x1.gml</geometry>
+    <processes>
+        <process>
+            <name>RM</name>
+            <type>RICHARDS_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>
+            <solid_bulk_modulus>K_SR</solid_bulk_modulus>
+            <fluid_bulk_modulus>K_LR</fluid_bulk_modulus>
+            <biot_coefficient>alpha</biot_coefficient>
+            <solid_density>rho_sr</solid_density>
+            <process_variables>
+                <displacement>displacement</displacement>
+                <pressure>pressure</pressure>
+            </process_variables>
+            <material_property>
+                <fluid>
+                    <density>
+                        <type>Constant</type>
+                        <value>1</value>
+                    </density>
+                    <viscosity>
+                        <type>Constant</type>
+                        <value>1e-9</value>
+                    </viscosity>
+                </fluid>
+                <porous_medium>
+                    <porous_medium id="0">
+                        <permeability>
+                            <permeability_tensor_entries>k</permeability_tensor_entries>
+                            <type>Constant</type>
+                        </permeability>
+                        <porosity>
+                            <type>Constant</type>
+                            <porosity_parameter>phi</porosity_parameter>
+                        </porosity>
+                        <storage>
+                            <type>Constant</type>
+                            <value>1e+300</value>
+                        </storage>
+                        <capillary_pressure>
+                            <type>Curve</type>
+                            <curve>
+                                <coords>1 0.98684211 0.97368421 0.96052632 0.94894737 0.92105263 0.89473684 0.86842105 0.84210526 0.81578947 0.78947368 0.65789474 0.63157895 0.57894737 0.52631579 0.39473684 0.26315789
+                                </coords>
+                                <values>1421.99634 1707.55369 2050.45507 2462.21599 2892.29884 3232.80969 3590.71602 3988.24638 4429.78757 4920.21206 5464.93174 9238.24221 10261.0136 12658.7874 15616.8683 26399.6732 44627.5611
+                                </values>
+                            </curve>
+                        </capillary_pressure>
+                        <relative_permeability>
+                            <type>Curve</type>
+                            <curve>
+                                <coords>0.26315789 0.39473684 0.52631579 0.57894737 0.63157895 0.65789474 0.78947368 0.81578947 0.84210526 0.86842105 0.89473684 0.92105263 0.94894737 0.96052632 0.97368421 0.98684211 1
+                                    </coords>
+                                <values>4.43E-05 0.00026547 0.00159003 0.00325358 0.00665757 0.00952343 0.05704014 0.08159396 0.11671736 0.16696017 0.23883078 0.34163922 0.49931406 0.58449912 0.69907308 0.8361059 1
+                                    </values>
+                            </curve>
+                        </relative_permeability>
+                    </porous_medium>
+                </porous_medium>
+            </material_property>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="sigma" output_name="sigma"/>
+                <secondary_variable type="static" internal_name="epsilon" output_name="epsilon"/>
+                <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
+                <secondary_variable type="static" internal_name="saturation" output_name="saturation"/>
+            </secondary_variables>
+            <specific_body_force>0 0</specific_body_force>
+            <temperature> temp </temperature>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="RM">
+                <nonlinear_solver>basic_newton</nonlinear_solver>
+                <convergence_criterion>
+                    <type>PerComponentDeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstols>1e-14 1e-16 1e-16</abstols>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <output>
+                    <variables>
+                        <variable>displacement</variable>
+                        <variable>pressure</variable>
+                        <variable>sigma</variable>
+                        <variable>epsilon</variable>
+                        <variable>velocity</variable>
+                        <variable>saturation</variable>
+                    </variables>
+                </output>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>2</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>2</repeat>
+                            <delta_t>1</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>flow_fully_saturated</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>10000</repeat>
+                    <each_steps>1</each_steps>
+                </pair>
+            </timesteps>
+        </output>
+    </time_loop>
+    <parameters>
+        <!-- Mechanics -->
+        <parameter>
+            <name>K_SR</name>
+            <type>Constant</type>
+            <value>1e100</value>
+        </parameter>
+        <parameter>
+            <name>E</name>
+            <type>Constant</type>
+            <value>1e10</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-9</value>
+        </parameter>
+        <parameter>
+            <name>alpha</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>phi</name>
+            <type>Constant</type>
+            <value>0.8</value>
+        </parameter>
+        <parameter>
+            <name>rho_sr</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>K_LR</name>
+            <type>Constant</type>
+            <value>1e100</value>
+        </parameter>
+        <parameter>
+            <name>temp</name>
+            <type>Constant</type>
+            <value>293.15</value>
+        </parameter>
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0</values>
+        </parameter>
+        <parameter>
+            <name>pressure_ic</name>
+            <type>Constant</type>
+            <values>0</values>
+        </parameter>
+        <parameter>
+            <name>dirichlet0</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>dirichlet1</name>
+            <type>Constant</type>
+            <value>1</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>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>right</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>bottom</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>top</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>pressure_ic</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>left</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>right</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>dirichlet1</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>
+            <eigen>
+                <solver_type>SparseLU</solver_type>
+                <scaling>true</scaling>
+                <!--
+                <solver_type>PardisoLU</solver_type>
+                -->
+            </eigen>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
diff --git a/Tests/Data/RichardsMechanics/flow_fully_saturated_pcs_0_ts_1_t_1.000000.vtu b/Tests/Data/RichardsMechanics/flow_fully_saturated_pcs_0_ts_1_t_1.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..84fe15f281179909dc75865cce3de8d7384cb1b5
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/flow_fully_saturated_pcs_0_ts_1_t_1.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a2d099e4aa6fc6f991ce3b551f959e4786455fef7334a03f2881dc32bebd59d8
+size 33199
diff --git a/Tests/Data/RichardsMechanics/flow_fully_saturated_pcs_0_ts_2_t_2.000000.vtu b/Tests/Data/RichardsMechanics/flow_fully_saturated_pcs_0_ts_2_t_2.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..21d83ee03b805ae92a9c5f8dca1e11bf27053ac1
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/flow_fully_saturated_pcs_0_ts_2_t_2.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7c8d465ad05f1f36c9e3d47cc514a569baefa2515ddf8b6ef9ad4bc6177c97f8
+size 33205
diff --git a/Tests/Data/RichardsMechanics/gravity.prj b/Tests/Data/RichardsMechanics/gravity.prj
new file mode 100644
index 0000000000000000000000000000000000000000..66b38037f1b18722a810e381b1dd1bbf55a04d14
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity.prj
@@ -0,0 +1,284 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>square_1x1_quad8_1e2.vtu</mesh>
+    <geometry>square_1x1.gml</geometry>
+    <processes>
+        <process>
+            <name>RM</name>
+            <type>RICHARDS_MECHANICS</type>
+            <integration_order>3</integration_order>
+            <dimension>2</dimension>
+            <!--
+            <jacobian_assembler>
+                <type>CentralDifferences</type>
+                <component_magnitudes>1e5 1e5 1e5 1e5 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6 1e-6</component_magnitudes>
+                <relative_epsilons>1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8</relative_epsilons>
+            </jacobian_assembler>
+            -->
+            <constitutive_relation>
+                <type>LinearElasticIsotropic</type>
+                <youngs_modulus>E</youngs_modulus>
+                <poissons_ratio>nu</poissons_ratio>
+            </constitutive_relation>
+            <intrinsic_permeability>k</intrinsic_permeability>
+            <solid_bulk_modulus>K_SR</solid_bulk_modulus>
+            <fluid_bulk_modulus>K_LR</fluid_bulk_modulus>
+            <biot_coefficient>alpha</biot_coefficient>
+            <solid_density>rho_sr</solid_density>
+            <process_variables>
+                <displacement>displacement</displacement>
+                <pressure>pressure</pressure>
+            </process_variables>
+            <material_property>
+                <fluid>
+                    <density>
+                        <type>Constant</type>
+                        <value> 1.e3 </value>
+                    </density>
+                    <viscosity>
+                        <type>Constant</type>
+                        <value> 1.e-3 </value>
+                    </viscosity>
+                </fluid>
+                <porous_medium>
+                    <porous_medium id="0">
+                        <permeability>
+                            <permeability_tensor_entries>kappa1</permeability_tensor_entries>
+                            <type>Constant</type>
+                        </permeability>
+                        <porosity>
+                            <type>Constant</type>
+                            <porosity_parameter>phi</porosity_parameter>
+                        </porosity>
+                        <storage>
+                            <type>Constant</type>
+                            <value> 0.0 </value>
+                        </storage>
+                    <capillary_pressure>
+                        <type>vanGenuchten</type>
+                        <m>0.789029535864979</m>
+                        <pc_max>36333.30</pc_max>
+                        <pd>3633.33</pd>
+                        <smax>0.99</smax>
+                        <sr>0.01</sr>
+                    </capillary_pressure>
+                    <relative_permeability>
+                        <type>WettingPhaseVanGenuchten</type>
+                        <krel_min>1e-12</krel_min>
+                        <m>0.789029535864979</m>
+                        <smax>0.99</smax>
+                        <sr>0.01</sr>
+                    </relative_permeability>
+                    </porous_medium>
+                </porous_medium>
+            </material_property>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="sigma" output_name="sigma"/>
+                <secondary_variable type="static" internal_name="epsilon" output_name="epsilon"/>
+                <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
+                <secondary_variable type="static" internal_name="saturation" output_name="saturation"/>
+            </secondary_variables>
+            <specific_body_force>0 -9.81</specific_body_force>
+            <temperature> temp </temperature>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="RM">
+                <nonlinear_solver>nonlinear_solver</nonlinear_solver>
+                <convergence_criterion>
+                    <type>PerComponentDeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstols>1e-10 1e-16 1e-16</abstols>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <output>
+                    <variables>
+                        <variable>displacement</variable>
+                        <variable>pressure</variable>
+                        <variable>sigma</variable>
+                        <variable>epsilon</variable>
+                        <variable>velocity</variable>
+                        <variable>saturation</variable>
+                    </variables>
+                </output>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>10</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>0.001</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>0.009</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>9</repeat>
+                            <delta_t>0.01</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>9</repeat>
+                            <delta_t>0.1</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>4</repeat>
+                            <delta_t>1</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>5</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>gravity</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>100000</repeat>
+                    <each_steps>1</each_steps>
+                </pair>
+            </timesteps>
+            <output_iteration_results>false</output_iteration_results>
+        </output>
+    </time_loop>
+    <parameters>
+        <!-- Mechanics -->
+        <parameter>
+            <name>K_SR</name>
+            <type>Constant</type>
+            <value>100e9</value>
+        </parameter>
+        <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-3</value>
+        </parameter>
+        <parameter>
+            <name>alpha</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>phi</name>
+            <type>Constant</type>
+            <value>0.5</value>
+        </parameter>
+        <parameter>
+            <name>rho_sr</name>
+            <type>Constant</type>
+            <value>1e3</value>
+        </parameter>
+        <parameter>
+            <name>K_LR</name>
+            <type>Constant</type>
+            <value>2.2e9</value>
+        </parameter>
+        <parameter>
+            <name>temp</name>
+            <type>Constant</type>
+            <value>293.15</value>
+        </parameter>
+        <parameter>
+            <name>kappa1</name>
+            <type>Constant</type>
+            <values>4.46e-13</values>
+        </parameter>
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0</values>
+        </parameter>
+        <parameter>
+            <name>dirichlet0</name>
+            <type>Constant</type>
+            <values>0</values>
+        </parameter>
+        <parameter>
+            <name>p0</name>
+            <type>Constant</type>
+            <value>10000</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>origin</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>bottom</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>p0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>bottom</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>p0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>nonlinear_solver</name>
+            <type>Newton</type>
+            <max_iter>30</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <eigen>
+                <solver_type>SparseLU</solver_type>
+                <scaling>true</scaling>
+                <!--
+                <solver_type>PardisoLU</solver_type>
+                -->
+            </eigen>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_10_t_0.090000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_10_t_0.090000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..2d744efc5855e8601fe4dcaf6654bda7a84fe89a
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_10_t_0.090000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e738355ad8029276ff12226d913d263d064a770a52dae15cb737a35cd923830f
+size 36991
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_11_t_0.100000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_11_t_0.100000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..1e49423e371c55f3c3c3d1f737dc31ad465b468b
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_11_t_0.100000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1d289ef4df48705d81466298e5761b5e5896fbe6d364b0d638d161cceaa82f0d
+size 37173
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_12_t_0.200000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_12_t_0.200000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..e60b731f470e77d0d152fa0c98539120b0c1793c
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_12_t_0.200000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ba00bae64c8bef68b0dd34995623b9332c182e00b8f25538e44b536a369daa64
+size 37185
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_13_t_0.300000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_13_t_0.300000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..30be7a07818e0c5fa139d8f7f25c784af8740572
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_13_t_0.300000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:eca1e8c9200a813810c6bf586ebbe8eb8c8f504b9e1dce069339e9ac3c5decd9
+size 37420
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_14_t_0.400000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_14_t_0.400000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..4064aec9977cea85e7b7a429f78196fa5d64cba7
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_14_t_0.400000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0cb8ec2511f5c59e8ed5f470badf50ba9f375fa8bbe3b5b06827776c8907d452
+size 37517
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_15_t_0.500000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_15_t_0.500000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..2eca66f64c9b09799794dafcbd0f593780bd167b
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_15_t_0.500000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cbd104e80d0271e07c770901ecee42815e8d458a8ed5f1aca9ab94cb1ce4a26a
+size 37312
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_16_t_0.600000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_16_t_0.600000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..c44bf16576ad0b3380c84fcdc76a0aa7c153c1b6
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_16_t_0.600000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b216a078044c122de5e62e0f687b19e255466bf3b43f9bf85602b78faf3db09e
+size 37477
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_17_t_0.700000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_17_t_0.700000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..55f63957bfba0ab498a7b0c6e0f5c7f00d00060b
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_17_t_0.700000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c505bdb081fd8e3eeb8fb59dbb83f11a2d41d086c9b23bd2b11129a5746ce88d
+size 37476
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_18_t_0.800000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_18_t_0.800000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..30ebedf6cff763872ceed7720b9f68c664d03cc3
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_18_t_0.800000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d2add5a3640b29a07d72e18446607060dd9ab3b96367dc936e9a2aa96f78bfbf
+size 37349
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_19_t_0.900000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_19_t_0.900000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..181de6250033c80967c4c79f3e3f2bdf6f454f89
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_19_t_0.900000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1c27b190c3242cba97ec2b1514700db08630d7a106c9586ab637169769b67a9a
+size 37489
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_1_t_0.001000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_1_t_0.001000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..fed10c20e53c21613e00efc26820ccb4598a554a
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_1_t_0.001000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:352971b2bf4eda3505b7f9bb8428db36327de3daf34c6856bab269281f999c47
+size 36432
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_20_t_1.000000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_20_t_1.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..6c6b9610adff1acfc981b5814980d2830aa4d096
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_20_t_1.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bc71065713974241a7c4ab242041f4be7d5f426579f3438b2a7d6107071955b2
+size 37329
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_21_t_2.000000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_21_t_2.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..77abcce1fc861c9850110f7d21acc9b3a5a186c5
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_21_t_2.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:54b1bc91697798bfe33dfa729143788d97f388f1d10c179ef39186d05dcb906b
+size 37613
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_22_t_3.000000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_22_t_3.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..4608a0df06c448c4f65c2411f06b26f704ec1002
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_22_t_3.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9cb45e2fc37a272709f63d7af318ecde52c8bf2c4e6d5382fb89650b7f394bd3
+size 37433
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_23_t_4.000000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_23_t_4.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..8a4de495e00a31673d3083e96e525b937347839c
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_23_t_4.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1a9d250ea810026c586bbae461c95e2c5a2089ddf9187eb1fb4351d659d607fe
+size 37552
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_24_t_5.000000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_24_t_5.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..d31389671070d2b4d20d5bbf5478ccb71494f0c7
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_24_t_5.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5cdf7a044def25f57b4d70faac6e4d2e0e4da75e405279794c60767712c1c295
+size 37836
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_25_t_10.000000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_25_t_10.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..ff5d241f8c90e5b93ebdaa67d6872c69f13565a2
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_25_t_10.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1018dabfa45ce747a677b721cefb72f91fa28059a2aa796f6a462d0e7715a3ee
+size 37814
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_2_t_0.010000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_2_t_0.010000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..7954380c3d231b8e68203827b5a3eb68356c2a55
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_2_t_0.010000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3be7f623a3a55ad964caabd06b0196afd6017794baecd25501e247c38cd81464
+size 37117
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_3_t_0.020000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_3_t_0.020000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..4ffd56a8e0ad1ab8ea582d9d8990377c68b8cfac
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_3_t_0.020000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3f3dd8e18da7310a22771df7fa0eea56111a4c827b2616eafdec37b6834dc3f3
+size 36863
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_4_t_0.030000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_4_t_0.030000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..5f9657b3282812a5310306defa9d6c7c7fde5a66
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_4_t_0.030000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d7f42e75acb83f7578c7d9f28472a9ae0d6747b5545a7e7069c7244c80810271
+size 36997
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_5_t_0.040000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_5_t_0.040000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..23caf1b79b455910ce5dfe44d20395f0f16805c8
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_5_t_0.040000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ad4b65ebb50a39f46a36b7334ba86a70d7816ddac3f2d4b644e2b937efd0bae8
+size 37133
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_6_t_0.050000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_6_t_0.050000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..0169f56c0466dbaa13dc4bbdd1258d7783192c7f
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_6_t_0.050000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0993267632b665dd5daf94302affdbace457bca86480e589a89e4619defbfcbb
+size 37109
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_7_t_0.060000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_7_t_0.060000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..739d020cd4571b4609e8bca8270fd2b061d20f09
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_7_t_0.060000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:89f36b606a65e36c13b9cb86d5e33d40910f76a4a44cd23713a54038d04f6608
+size 37064
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_8_t_0.070000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_8_t_0.070000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..cc907a96b8349cc4c91eb9b48105f342a5e68852
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_8_t_0.070000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7e39a1367e4ef754c0588aad51290d8bd4e67ab5ad134c4945ef73d18fbf0cfe
+size 37133
diff --git a/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_9_t_0.080000.vtu b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_9_t_0.080000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..60f6634971623fc4b7a8029a68f08a1fe0dd0617
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/gravity_pcs_0_ts_9_t_0.080000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:067dc4a7f63dfafd2e2b00ff62f320aa5140f69ef670fd945da183e30d0226ee
+size 37260
diff --git a/Tests/Data/RichardsMechanics/mechanics_linear.prj b/Tests/Data/RichardsMechanics/mechanics_linear.prj
new file mode 100644
index 0000000000000000000000000000000000000000..6d0e8ae8c35a2d9c296bea6de3e29dafe4da30c5
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/mechanics_linear.prj
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+    Mechanics setup identical to Mechanics/Linear/square_1e2.prj.
+    No flow and no coupling between pressure and displacement.
+    Solved on quad8 mesh because of the process requirements for order of
+    pressure being one lower then the order of displacement.
+-->
+<OpenGeoSysProject>
+    <mesh>square_1x1_quad8_1e2.vtu</mesh>
+    <geometry>square_1x1.gml</geometry>
+    <processes>
+        <process>
+            <name>RM</name>
+            <type>RICHARDS_MECHANICS</type>
+            <integration_order>3</integration_order>
+            <dimension>2</dimension>
+            <!--KEEP FOR TESTING
+            <jacobian_assembler>
+                <type>CentralDifferences</type>
+                <component_magnitudes>1e5 1e5 1e5 1e5 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2 1e-2</component_magnitudes>
+                <relative_epsilons>1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8 1e-8</relative_epsilons>
+            </jacobian_assembler>
+            -->
+            <constitutive_relation>
+                <type>LinearElasticIsotropic</type>
+                <youngs_modulus>E</youngs_modulus>
+                <poissons_ratio>nu</poissons_ratio>
+            </constitutive_relation>
+            <intrinsic_permeability>k</intrinsic_permeability>
+            <solid_bulk_modulus>K_SR</solid_bulk_modulus>
+            <fluid_bulk_modulus>K_LR</fluid_bulk_modulus>
+            <biot_coefficient>alpha</biot_coefficient>
+            <solid_density>rho_sr</solid_density>
+            <process_variables>
+                <displacement>displacement</displacement>
+                <pressure>pressure</pressure>
+            </process_variables>
+            <material_property>
+                <fluid>
+                    <density>
+                        <type>Constant</type>
+                        <value>1e-6</value>
+                    </density>
+                    <viscosity>
+                        <type>Constant</type>
+                        <value>1e-9</value>
+                    </viscosity>
+                </fluid>
+                <porous_medium>
+                    <porous_medium id="0">
+                        <permeability>
+                            <permeability_tensor_entries>k</permeability_tensor_entries>
+                            <type>Constant</type>
+                        </permeability>
+                        <porosity>
+                            <type>Constant</type>
+                            <porosity_parameter>phi</porosity_parameter>
+                        </porosity>
+                        <storage>
+                            <type>Constant</type>
+                            <value>1e+300</value>
+                        </storage>
+                        <capillary_pressure>
+                            <type>Curve</type>
+                            <curve>
+                                <coords>1 0.98684211 0.97368421 0.96052632 0.94894737 0.92105263 0.89473684 0.86842105 0.84210526 0.81578947 0.78947368 0.65789474 0.63157895 0.57894737 0.52631579 0.39473684 0.26315789
+                                </coords>
+                                <values>1421.99634 1707.55369 2050.45507 2462.21599 2892.29884 3232.80969 3590.71602 3988.24638 4429.78757 4920.21206 5464.93174 9238.24221 10261.0136 12658.7874 15616.8683 26399.6732 44627.5611
+                                </values>
+                            </curve>
+                        </capillary_pressure>
+                        <relative_permeability>
+                            <type>Curve</type>
+                            <curve>
+                                <coords>0.26315789 0.39473684 0.52631579 0.57894737 0.63157895 0.65789474 0.78947368 0.81578947 0.84210526 0.86842105 0.89473684 0.92105263 0.94894737 0.96052632 0.97368421 0.98684211 1
+                                    </coords>
+                                <values>4.43E-05 0.00026547 0.00159003 0.00325358 0.00665757 0.00952343 0.05704014 0.08159396 0.11671736 0.16696017 0.23883078 0.34163922 0.49931406 0.58449912 0.69907308 0.8361059 1
+                                    </values>
+                            </curve>
+                        </relative_permeability>
+                    </porous_medium>
+                </porous_medium>
+            </material_property>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="sigma" output_name="sigma"/>
+                <secondary_variable type="static" internal_name="epsilon" output_name="epsilon"/>
+                <secondary_variable type="static" internal_name="velocity" output_name="velocity"/>
+                <secondary_variable type="static" internal_name="saturation" output_name="saturation"/>
+            </secondary_variables>
+            <specific_body_force>0 0</specific_body_force>
+            <temperature> temp </temperature>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="RM">
+                <nonlinear_solver>basic_newton</nonlinear_solver>
+                <convergence_criterion>
+                    <type>PerComponentDeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstols>1e-14 1e-14 1e-14</abstols>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <output>
+                    <variables>
+                        <variable>displacement</variable>
+                        <variable>pressure</variable>
+                        <variable>sigma</variable>
+                        <variable>epsilon</variable>
+                        <variable>velocity</variable>
+                        <variable>saturation</variable>
+                    </variables>
+                </output>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>1</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>4</repeat>
+                            <delta_t>0.25</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>mechanics_linear</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>10000000</each_steps>
+                </pair>
+            </timesteps>
+        </output>
+    </time_loop>
+    <parameters>
+        <!-- Mechanics -->
+        <parameter>
+            <name>K_SR</name>
+            <type>Constant</type>
+            <value>1e100</value>
+        </parameter>
+        <parameter>
+            <name>E</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>nu</name>
+            <type>Constant</type>
+            <value>.3</value>
+        </parameter>
+        <!-- Model parameters -->
+        <parameter>
+            <name>k</name>
+            <type>Constant</type>
+            <value>1e-100</value>
+        </parameter>
+        <parameter>
+            <name>mu</name>
+            <type>Constant</type>
+            <value>1e100</value>
+        </parameter>
+        <parameter>
+            <name>alpha</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>phi</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>rho_sr</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>K_LR</name>
+            <type>Constant</type>
+            <value>1e100</value>
+        </parameter>
+        <parameter>
+            <name>temp</name>
+            <type>Constant</type>
+            <value>293.15</value>
+        </parameter>
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0</values>
+        </parameter>
+        <parameter>
+            <name>pressure_ic</name>
+            <type>Constant</type>
+            <values>0</values>
+        </parameter>
+        <parameter>
+            <name>dirichlet0</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>dirichlet1</name>
+            <type>Constant</type>
+            <value>0.05</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>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>bottom</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>top</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet1</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>pressure_ic</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>top</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>dirichlet0</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>
+            <eigen>
+                <solver_type>SparseLU</solver_type>
+                <scaling>true</scaling>
+                <!--
+                <solver_type>PardisoLU</solver_type>
+                -->
+            </eigen>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
diff --git a/Tests/Data/RichardsMechanics/mechanics_linear_pcs_0_ts_4_t_1.000000.vtu b/Tests/Data/RichardsMechanics/mechanics_linear_pcs_0_ts_4_t_1.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..d13248f31adea0e3d6bd6d321343e18f74fc8230
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/mechanics_linear_pcs_0_ts_4_t_1.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:48a94ada6a33db19928e6de1c01411d700644806d1291d19a7760bb270576ed5
+size 27006
diff --git a/Tests/Data/RichardsMechanics/square_1x1.gml b/Tests/Data/RichardsMechanics/square_1x1.gml
new file mode 100644
index 0000000000000000000000000000000000000000..9bcf4b145b5f6c331c201ed568efa92056283a5e
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/square_1x1.gml
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7e057b38676a4422f8641b71d58d93f8bacb2084c86f61ce925a61d3de9bf1ae
+size 1032
diff --git a/Tests/Data/RichardsMechanics/square_1x1_quad8_1e0.vtu b/Tests/Data/RichardsMechanics/square_1x1_quad8_1e0.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..86023ad6f331a1a7ab02c95c0c0907e4da1a5bb0
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/square_1x1_quad8_1e0.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:88f426707340467e8514cacf8a184b730135bb27cb57face39d46364806d55b4
+size 1411
diff --git a/Tests/Data/RichardsMechanics/square_1x1_quad8_1e2.vtu b/Tests/Data/RichardsMechanics/square_1x1_quad8_1e2.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..9916f8388c7563429076e18b70b97f2bbca8e7bd
--- /dev/null
+++ b/Tests/Data/RichardsMechanics/square_1x1_quad8_1e2.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:202039a669d71a8169147fcb979dd1498e1a5f46fb10435b1bc05cb16cdc392a
+size 4816