From c6129d96fb4663603c54369e5121bbc050e12c4c Mon Sep 17 00:00:00 2001
From: Christian Silbermann <christian.silbermann@ifgt.tu-freiberg.de>
Date: Thu, 14 Mar 2024 14:46:14 +0100
Subject: [PATCH] [T/THM] Added restart test similar to RM

---
 .../RestartMCC/mfront_restart_part1.prj       | 361 ++++++++++++++++++
 .../RestartMCC/mfront_restart_part1.pvd       |  14 +
 .../RestartMCC/mfront_restart_part2.pvd       |   6 +
 .../RestartMCC/mfront_restart_part2.xml       |  97 +++++
 .../RestartMCC/square_1x1.gml                 |  31 ++
 .../RestartMCC/square_1x1_quad_1e0.vtu        |  36 ++
 .../RestartMCC/square_1x1_quad_1e0_bottom.vtu |  24 ++
 .../RestartMCC/square_1x1_quad_1e0_left.vtu   |  24 ++
 .../RestartMCC/square_1x1_quad_1e0_right.vtu  |  24 ++
 .../RestartMCC/square_1x1_quad_1e0_top.vtu    |  24 ++
 10 files changed, 641 insertions(+)
 create mode 100644 Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part1.prj
 create mode 100644 Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part1.pvd
 create mode 100644 Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part2.pvd
 create mode 100644 Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part2.xml
 create mode 100644 Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1.gml
 create mode 100644 Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0.vtu
 create mode 100644 Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_bottom.vtu
 create mode 100644 Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_left.vtu
 create mode 100644 Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_right.vtu
 create mode 100644 Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_top.vtu

diff --git a/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part1.prj b/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part1.prj
new file mode 100644
index 00000000000..bf72d1fe597
--- /dev/null
+++ b/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part1.prj
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <meshes>
+        <mesh axially_symmetric="true">square_1x1_quad_1e0.vtu</mesh>
+        <mesh axially_symmetric="true">square_1x1_quad_1e0_left.vtu</mesh>
+        <mesh axially_symmetric="true">square_1x1_quad_1e0_right.vtu</mesh>
+        <mesh axially_symmetric="true">square_1x1_quad_1e0_top.vtu</mesh>
+        <mesh axially_symmetric="true">square_1x1_quad_1e0_bottom.vtu</mesh>
+    </meshes>
+    <processes>
+        <process>
+            <name>THM</name>
+            <type>THERMO_HYDRO_MECHANICS</type>
+            <integration_order>2</integration_order>
+            <constitutive_relation>
+                <type>MFront</type>
+                <behaviour>ModCamClay_semiExpl_constE</behaviour>
+                <material_properties>
+                    <material_property name="YoungModulus" parameter="YoungModulus"/>
+                    <material_property name="PoissonRatio" parameter="PoissonRatio"/>
+                    <material_property name="CriticalStateLineSlope" parameter="CriticalStateLineSlope"/>
+                    <material_property name="SwellingLineSlope" parameter="SwellingLineSlope"/>
+                    <material_property name="VirginConsolidationLineSlope" parameter="VirginConsolidationLineSlope"/>
+                    <material_property name="CharacteristicPreConsolidationPressure" parameter="InitialPreConsolidationPressure"/>
+                </material_properties>
+                <initial_values>
+                    <state_variable name="PreConsolidationPressure" parameter="InitialPreConsolidationPressure"/>
+                    <state_variable name="VolumeRatio" parameter="InitialVolumeRatio"/>
+                </initial_values>
+            </constitutive_relation>
+            <process_variables>
+                <temperature>temperature</temperature>
+                <pressure>pressure</pressure>
+                <displacement>displacement</displacement>
+            </process_variables>
+            <secondary_variables>
+                <secondary_variable internal_name="sigma" output_name="sigma"/>
+                <secondary_variable internal_name="epsilon" output_name="epsilon"/>
+                <secondary_variable internal_name="epsilon_m" output_name="epsilon_m"/>
+                <secondary_variable internal_name="EquivalentPlasticStrain" output_name="EquivalentPlasticStrain"/>
+                <secondary_variable internal_name="PreConsolidationPressure" output_name="PreConsolidationPressure"/>
+                <secondary_variable internal_name="PlasticVolumetricStrain" output_name="PlasticVolumetricStrain"/>
+                <secondary_variable internal_name="VolumeRatio" output_name="VolumeRatio"/>
+                <secondary_variable internal_name="ElasticStrain" output_name="ElasticStrain"/>
+            </secondary_variables>
+            <specific_body_force>0 0</specific_body_force>
+            <initial_stress>sigma0</initial_stress>
+        </process>
+    </processes>
+       <media>
+        <medium>
+            <phases>
+                <phase>
+                    <type>AqueousLiquid</type>
+                    <properties>
+                        <property>
+                            <name>viscosity</name>
+                            <type>Constant</type>
+                            <value>1e-3</value>
+                        </property>
+                        <property>
+                            <name>density</name>
+                            <type>Constant</type>
+                            <value>1e3</value>
+                        </property>
+                        <property>
+                            <name>specific_heat_capacity</name>
+                            <type>Constant</type>
+                            <value>1</value>
+                        </property>
+                    </properties>
+                </phase>
+                <phase>
+                    <type>Solid</type>
+                    <properties>
+                        <property>
+                            <name>density</name>
+                            <type>Constant</type>
+                            <value>2780.0</value>
+                        </property>
+                        <property>
+                            <name>specific_heat_capacity</name>
+                            <type>Constant</type>
+                            <value>1</value>
+                        </property>
+                        <property>
+                            <name>thermal_expansivity</name>
+                            <type>Constant</type>
+                            <value>1e-6</value>
+                        </property>
+                    </properties>
+                </phase>
+            </phases>
+            <properties>
+                <property>
+                    <name>permeability</name>
+                    <type>Constant</type>
+                    <value>1e-12</value>
+                </property>
+                <property>
+                    <name>porosity</name>
+                    <type>Constant</type>
+                    <value>0.432</value>
+                </property>
+                <property>
+                    <name>thermal_conductivity</name>
+                    <type>Constant</type>
+                    <value>1</value>
+                </property>
+                <property>
+                    <name>reference_temperature</name>
+                    <type>Constant</type>
+                    <value>293.15</value>
+                </property>
+               <property>
+                      <name>biot_coefficient</name>
+                      <type>Constant</type>
+                      <value>1.0</value>
+                  </property>
+            </properties>
+        </medium>
+    </media>
+    <time_loop>
+        <processes>
+            <process ref="THM">
+                <nonlinear_solver>basic_newton</nonlinear_solver>
+                <convergence_criterion>
+                    <type>PerComponentDeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstols>1e-9 1e-9 1e-12 1e-12</abstols>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>IterationNumberBasedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>1000</t_end>
+                    <initial_dt>100</initial_dt>
+                    <minimum_dt>10</minimum_dt>
+                    <maximum_dt>1000</maximum_dt>
+                    <number_iterations>1   5   10   15</number_iterations>
+                    <multiplier>1.2 1.0 0.8 0.6</multiplier>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>mfront_restart_part1</prefix>
+            <suffix>_t_{:time}</suffix>
+            <timesteps>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>1</each_steps>
+                </pair>
+            </timesteps>
+            <variables>
+            </variables>
+        </output>
+    </time_loop>
+    <parameters>
+        <!--Modified Cam clay parameters-->
+        <parameter>
+            <name>sigma0</name>
+            <type>Function</type>
+            <expression>-5e3</expression>
+            <expression>-5e3</expression>
+            <expression>-5e3</expression>
+            <expression>0</expression>
+        </parameter>
+        <parameter>
+            <name>YoungModulus</name>
+            <type>Constant</type>
+            <value>52e6</value><!--Pa-->
+        </parameter>
+        <parameter>
+            <name>PoissonRatio</name>
+            <type>Constant</type>
+            <value>0.3</value>
+        </parameter>
+        <parameter>
+            <name>CriticalStateLineSlope</name>
+            <type>Constant</type>
+            <value>1.2</value>
+        </parameter>
+        <parameter>
+            <name>SwellingLineSlope</name>
+            <type>Constant</type>
+            <value>6.6e-3</value>
+        </parameter>
+        <parameter>
+            <name>VirginConsolidationLineSlope</name>
+            <type>Constant</type>
+            <value>7.7e-2</value>
+        </parameter>
+        <parameter>
+            <name>InitialPreConsolidationPressure</name>
+            <type>Constant</type>
+            <value>2e5</value>
+        </parameter>
+        <parameter>
+            <name>InitialVolumeRatio</name>
+            <type>Constant</type>
+            <value>1.76</value>
+        </parameter>
+        <!-- Initial and boundary values -->
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0</values>
+        </parameter>
+        <parameter>
+            <name>zero</name>
+            <type>Constant</type>
+            <value>0.0</value>
+        </parameter>
+        <parameter>
+            <name>reference_temperature</name>
+            <type>Constant</type>
+            <value>293.15</value>
+        </parameter>
+        <parameter>
+            <name>top_pressure</name>
+            <type>Constant</type>
+            <value>-5e5</value>
+        </parameter>
+        <parameter>
+            <name>pressure_ic</name>
+            <type>Constant</type>
+            <value>-5e3</value>
+        </parameter>
+    </parameters>
+    <process_variables>
+        <process_variable>
+            <name>temperature</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>reference_temperature</initial_condition>
+            <deactivated_subdomains>
+                <deactivated_subdomain>
+                    <time_interval>
+                        <start>0</start>
+                        <end>2000</end>
+                    </time_interval>
+                    <material_ids>0</material_ids>
+                    <boundary_parameter>reference_temperature</boundary_parameter>
+                </deactivated_subdomain>
+            </deactivated_subdomains>
+        </process_variable>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>pressure_ic</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <mesh>square_1x1_quad_1e0_top</mesh>
+                    <type>Dirichlet</type>
+                    <parameter>pressure_ic</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>displacement</name>
+            <components>2</components>
+            <order>1</order>
+            <initial_condition>displacement0</initial_condition>
+            <boundary_conditions>
+                <!--fix left in radial direction-->
+                <boundary_condition>
+                    <mesh>square_1x1_quad_1e0_left</mesh>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+                <!--fix bottom in axial direction-->
+                <boundary_condition>
+                    <mesh>square_1x1_quad_1e0_bottom</mesh>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+                <!--compression in axial direction -->
+                <boundary_condition>
+                    <mesh>square_1x1_quad_1e0_top</mesh>
+                    <type>Neumann</type>
+                    <component>1</component>
+                    <parameter>top_pressure</parameter>
+                </boundary_condition>
+                <!--compression in -radial direction-->
+                <boundary_condition>
+                    <mesh>square_1x1_quad_1e0_right</mesh>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>zero</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>basic_newton</name>
+            <type>Newton</type>
+            <max_iter>60</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>
+            </eigen>
+        </linear_solver>
+    </linear_solvers>
+    <test_definition>
+        <vtkdiff>
+            <regex>mfront_restart_part1_ts_.*_t_.*.vtu</regex>
+            <field>displacement</field>
+            <absolute_tolerance>2e-14</absolute_tolerance>
+            <relative_tolerance>0</relative_tolerance>
+        </vtkdiff>
+        <vtkdiff>
+            <regex>mfront_restart_part1_ts_.*_t_.*.vtu</regex>
+            <field>sigma</field>
+            <absolute_tolerance>1e-9</absolute_tolerance>
+            <relative_tolerance>0</relative_tolerance>
+        </vtkdiff>
+        <vtkdiff>
+            <regex>mfront_restart_part1_ts_.*_t_.*.vtu</regex>
+            <field>epsilon</field>
+            <absolute_tolerance>1e-15</absolute_tolerance>
+            <relative_tolerance>0</relative_tolerance>
+        </vtkdiff>
+        <vtkdiff>
+            <regex>mfront_restart_part1_ts_.*_t_.*.vtu</regex>
+            <field>pressure</field>
+            <absolute_tolerance>1e-15</absolute_tolerance>
+            <relative_tolerance>1e-15</relative_tolerance>
+        </vtkdiff>
+        <vtkdiff>
+            <regex>mfront_restart_part1_ts_.*_t_.*.vtu</regex>
+            <field>velocity</field>
+            <absolute_tolerance>1e-15</absolute_tolerance>
+            <relative_tolerance>1e-15</relative_tolerance>
+        </vtkdiff>
+        <vtkdiff>
+            <regex>mfront_restart_part1_ts_.*_t_.*.vtu</regex>
+            <field>MassFlowRate</field>
+            <absolute_tolerance>1e-15</absolute_tolerance>
+            <relative_tolerance>0</relative_tolerance>
+        </vtkdiff>
+        <vtkdiff>
+            <regex>mfront_restart_part1_ts_.*_t_.*.vtu</regex>
+            <field>NodalForces</field>
+            <absolute_tolerance>1e-10</absolute_tolerance>
+            <relative_tolerance>0</relative_tolerance>
+        </vtkdiff>
+    </test_definition>
+</OpenGeoSysProject>
diff --git a/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part1.pvd b/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part1.pvd
new file mode 100644
index 00000000000..b1b1f8a15f1
--- /dev/null
+++ b/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part1.pvd
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<VTKFile type="Collection" version="0.1" byte_order="LittleEndian" compressor="vtkZLibDataCompressor">
+  <Collection>
+    <DataSet timestep="0" group="" part="0" file="mfront_restart_part1_t_0.000000.vtu"/>
+    <DataSet timestep="100" group="" part="0" file="mfront_restart_part1_t_100.000000.vtu"/>
+    <DataSet timestep="200" group="" part="0" file="mfront_restart_part1_t_200.000000.vtu"/>
+    <DataSet timestep="300" group="" part="0" file="mfront_restart_part1_t_300.000000.vtu"/>
+    <DataSet timestep="400" group="" part="0" file="mfront_restart_part1_t_400.000000.vtu"/>
+    <DataSet timestep="520" group="" part="0" file="mfront_restart_part1_t_520.000000.vtu"/>
+    <DataSet timestep="664" group="" part="0" file="mfront_restart_part1_t_664.000000.vtu"/>
+    <DataSet timestep="836.8" group="" part="0" file="mfront_restart_part1_t_836.800000.vtu"/>
+    <DataSet timestep="1000" group="" part="0" file="mfront_restart_part1_t_1000.000000.vtu"/>
+  </Collection>
+</VTKFile>
diff --git a/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part2.pvd b/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part2.pvd
new file mode 100644
index 00000000000..d1d47cc1cd6
--- /dev/null
+++ b/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part2.pvd
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<VTKFile type="Collection" version="0.1" byte_order="LittleEndian" compressor="vtkZLibDataCompressor">
+  <Collection>
+    <DataSet timestep="1000" group="" part="0" file="mfront_restart_part2_t_1000.000000.vtu"/>
+  </Collection>
+</VTKFile>
diff --git a/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part2.xml b/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part2.xml
new file mode 100644
index 00000000000..4ff0d0514db
--- /dev/null
+++ b/Tests/Data/ThermoHydroMechanics/RestartMCC/mfront_restart_part2.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProjectDiff base_file="mfront_restart_part1.prj">
+    <replace sel="/*/meshes/mesh[1]/text()">mfront_restart_part1_t_1000.000000.vtu</replace>
+    <replace sel="/*/time_loop/processes/process/time_stepping/t_initial/text()">1000</replace>
+    <replace sel="/*/time_loop/processes/process/time_stepping/t_end/text()">2000</replace>
+    <replace sel="/*/time_loop/output/prefix/text()">mfront_restart_part2</replace>
+
+    <remove sel="/*/processes/process/constitutive_relation/initial_values"/>
+    <remove sel="/*/processes/process/initial_stress"/>
+
+    <remove sel="/*/parameters/parameter[name='displacement0']"/>
+    <add sel="/*/parameters">
+        <parameter>
+            <name>displacement0</name>
+            <type>MeshNode</type>
+            <field_name>displacement</field_name>
+        </parameter>
+    </add>
+
+    <remove sel="/*/parameters/parameter[name='pressure_ic']"/>
+    <add sel="/*/parameters">
+        <parameter>
+            <name>pressure_ic</name>
+            <type>MeshNode</type>
+            <field_name>pressure</field_name>
+        </parameter>
+        <parameter>
+            <name>pressure_bc</name>
+            <type>Constant</type>
+            <value>-5e3</value>
+        </parameter>
+    </add>
+
+    <remove sel="/*/process_variables/process_variable[name='pressure']/boundary_conditions"/>
+    <add sel="/*/process_variables/process_variable[name='pressure']">
+        <boundary_conditions>
+            <boundary_condition>
+                <mesh>square_1x1_quad_1e0_top</mesh>
+                <type>Dirichlet</type>
+                <parameter>pressure_bc</parameter>
+            </boundary_condition>
+            <boundary_condition>
+                <mesh>square_1x1_quad_1e0_bottom</mesh>
+                <type>Dirichlet</type>
+                <parameter>pressure_bc</parameter>
+            </boundary_condition>
+        </boundary_conditions>
+    </add>
+
+    <remove sel="/*/test_definition"/>
+    <add sel="/*">
+        <test_definition>
+            <vtkdiff>
+                <regex>mfront_restart_part2_ts_.*_t_.*.vtu</regex>
+                <field>displacement</field>
+                <absolute_tolerance>2e-14</absolute_tolerance>
+                <relative_tolerance>0</relative_tolerance>
+            </vtkdiff>
+            <vtkdiff>
+                <regex>mfront_restart_part2_ts_.*_t_.*.vtu</regex>
+                <field>sigma</field>
+                <absolute_tolerance>1e-9</absolute_tolerance>
+                <relative_tolerance>0</relative_tolerance>
+            </vtkdiff>
+            <vtkdiff>
+                <regex>mfront_restart_part2_ts_.*_t_.*.vtu</regex>
+                <field>epsilon</field>
+                <absolute_tolerance>1e-15</absolute_tolerance>
+                <relative_tolerance>0</relative_tolerance>
+            </vtkdiff>
+            <vtkdiff>
+                <regex>mfront_restart_part2_ts_.*_t_.*.vtu</regex>
+                <field>pressure</field>
+                <absolute_tolerance>1e-15</absolute_tolerance>
+                <relative_tolerance>1e-15</relative_tolerance>
+            </vtkdiff>
+            <vtkdiff>
+                <regex>mfront_restart_part2_ts_.*_t_.*.vtu</regex>
+                <field>velocity</field>
+                <absolute_tolerance>1e-15</absolute_tolerance>
+                <relative_tolerance>1e-15</relative_tolerance>
+            </vtkdiff>
+            <vtkdiff>
+                <regex>mfront_restart_part2_ts_.*_t_.*.vtu</regex>
+                <field>MassFlowRate</field>
+                <absolute_tolerance>1e-15</absolute_tolerance>
+                <relative_tolerance>0</relative_tolerance>
+            </vtkdiff>
+            <vtkdiff>
+                <regex>mfront_restart_part2_ts_.*_t_.*.vtu</regex>
+                <field>NodalForces</field>
+                <absolute_tolerance>1e-10</absolute_tolerance>
+                <relative_tolerance>0</relative_tolerance>
+            </vtkdiff>
+        </test_definition>
+    </add>
+</OpenGeoSysProjectDiff>
diff --git a/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1.gml b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1.gml
new file mode 100644
index 00000000000..d959c7c34c6
--- /dev/null
+++ b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1.gml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml-stylesheet type="text/xsl" href="OpenGeoSysGLI.xsl"?>
+
+<OpenGeoSysGLI xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ogs="http://www.opengeosys.org">
+    <name>square_1x1_geometry</name>
+    <points>
+        <point id="0" x="0" y="0" z="0" name="origin"/>
+        <point id="1" x="0" y="1" z="0"/>
+        <point id="2" x="1" y="0" z="0"/>
+        <point id="3" x="1" y="1" z="0"/>
+    </points>
+
+    <polylines>
+        <polyline id="0" name="left">
+            <pnt>0</pnt>
+            <pnt>1</pnt>
+        </polyline>
+        <polyline id="1" name="right">
+            <pnt>2</pnt>
+            <pnt>3</pnt>
+        </polyline>
+        <polyline id="2" name="bottom">
+            <pnt>0</pnt>
+            <pnt>2</pnt>
+        </polyline>
+        <polyline id="3" name="top">
+            <pnt>1</pnt>
+            <pnt>3</pnt>
+        </polyline>
+    </polylines>
+</OpenGeoSysGLI>
diff --git a/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0.vtu b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0.vtu
new file mode 100644
index 00000000000..ccf9cf69072
--- /dev/null
+++ b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0.vtu
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian" compressor="vtkZLibDataCompressor">
+  <UnstructuredGrid>
+    <Piece NumberOfPoints="4" NumberOfCells="1">
+      <PointData>
+      </PointData>
+      <CellData>
+        <DataArray type="UInt32" Name="MaterialIDs" format="binary" RangeMin="0" RangeMax="0">
+          AQAAAACAAAAEAAAADAAAAA==eJxjYGBgAAAABAAB
+        </DataArray>
+      </CellData>
+      <Points>
+        <DataArray type="Float64" Name="Points" NumberOfComponents="3" format="binary" RangeMin="0" RangeMax="1.4142135624">
+          AQAAAACAAABgAAAAFQAAAA==eJxjYMAHPtjjlcaQh/ER4gCW5AS9
+        </DataArray>
+      </Points>
+      <Cells>
+        <DataArray type="Int64" Name="connectivity" format="binary" RangeMin="0" RangeMax="3">
+          AQAAAACAAAAgAAAAEwAAAA==eJxjYIAARijNDKWZoDQAAHgABw==
+        </DataArray>
+        <DataArray type="Int64" Name="offsets" format="binary" RangeMin="4" RangeMax="4">
+          AQAAAACAAAAIAAAACwAAAA==eJxjYYAAAAAoAAU=
+        </DataArray>
+        <DataArray type="UInt8" Name="types" format="binary" RangeMin="9" RangeMax="9">
+          AQAAAACAAAABAAAACQAAAA==eJzjBAAACgAK
+        </DataArray>
+        <DataArray type="Int64" Name="faces" format="binary" RangeMin="0" RangeMax="0">
+          AQAAAACAAAAIAAAACwAAAA==eJxjYIAAAAAIAAE=
+        </DataArray>
+        <DataArray type="Int64" Name="faceoffsets" format="binary" RangeMin="1" RangeMax="1">
+          AQAAAACAAAAIAAAACwAAAA==eJxjZIAAAAAQAAI=
+        </DataArray>
+      </Cells>
+    </Piece>
+  </UnstructuredGrid>
+</VTKFile>
diff --git a/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_bottom.vtu b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_bottom.vtu
new file mode 100644
index 00000000000..dc1f89b1c6f
--- /dev/null
+++ b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_bottom.vtu
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<VTKFile type="UnstructuredGrid" version="1.0" byte_order="LittleEndian" header_type="UInt64">
+  <UnstructuredGrid>
+    <Piece NumberOfPoints="2"                    NumberOfCells="1"                   >
+      <PointData>
+        <DataArray type="UInt64" Name="bulk_node_ids" format="appended" RangeMin="0"                    RangeMax="1"                    offset="0"                   />
+      </PointData>
+      <CellData>
+        <DataArray type="UInt64" Name="bulk_element_ids" format="appended" RangeMin="0"                    RangeMax="0"                    offset="32"                  />
+      </CellData>
+      <Points>
+        <DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0"                    RangeMax="1"                    offset="56"                  />
+      </Points>
+      <Cells>
+        <DataArray type="Int64" Name="connectivity" format="appended" RangeMin=""                     RangeMax=""                     offset="132"                 />
+        <DataArray type="Int64" Name="offsets" format="appended" RangeMin=""                     RangeMax=""                     offset="164"                 />
+        <DataArray type="UInt8" Name="types" format="appended" RangeMin=""                     RangeMax=""                     offset="188"                 />
+      </Cells>
+    </Piece>
+  </UnstructuredGrid>
+  <AppendedData encoding="base64">
+   _EAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA==MAAAAAAAAAAAAAAAAADwPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=EAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACAAAAAAAAAACAAAAAAAAAA==AQAAAAAAAAAD
+  </AppendedData>
+</VTKFile>
diff --git a/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_left.vtu b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_left.vtu
new file mode 100644
index 00000000000..d64348a2844
--- /dev/null
+++ b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_left.vtu
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<VTKFile type="UnstructuredGrid" version="1.0" byte_order="LittleEndian" header_type="UInt64">
+  <UnstructuredGrid>
+    <Piece NumberOfPoints="2"                    NumberOfCells="1"                   >
+      <PointData>
+        <DataArray type="UInt64" Name="bulk_node_ids" format="appended" RangeMin="0"                    RangeMax="2"                    offset="0"                   />
+      </PointData>
+      <CellData>
+        <DataArray type="UInt64" Name="bulk_element_ids" format="appended" RangeMin="0"                    RangeMax="0"                    offset="32"                  />
+      </CellData>
+      <Points>
+        <DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0"                    RangeMax="1"                    offset="56"                  />
+      </Points>
+      <Cells>
+        <DataArray type="Int64" Name="connectivity" format="appended" RangeMin=""                     RangeMax=""                     offset="132"                 />
+        <DataArray type="Int64" Name="offsets" format="appended" RangeMin=""                     RangeMax=""                     offset="164"                 />
+        <DataArray type="UInt8" Name="types" format="appended" RangeMin=""                     RangeMax=""                     offset="188"                 />
+      </Cells>
+    </Piece>
+  </UnstructuredGrid>
+  <AppendedData encoding="base64">
+   _EAAAAAAAAAACAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA==MAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=EAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACAAAAAAAAAACAAAAAAAAAA==AQAAAAAAAAAD
+  </AppendedData>
+</VTKFile>
diff --git a/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_right.vtu b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_right.vtu
new file mode 100644
index 00000000000..6efe396c278
--- /dev/null
+++ b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_right.vtu
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<VTKFile type="UnstructuredGrid" version="1.0" byte_order="LittleEndian" header_type="UInt64">
+  <UnstructuredGrid>
+    <Piece NumberOfPoints="2"                    NumberOfCells="1"                   >
+      <PointData>
+        <DataArray type="UInt64" Name="bulk_node_ids" format="appended" RangeMin="1"                    RangeMax="3"                    offset="0"                   />
+      </PointData>
+      <CellData>
+        <DataArray type="UInt64" Name="bulk_element_ids" format="appended" RangeMin="0"                    RangeMax="0"                    offset="32"                  />
+      </CellData>
+      <Points>
+        <DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="1"                    RangeMax="1.4142135624"         offset="56"                  />
+      </Points>
+      <Cells>
+        <DataArray type="Int64" Name="connectivity" format="appended" RangeMin=""                     RangeMax=""                     offset="132"                 />
+        <DataArray type="Int64" Name="offsets" format="appended" RangeMin=""                     RangeMax=""                     offset="164"                 />
+        <DataArray type="UInt8" Name="types" format="appended" RangeMin=""                     RangeMax=""                     offset="188"                 />
+      </Cells>
+    </Piece>
+  </UnstructuredGrid>
+  <AppendedData encoding="base64">
+   _EAAAAAAAAAADAAAAAAAAAAEAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA==MAAAAAAAAAAAAAAAAADwPwAAAAAAAPA/AAAAAAAAAAAAAAAAAADwPwAAAAAAAAAAAAAAAAAAAAA=EAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACAAAAAAAAAACAAAAAAAAAA==AQAAAAAAAAAD
+  </AppendedData>
+</VTKFile>
diff --git a/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_top.vtu b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_top.vtu
new file mode 100644
index 00000000000..7f7fd2d1459
--- /dev/null
+++ b/Tests/Data/ThermoHydroMechanics/RestartMCC/square_1x1_quad_1e0_top.vtu
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<VTKFile type="UnstructuredGrid" version="1.0" byte_order="LittleEndian" header_type="UInt64">
+  <UnstructuredGrid>
+    <Piece NumberOfPoints="2"                    NumberOfCells="1"                   >
+      <PointData>
+        <DataArray type="UInt64" Name="bulk_node_ids" format="appended" RangeMin="2"                    RangeMax="3"                    offset="0"                   />
+      </PointData>
+      <CellData>
+        <DataArray type="UInt64" Name="bulk_element_ids" format="appended" RangeMin="0"                    RangeMax="0"                    offset="32"                  />
+      </CellData>
+      <Points>
+        <DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="1"                    RangeMax="1.4142135624"         offset="56"                  />
+      </Points>
+      <Cells>
+        <DataArray type="Int64" Name="connectivity" format="appended" RangeMin=""                     RangeMax=""                     offset="132"                 />
+        <DataArray type="Int64" Name="offsets" format="appended" RangeMin=""                     RangeMax=""                     offset="164"                 />
+        <DataArray type="UInt8" Name="types" format="appended" RangeMin=""                     RangeMax=""                     offset="188"                 />
+      </Cells>
+    </Piece>
+  </UnstructuredGrid>
+  <AppendedData encoding="base64">
+   _EAAAAAAAAAADAAAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA==MAAAAAAAAAAAAAAAAADwPwAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAAA=EAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACAAAAAAAAAACAAAAAAAAAA==AQAAAAAAAAAD
+  </AppendedData>
+</VTKFile>
-- 
GitLab