diff --git a/ProcessLib/GroundwaterFlow/Tests.cmake b/ProcessLib/GroundwaterFlow/Tests.cmake index 1fe6320d2050430a132ef9f4266997577c78f97d..eb3ea94bbd977ccd74d1b75529818134b25f0c35 100644 --- a/ProcessLib/GroundwaterFlow/Tests.cmake +++ b/ProcessLib/GroundwaterFlow/Tests.cmake @@ -539,25 +539,37 @@ foreach(mesh_size 1e1) endforeach() AddTest( - NAME GroundWaterFlowProcess_Neumann_nonuniform + NAME GroundWaterFlowProcess_Inhomogeneous_permeability + PATH Elliptic/nonuniform_bc_Groundwaterflow + EXECUTABLE ogs + EXECUTABLE_ARGS inhomogeneous_permeability.prj + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + inhomogeneous_permeability.vtu inhomogeneous_permeability_pcs_0_ts_1_t_1.000000.vtu mass_flux_ref mass_flux 4e-2 1e-16 +) + +AddTest( + NAME GroundWaterFlowProcess_Neumann_nonuniform_cosY PATH Elliptic/nonuniform_bc_Groundwaterflow EXECUTABLE ogs EXECUTABLE_ARGS neumann_nonuniform.prj TESTER vtkdiff REQUIREMENTS NOT OGS_USE_MPI DIFF_DATA - inhomogeneous_permeability.vtu neumann_nonuniform_pcs_0_ts_1_t_1.000000.vtu mass_flux_ref mass_flux 4e-2 1e-16 + expected_neumann_nonuniform_pcs_0_ts_1_t_1.000000.vtu neumann_nonuniform_pcs_0_ts_1_t_1.000000.vtu pressure pressure 1e-14 0 + expected_neumann_nonuniform_pcs_0_ts_1_t_1.000000.vtu neumann_nonuniform_pcs_0_ts_1_t_1.000000.vtu darcy_velocity darcy_velocity 1e-12 0 ) AddTest( - NAME GroundWaterFlowProcess_Dirichlet_nonuniform + NAME GroundWaterFlowProcess_Dirichlet_nonuniform_linearY PATH Elliptic/nonuniform_bc_Groundwaterflow EXECUTABLE ogs EXECUTABLE_ARGS dirichlet_nonuniform.prj TESTER vtkdiff REQUIREMENTS NOT OGS_USE_MPI DIFF_DATA - expected_dirichlet_nonuniform_pcs_0_ts_1_t_1.000000.vtu dirichlet_nonuniform_pcs_0_ts_1_t_1.000000.vtu pressure pressure 1e-14 1e-16 + expected_dirichlet_nonuniform_pcs_0_ts_1_t_1.000000.vtu dirichlet_nonuniform_pcs_0_ts_1_t_1.000000.vtu pressure pressure 1e-14 0 ) # tests for nodal source term implementation diff --git a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/dirichlet_nonuniform.prj b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/dirichlet_nonuniform.prj index 12fdf592dd01260a190ad58e0276197f2a2e5243..ef90b48512160b76c0e3291cf6b26b96d09cdb69 100644 --- a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/dirichlet_nonuniform.prj +++ b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/dirichlet_nonuniform.prj @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <OpenGeoSysProject> - <mesh>dirichlet_nonuniform.vtu</mesh> - <geometry>square_1x1.gml</geometry> + <meshes> + <mesh>square_1x1_quad_1e3.vtu</mesh> + <mesh>square_1x1_left.vtu</mesh> + <mesh>square_1x1_right.vtu</mesh> + </meshes> <processes> <process> <name>GW23</name> @@ -62,22 +65,18 @@ <process_variables> <process_variable> <name>pressure</name> + <mesh>square_1x1_quad_1e3</mesh> <components>1</components> <order>1</order> <initial_condition>p0</initial_condition> <boundary_conditions> <boundary_condition> - <!-- dummy values --> - <geometrical_set>square_1x1_geometry</geometrical_set> - <geometry>left</geometry> - <!-- end dummy values --> <type>NonuniformDirichlet</type> - <mesh>dirichlet_nonuniform_left_1e3.vtu</mesh> - <field_name>value</field_name> + <mesh>square_1x1_left</mesh> + <field_name>linearY</field_name> </boundary_condition> <boundary_condition> - <geometrical_set>square_1x1_geometry</geometrical_set> - <geometry>right</geometry> + <mesh>square_1x1_right</mesh> <type>Dirichlet</type> <parameter>p_Dirichlet_right</parameter> </boundary_condition> diff --git a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/dirichlet_nonuniform_left_1e3.vtu b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/dirichlet_nonuniform_left_1e3.vtu deleted file mode 100644 index 57150b1c7ee7d76d2ed23e4486b8cc428d17ea5c..0000000000000000000000000000000000000000 --- a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/dirichlet_nonuniform_left_1e3.vtu +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8e9b5a867cb85422e323eb3f8d38c230e2464a499c71a96980cad1d3ceeea642 -size 2061 diff --git a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/expected_neumann_nonuniform_pcs_0_ts_1_t_1.000000.vtu b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/expected_neumann_nonuniform_pcs_0_ts_1_t_1.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..8f08cc4d30d909639633c8dfc791c057ec5a52d1 --- /dev/null +++ b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/expected_neumann_nonuniform_pcs_0_ts_1_t_1.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4501531f6c090c5e749223e6c57e87a3bea98b6aef4a64b9b7b28f278136d266 +size 37063 diff --git a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/inhomogeneous_permeability.prj b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/inhomogeneous_permeability.prj new file mode 100644 index 0000000000000000000000000000000000000000..04e79dfbbf0435a1673cfd388c0497cf6c2e6182 --- /dev/null +++ b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/inhomogeneous_permeability.prj @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <meshes> + <mesh axially_symmetric="true">inhomogeneous_permeability.vtu</mesh> + <mesh axially_symmetric="true">inhomogeneous_permeability_top.vtu</mesh> + <mesh axially_symmetric="true">inhomogeneous_permeability_bottom.vtu</mesh> + </meshes> + <processes> + <process> + <name>GW23</name> + <type>GROUNDWATER_FLOW</type> + <integration_order>2</integration_order> + <hydraulic_conductivity>K_rho_over_mu__eff</hydraulic_conductivity> + <process_variables> + <process_variable>pressure</process_variable> + </process_variables> + <secondary_variables> + <secondary_variable type="static" internal_name="darcy_velocity" output_name="mass_flux"/> + </secondary_variables> + </process> + </processes> + <time_loop> + <processes> + <process ref="GW23"> + <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> + <output> + <variables> + <variable> pressure </variable> + <variable> mass_flux </variable> + </variables> + </output> + <time_stepping> + <type>SingleStep</type> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>inhomogeneous_permeability</prefix> + </output> + </time_loop> + <parameters> + <parameter> + <name>K_rho_over_mu__eff</name> + <type>MeshElement</type> + <field_name>K_rho_over_mu__eff</field_name> + </parameter> + <parameter> + <name>p_initial</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>p_outlet</name> + <type>Constant</type> + <value>0</value> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>pressure</name> + <mesh>inhomogeneous_permeability</mesh> + <components>1</components> + <order>1</order> + <initial_condition>p_initial</initial_condition> + <boundary_conditions> + <boundary_condition> + <mesh>inhomogeneous_permeability_top</mesh> + <type>NonuniformNeumann</type> + <field_name>mass_flux</field_name> + </boundary_condition> + <boundary_condition> + <mesh>inhomogeneous_permeability_bottom</mesh> + <type>Dirichlet</type> + <parameter>p_outlet</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>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/Elliptic/nonuniform_bc_Groundwaterflow/inhomogeneous_permeability_bottom.vtu b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/inhomogeneous_permeability_bottom.vtu new file mode 100644 index 0000000000000000000000000000000000000000..606226937dda317208c598998989f71a9620b116 --- /dev/null +++ b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/inhomogeneous_permeability_bottom.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:823cb86a9e81ef2dbfc4375992851ca12e7ab919799ff1025916716d72105d02 +size 4700 diff --git a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/inhomogeneous_permeability_top.vtu b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/inhomogeneous_permeability_top.vtu new file mode 100644 index 0000000000000000000000000000000000000000..5cd28e7a067802e6780e8bae40916f768fe7e53f --- /dev/null +++ b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/inhomogeneous_permeability_top.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfd58a1ab229148d34850aa90ec608a2e9272f7708dd1261e03c8274d90c2184 +size 5518 diff --git a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/neumann_nonuniform.prj b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/neumann_nonuniform.prj index 55ed460a2460ac3383ac0315a07e45d2f01a9253..945eae1676e40eb8f5c06acbb4487a0030b9bd4c 100644 --- a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/neumann_nonuniform.prj +++ b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/neumann_nonuniform.prj @@ -1,18 +1,21 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <OpenGeoSysProject> - <mesh axially_symmetric="true"> inhomogeneous_permeability.vtu </mesh> - <geometry>inhomogeneous_permeability.gml</geometry> + <meshes> + <mesh>square_1x1_quad_1e3.vtu</mesh> + <mesh>square_1x1_left.vtu</mesh> + <mesh>square_1x1_right.vtu</mesh> + </meshes> <processes> <process> <name>GW23</name> <type>GROUNDWATER_FLOW</type> <integration_order>2</integration_order> - <hydraulic_conductivity>K_rho_over_mu__eff</hydraulic_conductivity> + <hydraulic_conductivity>K</hydraulic_conductivity> <process_variables> <process_variable>pressure</process_variable> </process_variables> <secondary_variables> - <secondary_variable type="static" internal_name="darcy_velocity" output_name="mass_flux"/> + <secondary_variable type="static" internal_name="darcy_velocity" output_name="darcy_velocity"/> </secondary_variables> </process> </processes> @@ -23,15 +26,15 @@ <convergence_criterion> <type>DeltaX</type> <norm_type>NORM2</norm_type> - <abstol>1.e-6</abstol> + <abstol>1e-15</abstol> </convergence_criterion> <time_discretization> <type>BackwardEuler</type> </time_discretization> <output> <variables> - <variable> pressure </variable> - <variable> mass_flux </variable> + <variable> pressure </variable> + <variable> darcy_velocity </variable> </variables> </output> <time_stepping> @@ -46,44 +49,38 @@ </time_loop> <parameters> <parameter> - <name>K_rho_over_mu__eff</name> - <type>MeshElement</type> - <field_name>K_rho_over_mu__eff</field_name> + <name>K</name> + <type>Constant</type> + <value>1</value> </parameter> <parameter> - <name>p_initial</name> + <name>p0</name> <type>Constant</type> <value>0</value> </parameter> <parameter> - <name>p_outlet</name> + <name>p_Dirichlet_right</name> <type>Constant</type> - <value>0</value> + <value>-1</value> </parameter> </parameters> <process_variables> <process_variable> <name>pressure</name> + <mesh>square_1x1_quad_1e3</mesh> <components>1</components> <order>1</order> - <initial_condition>p_initial</initial_condition> + <initial_condition>p0</initial_condition> <boundary_conditions> <boundary_condition> - <!-- dummy values --> - <geometrical_set>square_1x1_geometry</geometrical_set> - <geometry>left</geometry> - <!-- end dummy values --> - <type>NonuniformNeumann</type> - <field_name>mass_flux</field_name> - <mesh>inhomogeneous_mass_flux.vtu</mesh> + <mesh>square_1x1_left</mesh> + <field_name>cosY</field_name> </boundary_condition> - <boundary_condition> - <geometrical_set>square_1x1_geometry</geometrical_set> - <geometry>bottom</geometry> <type>Dirichlet</type> - <parameter>p_outlet</parameter> + <mesh>square_1x1_right</mesh> + <parameter>p_Dirichlet_right</parameter> </boundary_condition> </boundary_conditions> </process_variable> diff --git a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/square_1x1.gml b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/square_1x1.gml deleted file mode 100644 index bf8563395b993b70f8ddf273c8c52261db22b6b4..0000000000000000000000000000000000000000 --- a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/square_1x1.gml +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3887f04905f231e957c74111daca69b0f2aa855cc6250cf2b4fec33debf73b72 -size 1018 diff --git a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/square_1x1_left.vtu b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/square_1x1_left.vtu new file mode 100644 index 0000000000000000000000000000000000000000..05cd36dfcfa02fd63791bdeba7ff9d9de170c2fe --- /dev/null +++ b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/square_1x1_left.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9112c83e759182f1b899167d24a57db352ab86a1e674327fd64e2780584a5f8d +size 2847 diff --git a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/dirichlet_nonuniform.vtu b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/square_1x1_quad_1e3.vtu similarity index 100% rename from Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/dirichlet_nonuniform.vtu rename to Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/square_1x1_quad_1e3.vtu diff --git a/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/square_1x1_right.vtu b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/square_1x1_right.vtu new file mode 100644 index 0000000000000000000000000000000000000000..b64752e83bacc5ca315d43f5f768ce67276c2c92 --- /dev/null +++ b/Tests/Data/Elliptic/nonuniform_bc_Groundwaterflow/square_1x1_right.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1970f4f475e343831edcf65e8920230c7314dec208698a2897e6e426925fc022 +size 4020