From bad886d9eae0da0e4f9be37d228e68d9134e3a94 Mon Sep 17 00:00:00 2001 From: Thomas Fischer <thomas.fischer@ufz.de> Date: Tue, 7 Jan 2020 14:49:35 +0100 Subject: [PATCH] [T/LF] 3D-test for flux computation. --- ProcessLib/LiquidFlow/Tests.cmake | 15 ++ ...aceflux_pcs_0_ts_0_t_0.000000_expected.vtu | 3 + ...aceflux_pcs_0_ts_1_t_0.432000_expected.vtu | 3 + ...aceflux_pcs_0_ts_2_t_0.864000_expected.vtu | 3 + .../Flux/cube_1e3_calculatesurfaceflux.prj | 177 ++++++++++++++++++ .../LiquidFlow/Flux/cube_1x1x1_hex_1e3.vtu | 3 + .../cube_1x1x1_hex_1e3_complete_surface.vtu | 3 + ...hlet_specific_flux_t_0.432000_expected.vtu | 3 + ...hlet_specific_flux_t_0.864000_expected.vtu | 3 + .../Flux/cube_1x1x1_hex_1e3_left.vtu | 3 + .../Flux/cube_1x1x1_hex_1e3_right.vtu | 3 + 11 files changed, 219 insertions(+) create mode 100644 Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_0_t_0.000000_expected.vtu create mode 100644 Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_1_t_0.432000_expected.vtu create mode 100644 Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_2_t_0.864000_expected.vtu create mode 100644 Tests/Data/Parabolic/LiquidFlow/Flux/cube_1e3_calculatesurfaceflux.prj create mode 100644 Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3.vtu create mode 100644 Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface.vtu create mode 100644 Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.432000_expected.vtu create mode 100644 Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.864000_expected.vtu create mode 100644 Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_left.vtu create mode 100644 Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_right.vtu diff --git a/ProcessLib/LiquidFlow/Tests.cmake b/ProcessLib/LiquidFlow/Tests.cmake index b0c7df40850..8b394628e14 100644 --- a/ProcessLib/LiquidFlow/Tests.cmake +++ b/ProcessLib/LiquidFlow/Tests.cmake @@ -364,3 +364,18 @@ AddTest( 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 ) + +AddTest( + NAME LiquidFlow_Flux + PATH Parabolic/LiquidFlow/Flux + EXECUTABLE ogs + EXECUTABLE_ARGS cube_1e3_calculatesurfaceflux.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.432000_expected.vtu cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.432000.vtu specific_flux specific_flux 1e-7 1e-13 + cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.864000_expected.vtu cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.864000.vtu specific_flux specific_flux 1e-7 1e-13 + LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_1_t_0.432000_expected.vtu LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_1_t_0.432000.vtu pressure pressure 1e-7 1e-13 + LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_2_t_0.864000_expected.vtu LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_2_t_0.864000.vtu pressure pressure 1e-7 1e-13 +) diff --git a/Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_0_t_0.000000_expected.vtu b/Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_0_t_0.000000_expected.vtu new file mode 100644 index 00000000000..1bd0b3bfdf2 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_0_t_0.000000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3928650be26b5dc4a48e0a635fdfc20eaa912e48c32d6d8c6533c87fee70622b +size 39859 diff --git a/Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_1_t_0.432000_expected.vtu b/Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_1_t_0.432000_expected.vtu new file mode 100644 index 00000000000..03b608491d0 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_1_t_0.432000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4b22d3aa39091be0e2b9a1759f9824855175de911f58344b6686f59e43cd6f2 +size 46835 diff --git a/Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_2_t_0.864000_expected.vtu b/Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_2_t_0.864000_expected.vtu new file mode 100644 index 00000000000..8fff68e1f41 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/Flux/LF_cube_1e3_calculatesurfaceflux_pcs_0_ts_2_t_0.864000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01b5c7d2ce1ccedbb1a4fbe5a544ad502bf36ef47772db4cec78afc3c8e4f182 +size 46755 diff --git a/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1e3_calculatesurfaceflux.prj b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1e3_calculatesurfaceflux.prj new file mode 100644 index 00000000000..b1b890a9674 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1e3_calculatesurfaceflux.prj @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <meshes> + <mesh>cube_1x1x1_hex_1e3.vtu</mesh> + <mesh>cube_1x1x1_hex_1e3_complete_surface.vtu</mesh> + <mesh>cube_1x1x1_hex_1e3_left.vtu</mesh> + <mesh>cube_1x1x1_hex_1e3_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>0</axis_id> + <!-- g>=0. g=0: non gravity term --> + <g>0.</g> + </darcy_gravity> + <process_variables> + <process_variable>pressure</process_variable> + </process_variables> + <secondary_variables> + <secondary_variable internal_name="darcy_velocity" output_name="v"/> + </secondary_variables> + <calculatesurfaceflux> + <mesh>cube_1x1x1_hex_1e3_complete_surface</mesh> + <property_name>specific_flux</property_name> + <output_mesh>cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux.vtu</output_mesh> + </calculatesurfaceflux> + <material_property> + <fluid> + <density> + <type>Constant</type> + <value> 78.68 </value> + </density> + <viscosity> + <type>Constant</type> + <value> 1.295e-4 </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> 8.05e-10 </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-10</abstol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial> 0.0 </t_initial> + <t_end> 0.864 </t_end> + <timesteps> + <pair> + <repeat>2</repeat> + <delta_t>0.432</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>LF_cube_1e3_calculatesurfaceflux</prefix> + <timesteps> + <pair> + <repeat> 1 </repeat> + <each_steps> 1 </each_steps> + </pair> + </timesteps> + <variables> + <variable> pressure </variable> + <variable> v </variable> + </variables> + </output> + </time_loop> + <parameters> + <parameter> + <name>p0</name> + <type>Constant</type> + <value>5e6</value> + </parameter> + <parameter> + <name>p_Dirichlet_left</name> + <type>Constant</type> + <value>1e7</value> + </parameter> + <parameter> + <name>p_Dirichlet_right</name> + <type>Constant</type> + <value>1e6</value> + </parameter> + <parameter> + <name>constant_porosity_parameter</name> + <type>Constant</type> + <value>1</value> + </parameter> + <parameter> + <name>kappa1</name> + <type>Constant</type> + <values>9.2e-12 0 0 0 9.2e-12 0 0 0 9.2e-12</values> + </parameter> + <parameter> + <name>p_spatial</name> + <type>Constant</type> + <value>1</value> + </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>cube_1x1x1_hex_1e3_left</mesh> + <type>Dirichlet</type> + <parameter>p_Dirichlet_left</parameter> + </boundary_condition> + <boundary_condition> + <mesh>cube_1x1x1_hex_1e3_right</mesh> + <type>Dirichlet</type> + <parameter>p_Dirichlet_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-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>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/Flux/cube_1x1x1_hex_1e3.vtu b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3.vtu new file mode 100644 index 00000000000..500d9f815a5 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3e77b980dc0a4cefc19ba02eca4ad07ded3dc97497a01f169c719fc738a6bc9 +size 23197 diff --git a/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface.vtu b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface.vtu new file mode 100644 index 00000000000..303a9f426e1 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f405c070ea2cab30321345825eff7421fb1a5401cc2887a68da26e4e04d0b70 +size 65673 diff --git a/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.432000_expected.vtu b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.432000_expected.vtu new file mode 100644 index 00000000000..d2018339442 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.432000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c40d5de97b2704c8260f3afec3d5d381b6614b3b6121518535a90ec738764cac +size 79556 diff --git a/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.864000_expected.vtu b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.864000_expected.vtu new file mode 100644 index 00000000000..4b51b65f9ec --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_0.864000_expected.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e2fb642aa3ca416db53112da6cbceed72e2a74369297c48bd26964ee95dcdb6 +size 79556 diff --git a/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_left.vtu b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_left.vtu new file mode 100644 index 00000000000..0c67788fb0e --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_left.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b76bf4e7791dcd0431554367369cd2c49fd24c6d0784b73d55333667b73d1bc +size 12897 diff --git a/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_right.vtu b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_right.vtu new file mode 100644 index 00000000000..cb08cfb5227 --- /dev/null +++ b/Tests/Data/Parabolic/LiquidFlow/Flux/cube_1x1x1_hex_1e3_right.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efcc5a635b6616ee00d7f8df481c3dfedbab2984a2e5ffb317386095681d19e4 +size 12898 -- GitLab