diff --git a/ProcessLib/LiquidFlow/Tests.cmake b/ProcessLib/LiquidFlow/Tests.cmake index 7ff25c34ca12a51f781e58df308d60b816b19f03..0e686bad271bd56570c843bd82a0bcb4fd4e5f98 100644 --- a/ProcessLib/LiquidFlow/Tests.cmake +++ b/ProcessLib/LiquidFlow/Tests.cmake @@ -332,3 +332,19 @@ AddTest( Dupuit_TestSet_01_pcs_0_ts_90_t_7776000.000000.vtu TestSet_01_pcs_0_ts_90_t_7776000.000000.vtu pressure pressure 3e-12 2e-13 Dupuit_TestSet_01_pcs_0_ts_100_t_8640000.000000.vtu TestSet_01_pcs_0_ts_100_t_8640000.000000.vtu pressure pressure 3e-12 2e-13 ) + +AddTest( + NAME LiquidFlow_TimeDependentHeterogeneousDirichletBCs + PATH Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions + EXECUTABLE ogs + EXECUTABLE_ARGS TimeDependentHeterogeneousBoundaryConditions.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + time_dependent_heterogeneous_bcs_pcs_0_ts_1_t_10.000000.vtu time_dependent_heterogeneous_bcs_pcs_0_ts_1_t_10.000000.vtu pressure pressure 1e-7 1e-13 + time_dependent_heterogeneous_bcs_pcs_0_ts_118_t_1180.000000.vtu time_dependent_heterogeneous_bcs_pcs_0_ts_118_t_1180.000000.vtu pressure pressure 1e-7 1e-13 + time_dependent_heterogeneous_bcs_pcs_0_ts_119_t_1190.000000.vtu time_dependent_heterogeneous_bcs_pcs_0_ts_119_t_1190.000000.vtu pressure pressure 1e-7 1e-13 + time_dependent_heterogeneous_bcs_pcs_0_ts_120_t_1200.000000.vtu time_dependent_heterogeneous_bcs_pcs_0_ts_120_t_1200.000000.vtu pressure pressure 1e-7 1e-13 + time_dependent_heterogeneous_bcs_pcs_0_ts_200_t_2000.000000.vtu time_dependent_heterogeneous_bcs_pcs_0_ts_200_t_2000.000000.vtu pressure pressure 1e-7 1e-13 +) diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/TimeDependentHeterogeneousBoundaryConditions.prj b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/TimeDependentHeterogeneousBoundaryConditions.prj new file mode 100644 index 0000000000000000000000000000000000000000..50168fc950228543111dd2ae016e1c094496636b --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/TimeDependentHeterogeneousBoundaryConditions.prj @@ -0,0 +1,260 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <meshes> + <mesh>mesh2D.vtu</mesh> + <mesh>left.vtu</mesh> + <mesh>right.vtu</mesh> + </meshes> + <processes> + <process> + <name>LiquidFlow</name> + <type>LIQUID_FLOW</type> + <integration_order>2</integration_order> + <darcy_gravity> + <!-- axis_id: 0, 1, or the dimension of space minus one --> + <axis_id>1</axis_id> + <!-- g>=0. g=0: non gravity term --> + <g>0.0</g> + </darcy_gravity> + <process_variables> + <process_variable>pressure</process_variable> + </process_variables> + <secondary_variables> + <secondary_variable type="static" internal_name="darcy_velocity" output_name="v"/> + </secondary_variables> + <material_property> + <fluid> + <density> + <type>Constant</type> + <value> 1.e3 </value> + </density> + <viscosity> + <type>Constant</type> + <value> 1.e-3 </value> + </viscosity> + </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> 1e-5 </value> + </storage> + </porous_medium> + </porous_medium> + </material_property> + </process> + </processes> + <time_loop> + <processes> + <process ref="LiquidFlow"> + <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> 2000 </t_end> + <timesteps> + <pair> + <repeat>200</repeat> + <delta_t>10.0</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>time_dependent_heterogeneous_bcs</prefix> + <timesteps> + <pair> + <repeat> 1 </repeat> + <each_steps> 1 </each_steps> + </pair> + <pair> + <repeat> 1 </repeat> + <each_steps> 117 </each_steps> + </pair> + <pair> + <repeat> 2 </repeat> + <each_steps> 1 </each_steps> + </pair> + <pair> + <repeat> 1 </repeat> + <each_steps> 80 </each_steps> + </pair> + </timesteps> + <variables> + <variable> pressure </variable> + <variable> v </variable> + </variables> + </output> + </time_loop> + <parameters> + <parameter> + <name>p0</name> + <type>Constant</type> + <value>9.5e5</value> + </parameter> + <parameter> + <name>bc_left_ts1</name> + <type>MeshNode</type> + <mesh>left</mesh> + <field_name>p_ts1</field_name> + </parameter> + <parameter> + <name>bc_left_ts59</name> + <type>MeshNode</type> + <mesh>left</mesh> + <field_name>p_ts59</field_name> + </parameter> + <parameter> + <name>bc_left_ts60</name> + <type>MeshNode</type> + <mesh>left</mesh> + <field_name>p_ts60</field_name> + </parameter> + <parameter> + <name>bc_left_ts100</name> + <type>MeshNode</type> + <mesh>left</mesh> + <field_name>p_ts60</field_name> + </parameter> + <parameter> + <name>bc_right_ts1</name> + <type>MeshNode</type> + <mesh>right</mesh> + <field_name>p_ts1</field_name> + </parameter> + <parameter> + <name>bc_right_ts59</name> + <type>MeshNode</type> + <mesh>right</mesh> + <field_name>p_ts59</field_name> + </parameter> + <parameter> + <name>bc_right_ts60</name> + <type>MeshNode</type> + <mesh>right</mesh> + <field_name>p_ts60</field_name> + </parameter> + <parameter> + <name>bc_right_ts100</name> + <type>MeshNode</type> + <mesh>right</mesh> + <field_name>p_ts60</field_name> + </parameter> + <parameter> + <name>constant_porosity_parameter</name> + <type>Constant</type> + <value>0.2</value> + </parameter> + <parameter> + <name>kappa1</name> + <type>Constant</type> + <values>1.e-12</values> + </parameter> + <parameter> + <name>TimeDependentDirichlet_left</name> + <type>TimeDependentHeterogeneousParameter</type> + <time_series> + <pair> + <time>0</time> + <parameter_name>bc_left_ts1</parameter_name> + </pair> + <pair> + <time>1180</time> + <parameter_name>bc_left_ts59</parameter_name> + </pair> + <pair> + <time>1200</time> + <parameter_name>bc_left_ts60</parameter_name> + </pair> + <pair> + <time>2000</time> + <parameter_name>bc_left_ts100</parameter_name> + </pair> + </time_series> + </parameter> + <parameter> + <name>TimeDependentDirichlet_right</name> + <type>TimeDependentHeterogeneousParameter</type> + <time_series> + <pair> + <time>0</time> + <parameter_name>bc_right_ts1</parameter_name> + </pair> + <pair> + <time>1180</time> + <parameter_name>bc_right_ts59</parameter_name> + </pair> + <pair> + <time>1200</time> + <parameter_name>bc_right_ts60</parameter_name> + </pair> + <pair> + <time>2000</time> + <parameter_name>bc_right_ts100</parameter_name> + </pair> + </time_series> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>pressure</name> + <components>1</components> + <order>1</order> + <initial_condition>p0</initial_condition> + <boundary_conditions> + <boundary_condition> + <mesh>left</mesh> + <type>Dirichlet</type> + <parameter>TimeDependentDirichlet_left</parameter> + </boundary_condition> + <boundary_condition> + <mesh>right</mesh> + <type>Dirichlet</type> + <parameter>TimeDependentDirichlet_right</parameter> + </boundary_condition> + </boundary_conditions> + </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-20 -maxiter 10000</lis> + <eigen> + <solver_type>CG</solver_type> + <precon_type>DIAGONAL</precon_type> + <max_iteration_step>10000</max_iteration_step> + <error_tolerance>1e-20</error_tolerance> + </eigen> + <petsc> + <prefix>lf</prefix> + <parameters>-lf_ksp_type cg -lf_pc_type bjacobi -lf_ksp_rtol 1e-16 -lf_ksp_max_it 10000</parameters> + </petsc> + </linear_solver> + </linear_solvers> +</OpenGeoSysProject> diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/left.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/left.vtu new file mode 100644 index 0000000000000000000000000000000000000000..4b1400935927561cdb1d07506fe59e7979dfe55a --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/left.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dfa10cb45121028f8c642dc236c8ae2d9f55e84a96549dd585c0fc8bc3cfb2b +size 4473 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/mesh2D.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/mesh2D.vtu new file mode 100644 index 0000000000000000000000000000000000000000..9ba80c041bed1bebc910440a6a4d35edb48f72cc --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/mesh2D.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5d24fb327d0e8b5bb516bb6a406466e56dadee18a4766e5970f4f698dd94f74 +size 35782 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/right.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/right.vtu new file mode 100644 index 0000000000000000000000000000000000000000..eaba8332c6d161446543326984118a7d3dae1d0a --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/right.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:228a2083be85d765c820c2d2065f8d4f48f5a1316ff57d6c2d14471ce191415d +size 4495 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_118_t_1180.000000.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_118_t_1180.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..575104efa93fee17b43f7005d2d03a85dcfb2824 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_118_t_1180.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22d5dfdee5e9bb809bf96116325d582073dfd610339cecc1400669dc6af30041 +size 26794 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_119_t_1190.000000.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_119_t_1190.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..76d06e12f100a81f61ce03942e3e21d6159cb8f4 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_119_t_1190.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2864b9328cec2f59e08ba4783e58f9976781996f4022a47f349598a71864d3f7 +size 27098 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_120_t_1200.000000.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_120_t_1200.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..a8dcbf590c9a241a228481087ad8666f754c36bf --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_120_t_1200.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6bb92619e1d165f6468c79f9ca62be1a8ab24b50ea0770546e33e49df507d53 +size 27118 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_1_t_10.000000.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_1_t_10.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..131f149757f2ccfa4b41318e51dab01b510bc731 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_1_t_10.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ff649c9af1128d973346cb770783061e0b256cefdbb62ffb50047420c663120 +size 26482 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_200_t_2000.000000.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_200_t_2000.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..15c3d88c12602f939e89126c73ba7a59f86c2af3 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousBoundaryConditions/time_dependent_heterogeneous_bcs_pcs_0_ts_200_t_2000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdc44cbd305ae2cfa7e700296b90b61e28ca3db02554150670cb8c71ca1d33d6 +size 27062