From 4c88ef16c4f34003f07f578e5b4a21611d0620d1 Mon Sep 17 00:00:00 2001
From: Wenqing Wang <wenqing.wang@ufz.de>
Date: Wed, 25 Oct 2017 10:57:24 +0200
Subject: [PATCH] [Test] Added a new test to solve the HT monolithic test with
 the staggered scheme

and removed the tests for the staggered scheme from LiquidFlow temporarily.
---
 ProcessLib/HT/Tests.cmake                     |  30 +-
 ProcessLib/LiquidFlow/Tests.cmake             | 112 ----
 .../ConstViscosity/square_5500x5500.gml       |   3 +
 .../ConstViscosity/square_5500x5500.vtu       |   3 +
 .../square_5500x5500_staggered_scheme.prj     | 480 ++++++++++++++++++
 5 files changed, 515 insertions(+), 113 deletions(-)
 create mode 100644 Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500.gml
 create mode 100644 Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500.vtu
 create mode 100644 Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500_staggered_scheme.prj

diff --git a/ProcessLib/HT/Tests.cmake b/ProcessLib/HT/Tests.cmake
index f9bad242cc0..f25e2368e2e 100644
--- a/ProcessLib/HT/Tests.cmake
+++ b/ProcessLib/HT/Tests.cmake
@@ -11,7 +11,21 @@ AddTest(
     VIS ConstViscosityThermalConvection_pcs_0_ts_149_t_50000000000.000000.vtu
 )
 
-# MPI tests
+AddTest(
+    NAME LARGE_2D_ThermalConvection_constviscosityStaggeredScheme
+    PATH Parabolic/HT/StaggeredCoupling/ConstViscosity
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS square_5500x5500_staggered_scheme.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
+    DIFF_DATA
+    square_5500x5500.vtu ConstViscosityThermalConvection_pcs_1_ts_149_t_50000000000.000000.vtu T_ref T 1e-16  1.e-16
+    square_5500x5500.vtu ConstViscosityThermalConvection_pcs_1_ts_149_t_50000000000.000000.vtu p_ref p  1e-16  1.e-16
+    VIS ConstViscosityThermalConvection_pcs_1_ts_149_t_50000000000.000000.vtu
+)
+
+# MPI/PETSc tests
 AddTest(
     NAME Parallel_LARGE_2D_ThermalConvection_constviscosity
     PATH Parabolic/HT/ConstViscosity
@@ -30,3 +44,17 @@ AddTest(
     ConstViscosityThermalConvection_pcs_0_ts_149_t_50000000000_000000_2.vtu ConstViscosityThermalConvection_pcs_0_ts_149_t_50000000000_000000_2.vtu T T 1e-15 1e-14
     ConstViscosityThermalConvection_pcs_0_ts_149_t_50000000000_000000_3.vtu ConstViscosityThermalConvection_pcs_0_ts_149_t_50000000000_000000_3.vtu T T 1e-15 1e-14
 )
+
+AddTest(
+    NAME LARGE_2D_ThermalConvection_constviscosityStaggeredScheme
+    PATH Parabolic/HT/StaggeredCoupling/ConstViscosity
+    EXECUTABLE_ARGS square_5500x5500_staggered_scheme.prj
+    WRAPPER mpirun
+    WRAPPER_ARGS -np 1
+    TESTER vtkdiff
+    REQUIREMENTS OGS_USE_MPI
+    DIFF_DATA
+    square_5500x5500.vtu ConstViscosityThermalConvection_pcs_1_ts_149_t_50000000000_000000_0.vtu T_ref T  1e-14  1.e-14
+    square_5500x5500.vtu ConstViscosityThermalConvection_pcs_1_ts_149_t_50000000000_000000_0.vtu p_ref p  1e-14  1.e-14
+    VIS ConstViscosityThermalConvection_pcs_1_ts_149_t_50000000000.000000_0.vtu
+)
diff --git a/ProcessLib/LiquidFlow/Tests.cmake b/ProcessLib/LiquidFlow/Tests.cmake
index 544ed2a5a2b..dafcce389bb 100644
--- a/ProcessLib/LiquidFlow/Tests.cmake
+++ b/ProcessLib/LiquidFlow/Tests.cmake
@@ -70,61 +70,6 @@ AddTest(
     hex.vtu isotropic_gravity_driven3D_pcs_0_ts_1_t_1.000000.vtu analytic_pressure pressure 1e-6 1e-6
 )
 
-# Coupling
-AddTest(
-    NAME StaggeredTH_ThermalDensityDrivenFlow2D
-    PATH StaggeredCoupledProcesses/TH/ThermalDensityDrivenFlow2D
-    EXECUTABLE ogs
-    EXECUTABLE_ARGS thermal_gravity_driven_flow2d.prj
-    WRAPPER time
-    TESTER vtkdiff
-    REQUIREMENTS NOT OGS_USE_MPI
-    DIFF_DATA
-    mesh2D.vtu gravity_driven_pcs_1_ts_10_t_300.000000.vtu OGS5_PRESSURE1 pressure 1.1 1e-7
-    mesh2D.vtu gravity_driven_pcs_1_ts_10_t_300.000000.vtu OGS5_TEMPERATURE1 temperature 1.1 1e-7
-    mesh2D.vtu gravity_driven_pcs_1_ts_10_t_300.000000.vtu v_ref v 1.1 1e-7
-)
-
-AddTest(
-    NAME Adaptive_dt_StaggeredTH_ThermalDensityDrivenFlow2D
-    PATH StaggeredCoupledProcesses/TH/ThermalDensityDrivenFlow2D
-    EXECUTABLE ogs
-    EXECUTABLE_ARGS thermal_gravity_driven_flow2d_adaptive_dt.prj
-    WRAPPER time
-    TESTER vtkdiff
-    REQUIREMENTS NOT OGS_USE_MPI
-    DIFF_DATA
-    mesh2D.vtu gravity_driven_adaptive_dt_pcs_1_ts_10_t_300.000000.vtu OGS5_PRESSURE1 pressure 1.1 1e-6
-    mesh2D.vtu gravity_driven_adaptive_dt_pcs_1_ts_10_t_300.000000.vtu OGS5_TEMPERATURE1 temperature 1.1 1e-6
-    mesh2D.vtu gravity_driven_adaptive_dt_pcs_1_ts_10_t_300.000000.vtu v_ref v 1.1 1e-6
-)
-
-AddTest(
-    NAME Adaptive_dt_ThermalConvectionFlow2D
-    PATH StaggeredCoupledProcesses/TH/ThermalConvection2D
-    EXECUTABLE ogs
-    EXECUTABLE_ARGS quad_5500x5500_adaptive_dt.prj
-    WRAPPER time
-    TESTER vtkdiff
-    REQUIREMENTS NOT OGS_USE_MPI
-    DIFF_DATA
-    ThermalConvection_pcs_1_ts_232_t_50000000000.000000_non_const_mu.vtu  ThermalConvection_pcs_1_ts_223_t_50000000000.000000.vtu  pressure pressure 1.e-3 1e-10
-    ThermalConvection_pcs_1_ts_232_t_50000000000.000000_non_const_mu.vtu  ThermalConvection_pcs_1_ts_223_t_50000000000.000000.vtu  temperature temperature 1.e-3 1e-10
-)
-
-AddTest(
-    NAME Adaptive_dt_ThermalConvectionFlow2D_Constant_Viscosity
-    PATH StaggeredCoupledProcesses/TH/ThermalConvection2D
-    EXECUTABLE ogs
-    EXECUTABLE_ARGS quad_5500x5500_adaptive_dt_constant_viscosity.prj
-    WRAPPER time
-    TESTER vtkdiff
-    REQUIREMENTS NOT OGS_USE_MPI
-    DIFF_DATA
-    ConstViscosityThermalConvection_pcs_1_ts_137_t_50000000000.000000.vtu  ConstViscosityThermalConvection_pcs_1_ts_137_t_50000000000.000000.vtu  pressure pressure 1.e-16 1e-9
-    ConstViscosityThermalConvection_pcs_1_ts_137_t_50000000000.000000.vtu  ConstViscosityThermalConvection_pcs_1_ts_137_t_50000000000.000000.vtu  temperature temperature 1.e-16 1e-9
-)
-
 #===============================================================================
 # PETSc/MPI
 AddTest(
@@ -196,60 +141,3 @@ AddTest(
     DIFF_DATA
     hex.vtu isotropic_gravity_driven3D_pcs_0_ts_1_t_1_000000_0.vtu analytic_pressure pressure 1e-6 1e-6
 )
-
-# Coupling
-AddTest(
-    NAME StaggeredTH_ThermalDensityDrivenFlow2D
-    PATH StaggeredCoupledProcesses/TH/ThermalDensityDrivenFlow2D
-    EXECUTABLE_ARGS thermal_gravity_driven_flow2d.prj
-    WRAPPER mpirun
-    WRAPPER_ARGS -np 1
-    TESTER vtkdiff
-    REQUIREMENTS OGS_USE_MPI
-    DIFF_DATA
-    mesh2D.vtu gravity_driven_pcs_1_ts_10_t_300_000000_0.vtu OGS5_PRESSURE1  pressure 1.1 1e-7
-    mesh2D.vtu gravity_driven_pcs_1_ts_10_t_300_000000_0.vtu OGS5_TEMPERATURE1 temperature 1.1 1e-7
-# To be activated when the output of velocity is correct under PETSc version.
-#    mesh2D.vtu gravity_driven_pcs_1_ts_10_t_300_000000_0.vtu v_ref v 1.1 1e-7
-
-)
-
-AddTest(
-    NAME Adaptive_dt_StaggeredTH_ThermalDensityDrivenFlow2D
-    PATH StaggeredCoupledProcesses/TH/ThermalDensityDrivenFlow2D
-    EXECUTABLE_ARGS thermal_gravity_driven_flow2d_adaptive_dt.prj
-    WRAPPER mpirun
-    WRAPPER_ARGS -np 1
-    TESTER vtkdiff
-    REQUIREMENTS OGS_USE_MPI
-    DIFF_DATA
-    mesh2D.vtu gravity_driven_adaptive_dt_pcs_1_ts_10_t_300_000000_0.vtu OGS5_PRESSURE1 pressure 1.1 1e-7
-    mesh2D.vtu gravity_driven_adaptive_dt_pcs_1_ts_10_t_300_000000_0.vtu OGS5_TEMPERATURE1 temperature 1.1 1e-7
-# To be activated when the output of velocity is correct under PETSc version.
-#    mesh2D.vtu gravity_driven_pcs_1_ts_5_t_300_000000_0.vtu v_ref v 1.1 1e-7
-)
-AddTest(
-    NAME Adaptive_dt_ThermalConvectionFlow2D
-    PATH StaggeredCoupledProcesses/TH/ThermalConvection2D
-    EXECUTABLE_ARGS quad_5500x5500_adaptive_dt.prj
-    WRAPPER mpirun
-    WRAPPER_ARGS -np 1
-    TESTER vtkdiff
-    REQUIREMENTS OGS_USE_MPI
-    DIFF_DATA
-    ThermalConvection_pcs_1_ts_232_t_50000000000.000000_non_const_mu.vtu  ThermalConvection_pcs_1_ts_223_t_50000000000_000000_0.vtu  pressure pressure 1.e-3 1e-10
-    ThermalConvection_pcs_1_ts_232_t_50000000000.000000_non_const_mu.vtu  ThermalConvection_pcs_1_ts_223_t_50000000000_000000_0.vtu  temperature temperature 1.e-3 1e-10
-)
-
-AddTest(
-    NAME Adaptive_dt_ThermalConvectionFlow2D_Constant_Viscosity
-    PATH StaggeredCoupledProcesses/TH/ThermalConvection2D
-    EXECUTABLE_ARGS quad_5500x5500_adaptive_dt_constant_viscosity.prj
-    WRAPPER mpirun
-    WRAPPER_ARGS -np 1
-    TESTER vtkdiff
-    REQUIREMENTS OGS_USE_MPI
-    DIFF_DATA
-    ConstViscosityThermalConvection_pcs_1_ts_137_t_50000000000.000000.vtu  ConstViscosityThermalConvection_pcs_1_ts_137_t_50000000000_000000_0.vtu  pressure pressure 1.e-9 1e-9
-    ConstViscosityThermalConvection_pcs_1_ts_137_t_50000000000.000000.vtu  ConstViscosityThermalConvection_pcs_1_ts_137_t_50000000000_000000_0.vtu  temperature temperature 1.e-9 1e-9
-)
diff --git a/Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500.gml b/Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500.gml
new file mode 100644
index 00000000000..032286fc8f9
--- /dev/null
+++ b/Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500.gml
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8b35708cfa327cd080308516153e5d97cfca995b75378c47462f9b64a63b21d5
+size 1044
diff --git a/Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500.vtu b/Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500.vtu
new file mode 100644
index 00000000000..3df5c5201c9
--- /dev/null
+++ b/Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6f5d32a50ce7d3eddd0f4f4b1f33de2230d2e49a24aa1b55511222e3cf038f68
+size 138816
diff --git a/Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500_staggered_scheme.prj b/Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500_staggered_scheme.prj
new file mode 100644
index 00000000000..fe303865d28
--- /dev/null
+++ b/Tests/lfs-data/Parabolic/HT/StaggeredCoupling/ConstViscosity/square_5500x5500_staggered_scheme.prj
@@ -0,0 +1,480 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>square_5500x5500.vtu</mesh>
+    <geometry>square_5500x5500.gml</geometry>
+    <processes>
+        <process>
+            <name>ConstViscosityThermalConvection</name>
+            <type>HT</type>
+            <coupling_scheme>staggered</coupling_scheme>
+            <integration_order>2</integration_order>
+            <process_variables>
+                <temperature>T</temperature>
+                <pressure>p</pressure>
+            </process_variables>
+            <fluid>
+                <density>
+                    <type>TemperatureDependent</type>
+                    <rho0>1000</rho0>
+                    <temperature0>20</temperature0>
+                    <beta>4.3e-4</beta>
+                </density>
+                <viscosity>
+                    <type>Constant</type>
+                    <value>1.0e-3</value>
+                </viscosity>
+                <specific_heat_capacity>
+                    <type>Constant</type>
+                    <value>4200</value>
+                </specific_heat_capacity>
+            </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>constant_porosity_parameter</porosity_parameter>
+                    </porosity>
+                    <storage>
+                        <type>Constant</type>
+                        <value>0.0</value>
+                    </storage>
+                </porous_medium>
+            </porous_medium>
+            <density_solid>rho_solid</density_solid>
+            <specific_heat_capacity_solid>c_solid</specific_heat_capacity_solid>
+            <thermal_conductivity_solid>lambda_solid</thermal_conductivity_solid>
+            <thermal_conductivity_fluid>lambda_fluid</thermal_conductivity_fluid>
+            <specific_body_force>0 -9.81</specific_body_force>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="darcy_velocity" output_name="darcy_velocity"/>
+            </secondary_variables>
+        </process>
+    </processes>
+    <time_loop>
+        <global_process_coupling>
+            <max_iter> 6 </max_iter>
+            <convergence_criterion>
+                <type>Residual</type>
+                <norm_type>NORM2</norm_type>
+                <reltol>1.e-10</reltol>
+            </convergence_criterion>
+        </global_process_coupling>
+
+        <processes>
+            <process ref="ConstViscosityThermalConvection">
+                <nonlinear_solver>picard_T</nonlinear_solver>
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstol>1.e-3</abstol>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <output>
+                    <variables>
+                        <variable>T</variable>
+                        <variable>darcy_velocity</variable>
+                    </variables>
+                </output>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial> 0.0 </t_initial>
+                    <t_end> 5e10 </t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e-7</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e-5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e-3</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e-1</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>10</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>100</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e4</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2e4</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>4e4</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>8e4</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2e5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>4e5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>8e5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e6</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2e6</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>4e6</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>8e6</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e7</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2e7</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>4e7</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2e8</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>100</repeat>
+                            <delta_t>4e8</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+            <process ref="ConstViscosityThermalConvection">
+                <nonlinear_solver>picard_H</nonlinear_solver>
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstol>1.e-3</abstol>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <output>
+                    <variables>
+                        <variable>p</variable>
+                    </variables>
+                </output>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial> 0.0 </t_initial>
+                    <t_end> 5e10 </t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e-7</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e-5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e-3</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e-1</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>10</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>100</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e4</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2e4</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>4e4</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>8e4</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2e5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>4e5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>8e5</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e6</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2e6</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>4e6</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>8e6</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>1e7</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2e7</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>4e7</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>2e8</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>100</repeat>
+                            <delta_t>4e8</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>ConstViscosityThermalConvection</prefix>
+            <timesteps>
+                <pair>
+                    <repeat> 1 </repeat>
+                    <each_steps> 149 </each_steps>
+                </pair>
+            </timesteps>
+        </output>
+    </time_loop>
+    <parameters>
+        <parameter>
+            <name>rho_solid</name>
+            <type>Constant</type>
+            <value>0.0</value>
+        </parameter>
+        <parameter>
+            <name>rho_fluid</name>
+            <type>Constant</type>
+            <value>1000</value>
+        </parameter>
+        <parameter>
+            <name>lambda_solid</name>
+            <type>Constant</type>
+            <value>3.0</value>
+        </parameter>
+        <parameter>
+            <name>lambda_fluid</name>
+            <type>Constant</type>
+            <value>0.65</value>
+        </parameter>
+        <parameter>
+            <name>alpha_l</name>
+            <type>Constant</type>
+            <value>0.0</value>
+        </parameter>
+        <parameter>
+            <name>alpha_t</name>
+            <type>Constant</type>
+            <value>0.0</value>
+        </parameter>
+        <parameter>
+            <name>c_solid</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>T0</name>
+            <type>MeshNode</type>
+            <field_name>initial_temperature</field_name>
+        </parameter>
+        <parameter>
+            <name>P0</name>
+            <type>MeshNode</type>
+            <field_name>initial_pressure</field_name>
+        </parameter>
+        <parameter>
+            <name>p_Dirichlet_topleft</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>t_Dirichlet_bottom</name>
+            <type>Constant</type>
+            <value>170</value>
+        </parameter>
+        <parameter>
+            <name>t_Dirichlet_top</name>
+            <type>Constant</type>
+            <value>20</value>
+        </parameter>
+        <parameter>
+            <name>constant_porosity_parameter</name>
+            <type>Constant</type>
+            <value>0.001</value>
+        </parameter>
+        <parameter>
+            <name>kappa1</name>
+            <type>Constant</type>
+            <values>1.e-14 0 0 1.e-14</values>
+        </parameter>
+    </parameters>
+    <process_variables>
+        <process_variable>
+            <name>T</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>T0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>bottom</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>t_Dirichlet_bottom</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>top</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>t_Dirichlet_top</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>p</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>P0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>square_1x1_geometry</geometrical_set>
+                    <geometry>topleft</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>p_Dirichlet_topleft</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>picard_T</name>
+            <type>Picard</type>
+            <max_iter>20</max_iter>
+            <linear_solver>linear_solver_T</linear_solver>
+        </nonlinear_solver>
+        <nonlinear_solver>
+            <name>picard_H</name>
+            <type>Picard</type>
+            <max_iter>20</max_iter>
+            <linear_solver>linear_solver_H</linear_solver>
+        </nonlinear_solver>
+    </nonlinear_solvers>
+
+    <linear_solvers>
+        <linear_solver>
+            <name>linear_solver_T</name>
+            <lis>-i bicgstab -p ilu -tol 1e-20 -maxiter 10000</lis>
+            <eigen>
+                <solver_type>BiCGSTAB</solver_type>
+                <precon_type>ILUT</precon_type>
+                <max_iteration_step>10000</max_iteration_step>
+                <error_tolerance>1e-20</error_tolerance>
+            </eigen>
+            <petsc>
+                <prefix>T</prefix>
+                <parameters>-T_ksp_type bcgs -T_pc_type bjacobi -T_ksp_rtol 1e-16 -T_ksp_max_it 10000</parameters>
+            </petsc>
+        </linear_solver>
+        <linear_solver>
+            <name>linear_solver_H</name>
+            <lis>-i bicgstab -p jacobi -tol 1e-14 -maxiter 10000</lis>
+            <eigen>
+                <solver_type>BiCGSTAB</solver_type>
+                <precon_type>DIAGONAL</precon_type>
+                <max_iteration_step>10000</max_iteration_step>
+                <error_tolerance>1e-14</error_tolerance>
+            </eigen>
+            <petsc>
+                <prefix>H</prefix>
+                <parameters>-H_ksp_type bcgs -H_pc_type mg -H_ksp_rtol 1e-12 -H_ksp_max_it 10000</parameters>
+            </petsc>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>
-- 
GitLab