diff --git a/ProcessLib/LiquidFlow/Tests.cmake b/ProcessLib/LiquidFlow/Tests.cmake index 0e686bad271bd56570c843bd82a0bcb4fd4e5f98..b0c7df40850436911324e3ca502db88e3e410ab3 100644 --- a/ProcessLib/LiquidFlow/Tests.cmake +++ b/ProcessLib/LiquidFlow/Tests.cmake @@ -348,3 +348,19 @@ AddTest( 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 ) + +AddTest( + NAME LiquidFlow_TimeDependentHeterogeneousSourceTerm + PATH Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm + EXECUTABLE ogs + EXECUTABLE_ARGS TimeDependentHeterogeneousSourceTerm.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + time_dependent_heterogeneous_source_term_pcs_0_ts_1_t_10.000000.vtu time_dependent_heterogeneous_source_term_pcs_0_ts_1_t_10.000000.vtu pressure pressure 1e-7 1e-13 + time_dependent_heterogeneous_source_term_pcs_0_ts_118_t_1180.000000.vtu time_dependent_heterogeneous_source_term_pcs_0_ts_118_t_1180.000000.vtu pressure pressure 1e-7 1e-13 + time_dependent_heterogeneous_source_term_pcs_0_ts_119_t_1190.000000.vtu time_dependent_heterogeneous_source_term_pcs_0_ts_119_t_1190.000000.vtu pressure pressure 1e-7 1e-13 + time_dependent_heterogeneous_source_term_pcs_0_ts_120_t_1200.000000.vtu time_dependent_heterogeneous_source_term_pcs_0_ts_120_t_1200.000000.vtu pressure pressure 1e-7 1e-13 + time_dependent_heterogeneous_source_term_pcs_0_ts_200_t_2000.000000.vtu time_dependent_heterogeneous_source_term_pcs_0_ts_200_t_2000.000000.vtu pressure pressure 1e-7 1e-13 +) diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/TimeDependentHeterogeneousSourceTerm.prj b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/TimeDependentHeterogeneousSourceTerm.prj new file mode 100644 index 0000000000000000000000000000000000000000..ac70478dddcfcb3467bb4acfeb974c667313cdd9 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/TimeDependentHeterogeneousSourceTerm.prj @@ -0,0 +1,316 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <meshes> + <mesh>mesh2D.vtu</mesh> + <mesh>central_region.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_source_term</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> + <parameter> + <name>source_term_parameter_in</name> + <type>Constant</type> + <values>1e-2</values> + </parameter> + <parameter> + <name>source_term_parameter_out</name> + <type>Constant</type> + <values>-1e-2</values> + </parameter> + <parameter> + <name>TimeDependentSourceTerm</name> + <type>TimeDependentHeterogeneousParameter</type> + <time_series> + <pair> + <time>0</time> + <parameter_name>source_term_parameter_in</parameter_name> + </pair> + <pair> + <time>490</time> + <parameter_name>source_term_parameter_in</parameter_name> + </pair> + <pair> + <time>510</time> + <parameter_name>source_term_parameter_out</parameter_name> + </pair> + <pair> + <time>990</time> + <parameter_name>source_term_parameter_out</parameter_name> + </pair> + <pair> + <time>1010</time> + <parameter_name>source_term_parameter_in</parameter_name> + </pair> + <pair> + <time>1490</time> + <parameter_name>source_term_parameter_in</parameter_name> + </pair> + <pair> + <time>1510</time> + <parameter_name>source_term_parameter_out</parameter_name> + </pair> + <pair> + <time>2000</time> + <parameter_name>source_term_parameter_out</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> + <source_terms> + <source_term> + <mesh>central_region</mesh> + <type>Volumetric</type> + <parameter>TimeDependentSourceTerm</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-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/TimeDependentHeterogeneousSourceTerm/central_region.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/central_region.vtu new file mode 100644 index 0000000000000000000000000000000000000000..a1032d4dca0cedfc418eb76fefbe9cb47b0be156 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/central_region.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4224da6a110fe109225afc75a9db048aa60f0d266d1693e105842782d3795a4 +size 2983 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/left.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/left.vtu new file mode 100644 index 0000000000000000000000000000000000000000..4b1400935927561cdb1d07506fe59e7979dfe55a --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/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/TimeDependentHeterogeneousSourceTerm/mesh2D.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/mesh2D.vtu new file mode 100644 index 0000000000000000000000000000000000000000..9ba80c041bed1bebc910440a6a4d35edb48f72cc --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/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/TimeDependentHeterogeneousSourceTerm/right.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/right.vtu new file mode 100644 index 0000000000000000000000000000000000000000..eaba8332c6d161446543326984118a7d3dae1d0a --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/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/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_118_t_1180.000000.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_118_t_1180.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..c88f7fed8277cd4197efb7afc5ef433d361a7e31 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_118_t_1180.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5803553b333124ac89052066ab798f688ec046c23af2dbcbe470ef1679f65413 +size 27258 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_119_t_1190.000000.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_119_t_1190.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..5edc9986c2fc359927a7bf772f9494b059db8cc0 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_119_t_1190.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d125013ce2f0d87362bcdf410373155871860dc27f02fa0cf3cf22c7517d3f26 +size 27342 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_120_t_1200.000000.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_120_t_1200.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..686daeef7645404b012262ad1e4305ed7ddac553 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_120_t_1200.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:116aed5388af9893b91611b47f7c6bbf6dfcce9c52ebe5bf74286eb0e7ed2693 +size 27354 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_1_t_10.000000.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_1_t_10.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..9e61105f3d7b0c0b95fd99859b08f102577da948 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_1_t_10.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bef295a9eeace95bfa513068d61622afcd97d2eb819840156229c5aae5d9abed +size 26814 diff --git a/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_200_t_2000.000000.vtu b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_200_t_2000.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..f7513a43e508317b6af308392ce74dcab679b3b9 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/TimeDependentHeterogeneousSourceTerm/time_dependent_heterogeneous_source_term_pcs_0_ts_200_t_2000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f45ed26626c161eaba638a996622bf99029931233797d23a1c091d2d5c8578e2 +size 27346