From 5a425f18451fdc38d2078aac36dc9c8f191498d4 Mon Sep 17 00:00:00 2001
From: Wenqing Wang <wenqing.wang@ufz.de>
Date: Thu, 15 Feb 2024 17:39:17 +0100
Subject: [PATCH] [CTest/TRM] Reused BodyForce as a test for the total initial
 stress input

---
 ProcessLib/ThermoRichardsMechanics/Tests.cmake  | 16 ++++++++++++++++
 .../BodyForce/square.prj                        |  8 ++++++++
 .../BodyForce/square_total_stress_test.xml      | 17 +++++++++++++++++
 3 files changed, 41 insertions(+)
 create mode 100644 Tests/Data/ThermoRichardsMechanics/BodyForce/square_total_stress_test.xml

diff --git a/ProcessLib/ThermoRichardsMechanics/Tests.cmake b/ProcessLib/ThermoRichardsMechanics/Tests.cmake
index 54c39047d50..d08ec317ed2 100644
--- a/ProcessLib/ThermoRichardsMechanics/Tests.cmake
+++ b/ProcessLib/ThermoRichardsMechanics/Tests.cmake
@@ -448,6 +448,22 @@ AddTest(
     expected_dont_apply_body_force_for_deformation_ts_0_t_0.000000.vtu dont_apply_body_force_for_deformation_ts_10_t_864000.000000.vtu sigma sigma 5e-2 1e-8
 )
 
+AddTest(
+    NAME ThermoRichardsMechanics_total_initial_stress_dont_apply_body_force_for_deformation
+    PATH ThermoRichardsMechanics/BodyForce
+    RUNTIME 1
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS square_total_stress_test.xml
+    WRAPPER time
+    TESTER vtkdiff
+    DIFF_DATA
+    expected_dont_apply_body_force_for_deformation_ts_0_t_0.000000.vtu dont_apply_body_force_for_deformation_total_stess0_test_ts_10_t_864000.000000.vtu displacement displacement 1e-10 1e-10
+    expected_dont_apply_body_force_for_deformation_ts_0_t_0.000000.vtu dont_apply_body_force_for_deformation_total_stess0_test_ts_10_t_864000.000000.vtu pressure pressure 5e-2 1e-8
+    expected_dont_apply_body_force_for_deformation_ts_0_t_0.000000.vtu dont_apply_body_force_for_deformation_total_stess0_test_ts_10_t_864000.000000.vtu temperature temperature 1e-10 1e-10
+    expected_dont_apply_body_force_for_deformation_ts_0_t_0.000000.vtu dont_apply_body_force_for_deformation_total_stess0_test_ts_10_t_864000.000000.vtu epsilon epsilon 1e-10 1e-10
+    expected_dont_apply_body_force_for_deformation_ts_0_t_0.000000.vtu dont_apply_body_force_for_deformation_total_stess0_test_ts_10_t_864000.000000.vtu sigma sigma 5e-2 1e-8
+)
+
 if(OGS_USE_MFRONT)
     OgsTest(PROJECTFILE ThermoRichardsMechanics/MultiMaterialEhlers/square_1e1_2_matIDs.prj RUNTIME 1)
     OgsTest(PROJECTFILE ThermoRichardsMechanics/MultiMaterialEhlers/square_1e1_2_matIDs_restart.prj RUNTIME 1)
diff --git a/Tests/Data/ThermoRichardsMechanics/BodyForce/square.prj b/Tests/Data/ThermoRichardsMechanics/BodyForce/square.prj
index 1b7bcb4e912..10d9d7bb72a 100644
--- a/Tests/Data/ThermoRichardsMechanics/BodyForce/square.prj
+++ b/Tests/Data/ThermoRichardsMechanics/BodyForce/square.prj
@@ -344,6 +344,14 @@
             <eigen>
                 <solver_type>SparseLU</solver_type>
             </eigen>
+            <petsc>
+                <parameters>
+                    -ksp_type bcgs
+                    -pc_type jacobi
+                    -ksp_rtol 1.e-20 -ksp_atol 1.e-10
+                    -ksp_max_it 4000
+                </parameters>
+            </petsc>
         </linear_solver>
     </linear_solvers>
 </OpenGeoSysProject>
diff --git a/Tests/Data/ThermoRichardsMechanics/BodyForce/square_total_stress_test.xml b/Tests/Data/ThermoRichardsMechanics/BodyForce/square_total_stress_test.xml
new file mode 100644
index 00000000000..d9110b3d59a
--- /dev/null
+++ b/Tests/Data/ThermoRichardsMechanics/BodyForce/square_total_stress_test.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProjectDiff base_file="square.prj">
+    <remove sel="/*/processes/process[1]/initial_stress"/>
+    <add sel="/*/processes/process[1]">
+        <initial_stress type = "total">total_stress0</initial_stress>
+    </add>
+    <add sel="/*/parameters">
+        <parameter>
+            <name>total_stress0</name>
+            <type>Constant</type>
+            <values>-4.5e6 -2.5e6 -6.0e6 0.0</values>
+        </parameter>
+    </add>
+    <replace msel="/*/time_loop/output/prefix/text()">
+        dont_apply_body_force_for_deformation_total_stess0_test
+    </replace>
+</OpenGeoSysProjectDiff>
-- 
GitLab