From bda5465b1a283012386110f75a15c28dd498c56b Mon Sep 17 00:00:00 2001
From: Thomas Fischer <thomas.fischer@ufz.de>
Date: Fri, 3 Feb 2023 07:35:34 +0100
Subject: [PATCH] [T] Update tests for multiple meshes + geometry

---
 .../cube_1e0.prj                              |  5 +++-
 .../cube_1e0.xml                              |  1 -
 .../cube_1e0_processed.prj                    |  5 +++-
 .../cube_1e1.xml                              |  8 ++++++-
 .../cube_1e1_processed.prj                    |  8 ++++---
 .../cube_1e2.xml                              |  8 ++++++-
 .../cube_1e2_3d_submesh_output.xml            |  2 +-
 .../cube_1e2_processed.prj                    |  8 ++++---
 .../cube_1e3.xml                              |  8 ++++++-
 .../cube_1e3_processed.prj                    |  8 ++++---
 .../cube_1x1x1_hex_1e0_left.vtu               | 24 +++++++++++++++++++
 .../cube_1x1x1_hex_1e1_left.vtu               | 24 +++++++++++++++++++
 12 files changed, 93 insertions(+), 16 deletions(-)
 create mode 100644 Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1x1x1_hex_1e0_left.vtu
 create mode 100644 Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1x1x1_hex_1e1_left.vtu

diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0.prj b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0.prj
index cebf2077518..691aa51bdc4 100644
--- a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0.prj
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0.prj
@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <OpenGeoSysProject>
-    <mesh>cube_1x1x1_hex_1e0.vtu</mesh>
+    <meshes>
+        <mesh>cube_1x1x1_hex_1e0.vtu</mesh>
+        <mesh>cube_1x1x1_hex_1e0_left.vtu</mesh>
+    </meshes>
     <geometry>cube_1x1x1.gml</geometry>
     <processes>
         <include file="SteadyStateDiffusion.xml"/>
diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0.xml b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0.xml
index 276c530c358..b775f9fa390 100644
--- a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0.xml
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0.xml
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <OpenGeoSysProjectDiff base_file="cube_1e0.prj">
-    <!-- <replace sel="/*/mesh/text()">cube_1x1x1_hex_1e0.vtu</replace> -->
     <replace sel="/*/time_loop/output/prefix/text()" after_includes="true">1e0_{:meshname}</replace>
 </OpenGeoSysProjectDiff>
diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0_processed.prj b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0_processed.prj
index 274cb69b9e0..6293987f690 100644
--- a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0_processed.prj
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e0_processed.prj
@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <OpenGeoSysProject>
-  <mesh>cube_1x1x1_hex_1e0.vtu</mesh>
+  <meshes>
+    <mesh>cube_1x1x1_hex_1e0.vtu</mesh>
+    <mesh>cube_1x1x1_hex_1e0_left.vtu</mesh>
+  </meshes>
   <geometry>cube_1x1x1.gml</geometry>
   <processes>
     <process>
diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e1.xml b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e1.xml
index b3890ccdb41..79219f0ba29 100644
--- a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e1.xml
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e1.xml
@@ -1,6 +1,12 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <OpenGeoSysProjectDiff base_file="cube_1e0.prj">
-    <replace sel="/*/mesh/text()">cube_1x1x1_hex_1e1.vtu</replace>
+    <replace sel="/*/meshes/mesh[1]/text()">cube_1x1x1_hex_1e1.vtu</replace>
+    <replace sel="/*/meshes/mesh[2]/text()">cube_1x1x1_hex_1e1_left.vtu</replace>
     <replace sel="/*/time_loop/output/meshes/mesh/text()" after_includes="true">cube_1x1x1_hex_1e1</replace>
     <replace sel="/*/time_loop/output/prefix/text()" after_includes="true">1e1_{:meshname}</replace>
+    <add sel="/*/process_variables/process_variable/boundary_conditions/boundary_condition[1]/type" after_includes="true" pos="before">
+        <mesh>cube_1x1x1_hex_1e1_left</mesh>
+    </add>
+    <remove sel="/*/process_variables/process_variable/boundary_conditions/boundary_condition[1]/geometrical_set" />
+    <remove sel="/*/process_variables/process_variable/boundary_conditions/boundary_condition[1]/geometry" />
 </OpenGeoSysProjectDiff>
diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e1_processed.prj b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e1_processed.prj
index 9f5afe09c92..558442bd49b 100644
--- a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e1_processed.prj
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e1_processed.prj
@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <OpenGeoSysProject>
-  <mesh>cube_1x1x1_hex_1e1.vtu</mesh>
+  <meshes>
+    <mesh>cube_1x1x1_hex_1e1.vtu</mesh>
+    <mesh>cube_1x1x1_hex_1e1_left.vtu</mesh>
+  </meshes>
   <geometry>cube_1x1x1.gml</geometry>
   <processes>
     <process>
@@ -200,8 +203,7 @@
       <initial_condition>p0</initial_condition>
       <boundary_conditions>
         <boundary_condition>
-          <geometrical_set>cube_1x1x1_geometry</geometrical_set>
-          <geometry>left</geometry>
+          <mesh>cube_1x1x1_hex_1e1_left</mesh>
           <type>Dirichlet</type>
           <parameter>p_Dirichlet_left</parameter>
         </boundary_condition>
diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2.xml b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2.xml
index 6249850d760..3c50d58f8dd 100644
--- a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2.xml
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2.xml
@@ -1,6 +1,12 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <OpenGeoSysProjectDiff base_file="cube_1e0.prj">
-    <replace sel="/*/mesh/text()">cube_1x1x1_hex_1e2.vtu</replace>
+    <replace sel="/*/meshes/mesh[1]/text()">cube_1x1x1_hex_1e2.vtu</replace>
+    <replace sel="/*/meshes/mesh[2]/text()">cube_1x1x1_hex_1e2_left.vtu</replace>
     <replace sel="/*/time_loop/output/meshes/mesh/text()" after_includes="true">cube_1x1x1_hex_1e2</replace>
     <replace sel="/*/time_loop/output/prefix/text()" after_includes="true">1e2_{:meshname}</replace>
+    <add sel="/*/process_variables/process_variable/boundary_conditions/boundary_condition[1]/type" after_includes="true" pos="before">
+        <mesh>cube_1x1x1_hex_1e2_left</mesh>
+    </add>
+    <remove sel="/*/process_variables/process_variable/boundary_conditions/boundary_condition[1]/geometrical_set" />
+    <remove sel="/*/process_variables/process_variable/boundary_conditions/boundary_condition[1]/geometry" />
 </OpenGeoSysProjectDiff>
diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2_3d_submesh_output.xml b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2_3d_submesh_output.xml
index fd7886954db..c7047e1c8fa 100644
--- a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2_3d_submesh_output.xml
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2_3d_submesh_output.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <OpenGeoSysProjectDiff base_file="cube_1e0.prj">
+    <remove sel="/*/meshes" />
     <add sel="/*/processes" after_includes="true" pos="before">
       <meshes>
         <mesh>cube_1x1x1_hex_1e2.vtu</mesh>
@@ -8,7 +9,6 @@
         <mesh>cube_1x1x1_hex_1e2_inner_bar_domain.vtu</mesh>
       </meshes>
     </add>
-    <remove sel="/*/mesh" />
     <remove sel="/*/geometry" />
     <replace sel="/*/time_loop/output/prefix/text()" after_includes="true">{:meshname}_3d_submesh_output_test</replace>
     <replace sel="/*/time_loop/output/meshes/mesh/text()" after_includes="true">cube_1x1x1_hex_1e2</replace>
diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2_processed.prj b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2_processed.prj
index 73916375062..601a4066327 100644
--- a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2_processed.prj
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e2_processed.prj
@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <OpenGeoSysProject>
-  <mesh>cube_1x1x1_hex_1e2.vtu</mesh>
+  <meshes>
+    <mesh>cube_1x1x1_hex_1e2.vtu</mesh>
+    <mesh>cube_1x1x1_hex_1e2_left.vtu</mesh>
+  </meshes>
   <geometry>cube_1x1x1.gml</geometry>
   <processes>
     <process>
@@ -200,8 +203,7 @@
       <initial_condition>p0</initial_condition>
       <boundary_conditions>
         <boundary_condition>
-          <geometrical_set>cube_1x1x1_geometry</geometrical_set>
-          <geometry>left</geometry>
+          <mesh>cube_1x1x1_hex_1e2_left</mesh>
           <type>Dirichlet</type>
           <parameter>p_Dirichlet_left</parameter>
         </boundary_condition>
diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e3.xml b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e3.xml
index 37a86b9a485..3986eab63a4 100644
--- a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e3.xml
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e3.xml
@@ -1,6 +1,12 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <OpenGeoSysProjectDiff base_file="cube_1e0.prj">
-    <replace sel="/*/mesh/text()">cube_1x1x1_hex_1e3.vtu</replace>
+    <replace sel="/*/meshes/mesh[1]/text()">cube_1x1x1_hex_1e3.vtu</replace>
+    <replace sel="/*/meshes/mesh[2]/text()">cube_1x1x1_hex_1e3_left.vtu</replace>
     <replace sel="/*/time_loop/output/meshes/mesh/text()" after_includes="true">cube_1x1x1_hex_1e3</replace>
     <replace sel="/*/time_loop/output/prefix/text()" after_includes="true">1e3_{:meshname}</replace>
+    <add sel="/*/process_variables/process_variable/boundary_conditions/boundary_condition[1]/type" after_includes="true" pos="before">
+        <mesh>cube_1x1x1_hex_1e3_left</mesh>
+    </add>
+    <remove sel="/*/process_variables/process_variable/boundary_conditions/boundary_condition[1]/geometrical_set" />
+    <remove sel="/*/process_variables/process_variable/boundary_conditions/boundary_condition[1]/geometry" />
 </OpenGeoSysProjectDiff>
diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e3_processed.prj b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e3_processed.prj
index 753ff5552ee..c1ee9707963 100644
--- a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e3_processed.prj
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e3_processed.prj
@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <OpenGeoSysProject>
-  <mesh>cube_1x1x1_hex_1e3.vtu</mesh>
+  <meshes>
+    <mesh>cube_1x1x1_hex_1e3.vtu</mesh>
+    <mesh>cube_1x1x1_hex_1e3_left.vtu</mesh>
+  </meshes>
   <geometry>cube_1x1x1.gml</geometry>
   <processes>
     <process>
@@ -200,8 +203,7 @@
       <initial_condition>p0</initial_condition>
       <boundary_conditions>
         <boundary_condition>
-          <geometrical_set>cube_1x1x1_geometry</geometrical_set>
-          <geometry>left</geometry>
+          <mesh>cube_1x1x1_hex_1e3_left</mesh>
           <type>Dirichlet</type>
           <parameter>p_Dirichlet_left</parameter>
         </boundary_condition>
diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1x1x1_hex_1e0_left.vtu b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1x1x1_hex_1e0_left.vtu
new file mode 100644
index 00000000000..6315c0c1408
--- /dev/null
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1x1x1_hex_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="4"                    NumberOfCells="1"                   >
+      <PointData>
+        <DataArray type="UInt64" Name="bulk_node_ids" format="appended" RangeMin="0"                    RangeMax="6"                    offset="0"                   />
+      </PointData>
+      <CellData>
+        <DataArray type="UInt64" Name="bulk_element_ids" format="appended" RangeMin="0"                    RangeMax="0"                    offset="56"                  />
+      </CellData>
+      <Points>
+        <DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0"                    RangeMax="1.4142135624"         offset="80"                  />
+      </Points>
+      <Cells>
+        <DataArray type="Int64" Name="connectivity" format="appended" RangeMin=""                     RangeMax=""                     offset="220"                 />
+        <DataArray type="Int64" Name="offsets" format="appended" RangeMin=""                     RangeMax=""                     offset="276"                 />
+        <DataArray type="UInt8" Name="types" format="appended" RangeMin=""                     RangeMax=""                     offset="300"                 />
+      </Cells>
+    </Piece>
+  </UnstructuredGrid>
+  <AppendedData encoding="base64">
+   _IAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABAAAAAAAAAAGAAAAAAAAAA==CAAAAAAAAAAAAAAAAAAAAA==YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8AAAAAAAAAAAAAAAAAAPA/AAAAAAAA8D8=IAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAADAAAAAAAAAA==CAAAAAAAAAAEAAAAAAAAAA==AQAAAAAAAAAJ
+  </AppendedData>
+</VTKFile>
diff --git a/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1x1x1_hex_1e1_left.vtu b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1x1x1_hex_1e1_left.vtu
new file mode 100644
index 00000000000..cb542dc2a2e
--- /dev/null
+++ b/Tests/Data/Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1x1x1_hex_1e1_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="9"                    NumberOfCells="4"                   >
+      <PointData>
+        <DataArray type="UInt64" Name="bulk_node_ids" format="appended" RangeMin="0"                    RangeMax="24"                   offset="0"                   />
+      </PointData>
+      <CellData>
+        <DataArray type="UInt64" Name="bulk_element_ids" format="appended" RangeMin="0"                    RangeMax="6"                    offset="108"                 />
+      </CellData>
+      <Points>
+        <DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="0"                    RangeMax="1.4142135624"         offset="164"                 />
+      </Points>
+      <Cells>
+        <DataArray type="Int64" Name="connectivity" format="appended" RangeMin=""                     RangeMax=""                     offset="464"                 />
+        <DataArray type="Int64" Name="offsets" format="appended" RangeMin=""                     RangeMax=""                     offset="648"                 />
+        <DataArray type="UInt8" Name="types" format="appended" RangeMin=""                     RangeMax=""                     offset="704"                 />
+      </Cells>
+    </Piece>
+  </UnstructuredGrid>
+  <AppendedData encoding="base64">
+   _SAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABgAAAAAAAAAJAAAAAAAAAAwAAAAAAAAADwAAAAAAAAASAAAAAAAAABUAAAAAAAAAGAAAAAAAAAA=IAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABAAAAAAAAAAGAAAAAAAAAA==2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4D8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA4D8AAAAAAAAAAAAAAAAAAPA/AAAAAAAA4D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8AAAAAAAAAAAAAAAAAAOA/AAAAAAAA8D8AAAAAAAAAAAAAAAAAAPA/AAAAAAAA8D8=gAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAEAAAAAAAAAAUAAAAAAAAABAAAAAAAAAADAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAFAAAAAAAAAAQAAAAAAAAABwAAAAAAAAAIAAAAAAAAAA==IAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAAA==BAAAAAAAAAAJCQkJ
+  </AppendedData>
+</VTKFile>
-- 
GitLab