From e99aa623812b1a41e096968b295abaa795bd490e Mon Sep 17 00:00:00 2001
From: Thomas Fischer <thomas.fischer@ufz.de>
Date: Fri, 27 Sep 2019 12:20:16 +0200
Subject: [PATCH] [T] Line source tests in 3d cube domain.

---
 ...line_source_term_pcs_0_ts_1_t_1.000000.vtu |   3 +
 .../cube_1x1x1_hex_1e3.vtu                    |   3 +
 .../cube_1x1x1_hex_1e3_right.vtu              |   3 +
 .../line_at_x_0.5_y_0.5.vtu                   |   3 +
 .../line_source_term_x_0.5_y_0.5.prj          | 137 ++++++++++++++++++
 ..._term_restricted_pcs_0_ts_1_t_1.000000.vtu |   3 +
 .../cube_1x1x1_hex_1e3.vtu                    |   3 +
 .../cube_1x1x1_hex_1e3_right.vtu              |   3 +
 .../line_at_x_0.5_y_0.5_restricted.vtu        |   3 +
 ...ine_source_term_x_0.5_y_0.5_restricted.prj | 137 ++++++++++++++++++
 10 files changed, 298 insertions(+)
 create mode 100644 Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/3D_line_source_term_pcs_0_ts_1_t_1.000000.vtu
 create mode 100644 Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/cube_1x1x1_hex_1e3.vtu
 create mode 100644 Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/cube_1x1x1_hex_1e3_right.vtu
 create mode 100644 Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/line_at_x_0.5_y_0.5.vtu
 create mode 100644 Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/line_source_term_x_0.5_y_0.5.prj
 create mode 100644 Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/3D_line_source_term_restricted_pcs_0_ts_1_t_1.000000.vtu
 create mode 100644 Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/cube_1x1x1_hex_1e3.vtu
 create mode 100644 Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/cube_1x1x1_hex_1e3_right.vtu
 create mode 100644 Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/line_at_x_0.5_y_0.5_restricted.vtu
 create mode 100644 Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/line_source_term_x_0.5_y_0.5_restricted.prj

diff --git a/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/3D_line_source_term_pcs_0_ts_1_t_1.000000.vtu b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/3D_line_source_term_pcs_0_ts_1_t_1.000000.vtu
new file mode 100644
index 00000000000..2b4b9ce5d38
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/3D_line_source_term_pcs_0_ts_1_t_1.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9e853403a23b7ccbe882ab00e6743dcfc49145a0c1fd935896114197b9bcf47c
+size 29161
diff --git a/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/cube_1x1x1_hex_1e3.vtu b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/cube_1x1x1_hex_1e3.vtu
new file mode 100644
index 00000000000..143080df55b
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/cube_1x1x1_hex_1e3.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5922c7c05e509f33534fc8aa08ab82d748914acc4268ef7af81983e3f92aeece
+size 127156
diff --git a/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/cube_1x1x1_hex_1e3_right.vtu b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/cube_1x1x1_hex_1e3_right.vtu
new file mode 100644
index 00000000000..cb08cfb5227
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/cube_1x1x1_hex_1e3_right.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:efcc5a635b6616ee00d7f8df481c3dfedbab2984a2e5ffb317386095681d19e4
+size 12898
diff --git a/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/line_at_x_0.5_y_0.5.vtu b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/line_at_x_0.5_y_0.5.vtu
new file mode 100644
index 00000000000..c3bf2785d91
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/line_at_x_0.5_y_0.5.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f0e907f622e78b982176352c63271038488880c3d8d08f8539f703edde9c3cc4
+size 3026
diff --git a/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/line_source_term_x_0.5_y_0.5.prj b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/line_source_term_x_0.5_y_0.5.prj
new file mode 100644
index 00000000000..425cbf538bc
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle/line_source_term_x_0.5_y_0.5.prj
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <meshes>
+        <mesh>cube_1x1x1_hex_1e3.vtu</mesh>
+        <mesh>line_at_x_0.5_y_0.5.vtu</mesh>
+        <mesh>cube_1x1x1_hex_1e3_right.vtu</mesh>
+    </meshes>
+    <processes>
+        <process>
+            <name>HeatConduction</name>
+            <type>HEAT_CONDUCTION</type>
+            <integration_order>2</integration_order>
+            <thermal_conductivity>lambda</thermal_conductivity>
+            <heat_capacity>c_p</heat_capacity>
+            <density>rho</density>
+            <process_variables>
+                <process_variable>temperature</process_variable>
+            </process_variables>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="heat_flux_x" output_name="heat_flux_x"/>
+            </secondary_variables>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="HeatConduction">
+                <nonlinear_solver>basic_picard</nonlinear_solver>
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstol>1.e-6</abstol>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial> 0.0 </t_initial>
+                    <t_end> 1 </t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>3D_line_source_term</prefix>
+            <timesteps>
+                <pair>
+                    <repeat> 10000 </repeat>
+                    <each_steps> 1 </each_steps>
+                </pair>
+            </timesteps>
+            <variables>
+                <variable> temperature </variable>
+                <variable> heat_flux_x </variable>
+            </variables>
+        </output>
+    </time_loop>
+    <parameters>
+        <parameter>
+            <name>lambda</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>c_p</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>rho</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>T0</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>HeatSource</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+    </parameters>
+    <process_variables>
+        <process_variable>
+            <name>temperature</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>T0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <mesh>cube_1x1x1_hex_1e3_right</mesh>
+                    <type>Dirichlet</type>
+                    <parameter>T0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+            <source_terms>
+                <source_term>
+                    <mesh>line_at_x_0.5_y_0.5</mesh>
+                    <type>Line</type>
+                    <parameter>HeatSource</parameter>
+                </source_term>
+            </source_terms>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>basic_picard</name>
+            <type>Picard</type>
+            <max_iter>10</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <lis>-i cg -p jacobi -tol 1e-16 -maxiter 10000</lis>
+            <eigen>
+                <solver_type>CG</solver_type>
+                <precon_type>DIAGONAL</precon_type>
+                <max_iteration_step>10000</max_iteration_step>
+                <error_tolerance>1e-16</error_tolerance>
+            </eigen>
+            <petsc>
+                <prefix>gw</prefix>
+                <parameters>-gw_ksp_type cg -gw_pc_type bjacobi -gw_ksp_rtol 1e-16 -gw_ksp_max_it 10000</parameters>
+            </petsc>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
diff --git a/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/3D_line_source_term_restricted_pcs_0_ts_1_t_1.000000.vtu b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/3D_line_source_term_restricted_pcs_0_ts_1_t_1.000000.vtu
new file mode 100644
index 00000000000..23779752d5a
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/3D_line_source_term_restricted_pcs_0_ts_1_t_1.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7d8c24dc15b2f072522f78ec94e214ebbf14cddee16e7d956a9bb6713d29c597
+size 39545
diff --git a/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/cube_1x1x1_hex_1e3.vtu b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/cube_1x1x1_hex_1e3.vtu
new file mode 100644
index 00000000000..143080df55b
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/cube_1x1x1_hex_1e3.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5922c7c05e509f33534fc8aa08ab82d748914acc4268ef7af81983e3f92aeece
+size 127156
diff --git a/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/cube_1x1x1_hex_1e3_right.vtu b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/cube_1x1x1_hex_1e3_right.vtu
new file mode 100644
index 00000000000..cb08cfb5227
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/cube_1x1x1_hex_1e3_right.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:efcc5a635b6616ee00d7f8df481c3dfedbab2984a2e5ffb317386095681d19e4
+size 12898
diff --git a/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/line_at_x_0.5_y_0.5_restricted.vtu b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/line_at_x_0.5_y_0.5_restricted.vtu
new file mode 100644
index 00000000000..763ba6d7b57
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/line_at_x_0.5_y_0.5_restricted.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:123d036b040c0d254e77b020a52673e293538e719da1b4c43a2a4e99f12c6c29
+size 2768
diff --git a/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/line_source_term_x_0.5_y_0.5_restricted.prj b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/line_source_term_x_0.5_y_0.5_restricted.prj
new file mode 100644
index 00000000000..cc64447acf6
--- /dev/null
+++ b/Tests/Data/Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted/line_source_term_x_0.5_y_0.5_restricted.prj
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <meshes>
+        <mesh>cube_1x1x1_hex_1e3.vtu</mesh>
+        <mesh>line_at_x_0.5_y_0.5_restricted.vtu</mesh>
+        <mesh>cube_1x1x1_hex_1e3_right.vtu</mesh>
+    </meshes>
+    <processes>
+        <process>
+            <name>HeatConduction</name>
+            <type>HEAT_CONDUCTION</type>
+            <integration_order>2</integration_order>
+            <thermal_conductivity>lambda</thermal_conductivity>
+            <heat_capacity>c_p</heat_capacity>
+            <density>rho</density>
+            <process_variables>
+                <process_variable>temperature</process_variable>
+            </process_variables>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="heat_flux_x" output_name="heat_flux_x"/>
+            </secondary_variables>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="HeatConduction">
+                <nonlinear_solver>basic_picard</nonlinear_solver>
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstol>1.e-6</abstol>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial> 0.0 </t_initial>
+                    <t_end> 1 </t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>3D_line_source_term_restricted</prefix>
+            <timesteps>
+                <pair>
+                    <repeat> 10000 </repeat>
+                    <each_steps> 1 </each_steps>
+                </pair>
+            </timesteps>
+            <variables>
+                <variable> temperature </variable>
+                <variable> heat_flux_x </variable>
+            </variables>
+        </output>
+    </time_loop>
+    <parameters>
+        <parameter>
+            <name>lambda</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>c_p</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>rho</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>T0</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>HeatSource</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+    </parameters>
+    <process_variables>
+        <process_variable>
+            <name>temperature</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>T0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <mesh>cube_1x1x1_hex_1e3_right</mesh>
+                    <type>Dirichlet</type>
+                    <parameter>T0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+            <source_terms>
+                <source_term>
+                    <mesh>line_at_x_0.5_y_0.5_restricted</mesh>
+                    <type>Line</type>
+                    <parameter>HeatSource</parameter>
+                </source_term>
+            </source_terms>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>basic_picard</name>
+            <type>Picard</type>
+            <max_iter>10</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <lis>-i cg -p jacobi -tol 1e-16 -maxiter 10000</lis>
+            <eigen>
+                <solver_type>CG</solver_type>
+                <precon_type>DIAGONAL</precon_type>
+                <max_iteration_step>10000</max_iteration_step>
+                <error_tolerance>1e-16</error_tolerance>
+            </eigen>
+            <petsc>
+                <prefix>gw</prefix>
+                <parameters>-gw_ksp_type cg -gw_pc_type bjacobi -gw_ksp_rtol 1e-16 -gw_ksp_max_it 10000</parameters>
+            </petsc>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
-- 
GitLab