https://gitlab.opengeosys.org/ogs/ogs.git
Tip revision: 2da05e2839f363fc0f560a9385201415df74b5a1 authored by Lars Bilke on 27 August 2021, 13:53:19 UTC
Bump minimum Conan to 1.34 for Apple ARM support.
Bump minimum Conan to 1.34 for Apple ARM support.
Tip revision: 2da05e2
Tests.cmake
# CUBE 1x1x1 GROUNDWATER FLOW TESTS
foreach(mesh_size 1e0 1e1 1e2 1e3)
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_${mesh_size}
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_${mesh_size}.xml
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex_${mesh_size}.vtu cube_${mesh_size}_ts_1_t_1.000000.vtu Linear_1_to_minus1 pressure 1e-15 1e-15
)
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_${mesh_size}_Newton
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_${mesh_size}_newton.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex_${mesh_size}.vtu cube_${mesh_size}_newton_ts_1_t_1.000000.vtu Linear_1_to_minus1 pressure 1e-15 1e-15
)
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_Neumann_${mesh_size}
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_${mesh_size}_neumann.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex_${mesh_size}.vtu cube_${mesh_size}_neumann_ts_1_t_1.000000.vtu D1_left_front_N1_right pressure 1e-1 1e-1
)
endforeach()
foreach(mesh_size 1e4 2e4 3e4 4e4 5e4 1e5 1e6)
set(RUNTIME 10)
if("${mesh_size}" STREQUAL "1e6")
set(RUNTIME 75)
endif()
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_${mesh_size}
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
RUNTIME ${RUNTIME}
EXECUTABLE ogs
EXECUTABLE_ARGS cube_${mesh_size}.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex_${mesh_size}.vtu cube_${mesh_size}_ts_1_t_1.000000.vtu Linear_1_to_minus1 pressure 1e-13 1e-13
)
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_Neumann_${mesh_size}
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
RUNTIME ${RUNTIME}
EXECUTABLE ogs
EXECUTABLE_ARGS cube_${mesh_size}_neumann.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex_${mesh_size}.vtu cube_${mesh_size}_neumann_ts_1_t_1.000000.vtu D1_left_front_N1_right pressure 1e-2 1e-2
)
endforeach()
# Quadratic hex element.
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_1e0_QuadraticHex
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e0_quadratic_hex.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex20_1e0.vtu cube_1e0_quadratic_hex_ts_1_t_1.000000.vtu Linear_1_to_minus1 pressure 1e-15 1e-15
)
# SQUARE 1x1 GROUNDWATER FLOW TESTS
foreach(mesh_size 1e0 1e1 1e2 1e3 1e4)
AddTest(
NAME SteadyStateDiffusion_square_1x1_${mesh_size}
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS -p square_${mesh_size}.xml square_1e0.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
square_1x1_quad_${mesh_size}.vtu square_${mesh_size}_ts_1_t_1.000000.vtu Linear_1_to_minus1 pressure 1e-13 1e-13
VIS square_${mesh_size}_ts_1_t_1.000000.vtu
)
AddTest(
NAME SteadyStateDiffusion_square_1x1_Neumann_${mesh_size}
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS -p square_${mesh_size}.xml -p square_neumann.xml square_1e0.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
square_1x1_quad_${mesh_size}.vtu square_${mesh_size}_neumann_ts_1_t_1.000000.vtu D1_left_bottom_N1_right pressure 1e-1 1e-1
VIS square_${mesh_size}_neumann_ts_1_t_1.000000.vtu
)
endforeach()
foreach(mesh_size 1e5 1e6)
set(RUNTIME 30)
if("${mesh_size}" STREQUAL "1e6")
set(RUNTIME 90)
endif()
AddTest(
NAME SteadyStateDiffusion_square_1x1_Neumann_${mesh_size}
PATH Elliptic/square_1x1_SteadyStateDiffusion
RUNTIME ${RUNTIME}
EXECUTABLE ogs
EXECUTABLE_ARGS -p square_${mesh_size}.xml -p square_neumann.xml square_1e0.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
square_1x1_quad_${mesh_size}.vtu square_${mesh_size}_neumann_ts_1_t_1.000000.vtu D1_left_bottom_N1_right pressure 1e-02 1e-02
)
endforeach()
AddTest(
NAME SteadyStateDiffusion_square_1x1_1e5
PATH Elliptic/square_1x1_SteadyStateDiffusion
RUNTIME 2
EXECUTABLE ogs
EXECUTABLE_ARGS -p square_1e5.xml square_1e0.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
square_1x1_quad_1e5.vtu square_1e5_ts_1_t_1.000000.vtu Linear_1_to_minus1 pressure 1e-13 1e-16
)
# The largest test is less accurate
AddTest(
NAME SteadyStateDiffusion_square_1x1_1e6
PATH Elliptic/square_1x1_SteadyStateDiffusion
RUNTIME 75
EXECUTABLE ogs
EXECUTABLE_ARGS -p square_1e6.xml square_1e0.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
square_1x1_quad_1e6.vtu square_1e6_ts_1_t_1.000000.vtu Linear_1_to_minus1 pressure 3e-12 1e-16
)
# LINE 1 GROUNDWATER FLOW TESTS
foreach(mesh_size 1e1)
AddTest(
NAME SteadyStateDiffusion_line_1_${mesh_size}
PATH Elliptic/line_1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS line_${mesh_size}.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
line_1_line_${mesh_size}.vtu line_${mesh_size}_ts_1_t_1.000000.vtu Linear_1_to_minus1 pressure 1e-15 1e-15
)
AddTest(
NAME SteadyStateDiffusion_line_1_Neumann_${mesh_size}
PATH Elliptic/line_1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS line_${mesh_size}_neumann.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
line_1_line_${mesh_size}.vtu line_${mesh_size}_neumann_ts_1_t_1.000000.vtu D1_left_N1_right pressure 1e-14 1e-14
)
if (NOT OGS_USE_MPI)
OgsTest(PROJECTFILE Elliptic/cube_1x1x1_SteadyStateDiffusion/drainage_excavation.prj)
endif()
AddTest(
NAME SteadyStateDiffusion_line_1_Robin_Right_Picard_${mesh_size}
PATH Elliptic/line_1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS line_${mesh_size}_robin_right_picard.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
line_1_line_${mesh_size}.vtu line_${mesh_size}_robin_right_picard_ts_1_t_1.000000.vtu D1_left_N1_right pressure 4e-14 2e-14
)
AddTest(
NAME SteadyStateDiffusion_line_1_Robin_Left_Picard_${mesh_size}
PATH Elliptic/line_1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS line_${mesh_size}_robin_left_picard.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
line_1_line_${mesh_size}.vtu line_${mesh_size}_robin_left_picard_ts_1_t_1.000000.vtu D1_left_N1_right pressure 1e-14 1e-14
)
AddTest(
NAME SteadyStateDiffusion_line_1_Time_Dep_Dirichlet_${mesh_size}
PATH Elliptic/line_1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS line_${mesh_size}_time_dep_dirichlet.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
line_1_time_dep_dirichlet.vtu line_${mesh_size}_time_dep_dirichlet_ts_1_t_1.000000.vtu t_1s pressure 1e-14 1e-14
line_1_time_dep_dirichlet.vtu line_${mesh_size}_time_dep_dirichlet_ts_5_t_5.000000.vtu t_5s pressure 1e-14 1e-14
line_1_time_dep_dirichlet.vtu line_${mesh_size}_time_dep_dirichlet_ts_10_t_10.000000.vtu t_10s pressure 1e-14 1e-14
)
AddTest(
NAME SteadyStateDiffusion_line_1_Time_Dep_Neumann_${mesh_size}
PATH Elliptic/line_1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS line_${mesh_size}_time_dep_neumann.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
line_1_time_dep_dirichlet.vtu line_${mesh_size}_time_dep_neumann_ts_1_t_1.000000.vtu t_1s pressure 1e-14 1e-14
line_1_time_dep_dirichlet.vtu line_${mesh_size}_time_dep_neumann_ts_5_t_5.000000.vtu t_5s pressure 1e-14 1e-14
line_1_time_dep_dirichlet.vtu line_${mesh_size}_time_dep_neumann_ts_10_t_10.000000.vtu t_10s pressure 1e-14 1e-14
)
endforeach()
# Some Neumann BC tests
AddTest(
NAME SteadyStateDiffusion_cube_top
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3_top_neumann.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1e3_top_neumann.vtu cube_1e3_top_neumann_ts_1_t_1.000000.vtu pressure pressure 1e-14 1e-14
)
AddTest(
NAME SteadyStateDiffusion_cube_bottom
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3_bottom_neumann.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1e3_bottom_neumann.vtu cube_1e3_bottom_neumann_ts_1_t_1.000000.vtu pressure pressure 1e-14 1e-14
)
# Some Neumann BC tests -- Newton
AddTest(
NAME SteadyStateDiffusion_cube_top_Newton
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3_top_neumann_newton.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1e3_top_neumann.vtu cube_1e3_top_neumann_newton_ts_1_t_1.000000.vtu pressure pressure 1e-14 1e-14
)
AddTest(
NAME SteadyStateDiffusion_cube_bottom_Newton
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3_bottom_neumann_newton.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1e3_bottom_neumann.vtu cube_1e3_bottom_neumann_newton_ts_1_t_1.000000.vtu pressure pressure 1e-14 1e-14
)
# test SurfaceFlux
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_1e3_dirichlet_calculatesurfaceflux
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3_calculatesurfaceflux.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex_1e3_complete_surface_left_right_dirichlet_specific_flux_t_1.000000.vtu cube_1e3_calculatesurfaceflux_cube_1x1x1_hex_1e3_complete_surface_ts_1_t_1.000000.vtu specific_flux specific_flux 5e-15 5e-15
)
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_1e3_neumann_calculatesurfaceflux
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3_neumann_calculatesurfaceflux.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex_1e3_complete_surface_neumann_specific_flux_t_1.000000.vtu cube_1e3_neumann_balance_cube_1x1x1_hex_1e3_complete_surface_ts_1_t_1.000000.vtu specific_flux specific_flux 2e-14 2e-14
)
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_2e3_prism_surfaceflux_left_right
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_2e3_prism_surfaceflux_left_right.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1x1x1_prism_2e3_complete_surface_left_right_dirichlet_specific_flux_t_1.000000.vtu cube_2e3_surface_flux_left_right_cube_1x1x1_prism_2e3_complete_surface_ts_1_t_1.000000.vtu specific_flux specific_flux 1e-14 1e-14
)
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_2e3_prism_surfaceflux_front_back
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_2e3_prism_surfaceflux_front_back.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1x1x1_prism_2e3_complete_surface_front_back_dirichlet_specific_flux_t_1.000000.vtu cube_2e3_surface_flux_front_back_cube_1x1x1_prism_2e3_complete_surface_ts_1_t_1.000000.vtu specific_flux specific_flux 1e-14 1e-14
)
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_2e3_prism_surfaceflux_top_bottom
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_2e3_prism_surfaceflux_top_bottom.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
cube_1x1x1_prism_2e3_complete_surface_top_bottom_dirichlet_specific_flux_t_1.000000.vtu cube_2e3_surface_flux_top_bottom_cube_1x1x1_prism_2e3_complete_surface_ts_1_t_1.000000.vtu specific_flux specific_flux 1e-14 1e-14
)
AddTest(
NAME SteadyStateDiffusion_wedge_1x1x1_1e3_prism_surfaceflux
PATH Elliptic/wedge_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS wedge_1e3_prism_surfaceflux_diagonal.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
wedge_1x1x1_1e3_prism_complete_surface_specific_flux_t_1.000000.vtu wedge_1e3_surfaceflux_wedge_1x1x1_1e3_prism_complete_surface_ts_1_t_1.000000.vtu specific_flux specific_flux 2e-14 0
)
# SQUARE 1x1 GROUNDWATER FLOW TEST -- AXIALLY SYMMETRIC
# test results are compared to 3D simulation on a wedge-shaped domain
AddTest(
NAME SteadyStateDiffusion_square_1x1_1e2_axi
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e2_axi.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
wedge-1e2-ang-0.02-surface.vtu square_1e2_axi_ts_1_t_1.000000.vtu temperature temperature 1.6e-5 1e-5
)
# # WEDGE 1x1 GROUNDWATER FLOW TEST -- computes reference results for the above test
# AddTest(
# NAME SteadyStateDiffusion_wedge_1e2_ang_0.02
# PATH Elliptic/square_1x1_SteadyStateDiffusion
# EXECUTABLE ogs
# EXECUTABLE_ARGS wedge_1e2_axi_ang_0.02.prj
# )
# SQUARE 1x1 GROUNDWATER FLOW TEST -- AXIALLY SYMMETRIC
# test results are compared to 3D simulation on a wedge-shaped domain
AddTest(
NAME SteadyStateDiffusion_square_1x1_1e4_axi_ang_0.02
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e4_axi.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
wedge-1e4-ang-0.02-surface.vtu square_1e4_axi_ts_1_t_1.000000.vtu temperature temperature 1.6e-5 1e-5
)
# # WEDGE 1x1 GROUNDWATER FLOW TEST -- computes reference results for the above test
# AddTest(
# NAME SteadyStateDiffusion_wedge_1e4_ang_0.02
# PATH Elliptic/square_1x1_SteadyStateDiffusion
# EXECUTABLE ogs
# EXECUTABLE_ARGS wedge_1e4_axi_ang_0.02.prj
# )
# MPI groundwater flow tests
AddTest(
NAME ParallelFEM_GroundWaterFlow2D
PATH EllipticPETSc
EXECUTABLE ogs
EXECUTABLE_ARGS quad_20x10_GroundWaterFlow.prj
WRAPPER mpirun
WRAPPER_ARGS -np 3
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
quad_20x10_GroundWaterFlow_result_ts_1_t_1_000000_0.vtu quad_20x10_GroundWaterFlow_result_ts_1_t_1_000000_0.vtu pressure pressure 2e-15 1e-16
quad_20x10_GroundWaterFlow_result_ts_1_t_1_000000_1.vtu quad_20x10_GroundWaterFlow_result_ts_1_t_1_000000_1.vtu pressure pressure 2e-15 1e-16
quad_20x10_GroundWaterFlow_result_ts_1_t_1_000000_2.vtu quad_20x10_GroundWaterFlow_result_ts_1_t_1_000000_2.vtu pressure pressure 2e-15 1e-16
)
AddTest(
NAME ParallelFEM_GroundWaterFlow3D_DirichletBC
PATH EllipticPETSc
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3.prj
WRAPPER mpirun
WRAPPER_ARGS -np 3
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
cube_1e3_ts_1_t_1_000000_0.vtu cube_1e3_ts_1_t_1_000000_0.vtu Linear_1_to_minus1 pressure 2e-15 1e-16
cube_1e3_ts_1_t_1_000000_1.vtu cube_1e3_ts_1_t_1_000000_1.vtu Linear_1_to_minus1 pressure 2e-15 1e-16
cube_1e3_ts_1_t_1_000000_2.vtu cube_1e3_ts_1_t_1_000000_2.vtu Linear_1_to_minus1 pressure 2e-15 1e-16
)
AddTest(
NAME ParallelFEM_GroundWaterFlow3D_NeumannBC
PATH EllipticPETSc
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3_neumann.prj
WRAPPER mpirun
WRAPPER_ARGS -np 3
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
cube_1e3_neumann_ts_1_t_1_000000_0.vtu cube_1e3_neumann_ts_1_t_1_000000_0.vtu D1_left_front_N1_right pressure 1e-2 1e-2
cube_1e3_neumann_ts_1_t_1_000000_1.vtu cube_1e3_neumann_ts_1_t_1_000000_1.vtu D1_left_front_N1_right pressure 1e-2 1e-2
cube_1e3_neumann_ts_1_t_1_000000_2.vtu cube_1e3_neumann_ts_1_t_1_000000_2.vtu D1_left_front_N1_right pressure 1e-2 1e-2
)
AddTest(
NAME ParallelFEM_GroundWaterFlow3D_NeumannBC_XDMF_np3_1file
PATH EllipticPETSc
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3_XDMF_np3.prj
WRAPPER mpirun
WRAPPER_ARGS -np 3
TESTER xdmfdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
cube_1e3_np3.xdmf cube_1e3_np3_cube_1x1x1_hex_1e3.xdmf pressure pressure 1e-3 1e-3
cube_1e3_np3.xdmf cube_1e3_np3_cube_1x1x1_hex_1e3.xdmf v v 1e-3 1e-3
)
AddTest(
NAME ParallelFEM_GroundWaterFlow3D_NeumannBC_XDMF_np3_2files
PATH EllipticPETSc/XDMF_NP3_2
EXECUTABLE ogs
EXECUTABLE_ARGS ../cube_1e3_XDMF_np3_2files.prj
WRAPPER mpirun
WRAPPER_ARGS -np 3
TESTER xdmfdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
cube_1e3_np3_2files_0.xdmf cube_1e3_np3_cube_1x1x1_hex_1e3.xdmf pressure pressure 1e-3 1e-3
cube_1e3_np3_2files_0.xdmf cube_1e3_np3_cube_1x1x1_hex_1e3.xdmf v v 1e-3 1e-3
)
AddTest(
NAME ParallelFEM_GroundWaterFlow3D_NeumannBC_XDMF_np3_3files
PATH EllipticPETSc/XDMF_NP3_3
EXECUTABLE ogs
EXECUTABLE_ARGS ../cube_1e3_XDMF_np3_3files.prj
WRAPPER mpirun
WRAPPER_ARGS -np 3
TESTER xdmfdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
cube_1e3_np3_3files_0.xdmf cube_1e3_np3_cube_1x1x1_hex_1e3.xdmf pressure pressure 1e-3 1e-3
cube_1e3_np3_3files_0.xdmf cube_1e3_np3_cube_1x1x1_hex_1e3.xdmf v v 1e-3 1e-3
)
AddTest(
NAME ParallelFEM_GroundWaterFlow3D_NeumannBC_XDMF_np2
PATH EllipticPETSc
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3_XDMF_np2.prj
WRAPPER mpirun
WRAPPER_ARGS -np 2
TESTER xdmfdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
cube_1e3_np2.xdmf cube_1e3_np2_cube_1x1x1_hex_1e3.xdmf pressure pressure 1e-3 1e-3
cube_1e3_np2.xdmf cube_1e3_np2_cube_1x1x1_hex_1e3.xdmf v v 1e-3 1e-3
)
AddTest(
NAME ParallelFEM_GroundWaterFlow2D_NeumannBC
PATH EllipticPETSc
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e1_neumann.prj
WRAPPER mpirun
WRAPPER_ARGS -np 2
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
square_1e1_neumann_ts_1_t_1_000000_0.vtu square_1e1_neumann_ts_1_t_1_000000_0.vtu D1_left_bottom_N1_right pressure 1e-2 0
square_1e1_neumann_ts_1_t_1_000000_1.vtu square_1e1_neumann_ts_1_t_1_000000_1.vtu D1_left_bottom_N1_right pressure 1e-2 0
square_1e1_neumann_ts_1_t_1_000000_0.vtu square_1e1_neumann_ts_1_t_1_000000_0.vtu pressure pressure 1e-14 0
square_1e1_neumann_ts_1_t_1_000000_1.vtu square_1e1_neumann_ts_1_t_1_000000_1.vtu pressure pressure 1e-14 0
)
# Single core
# CUBE 1x1x1 GROUNDWATER FLOW TESTS
foreach(mesh_size 1e0 1e1 1e2 1e3)
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_${mesh_size}
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_${mesh_size}.xml
WRAPPER mpirun
WRAPPER_ARGS -np 1
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex_${mesh_size}.vtu cube_${mesh_size}_ts_1_t_1_000000_0.vtu Linear_1_to_minus1 pressure 1e-15 1e-15
)
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_Neumann_${mesh_size}
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS cube_${mesh_size}_neumann.prj
WRAPPER mpirun
WRAPPER_ARGS -np 1
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex_${mesh_size}.vtu cube_${mesh_size}_neumann_ts_1_t_1_000000_0.vtu D1_left_front_N1_right pressure 1e-1 1e-1
)
endforeach()
# TODO: Parallel LARGE tests not tested!
foreach(mesh_size 1e4 2e4 3e4 4e4 5e4 1e5 1e6)
set(RUNTIME 10)
if("${mesh_size}" STREQUAL "1e5")
set(RUNTIME 55)
endif()
if("${mesh_size}" STREQUAL "1e6")
set(RUNTIME 430)
endif()
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_${mesh_size}
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
RUNTIME ${RUNTIME}
EXECUTABLE_ARGS cube_${mesh_size}.prj
WRAPPER mpirun
WRAPPER_ARGS -np 1
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex_${mesh_size}.vtu cube_${mesh_size}_ts_1_t_1_000000_0.vtu Linear_1_to_minus1 pressure 1e-7 1e-7
)
AddTest(
NAME SteadyStateDiffusion_cube_1x1x1_Neumann_${mesh_size}
PATH Elliptic/cube_1x1x1_SteadyStateDiffusion
EXECUTABLE ogs
RUNTIME ${RUNTIME}
EXECUTABLE_ARGS cube_${mesh_size}_neumann.prj
WRAPPER mpirun
WRAPPER_ARGS -np 1
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
cube_1x1x1_hex_${mesh_size}.vtu cube_${mesh_size}_neumann_ts_1_t_1_000000_0.vtu D1_left_front_N1_right pressure 1e-2 1e-2
)
endforeach()
# SQUARE 1x1 GROUNDWATER FLOW TESTS
foreach(mesh_size 1e0 1e1 1e2 1e3 1e4)
AddTest(
NAME SteadyStateDiffusion_square_1x1_${mesh_size}
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS -p square_${mesh_size}.xml square_1e0.prj
WRAPPER mpirun
WRAPPER_ARGS -np 1
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
square_1x1_quad_${mesh_size}.vtu square_${mesh_size}_ts_1_t_1_000000_0.vtu Linear_1_to_minus1 pressure 1e-13 1e-13
)
AddTest(
NAME SteadyStateDiffusion_square_1x1_Neumann_${mesh_size}
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS -p square_${mesh_size}.xml -p square_neumann.xml square_1e0.prj
WRAPPER mpirun
WRAPPER_ARGS -np 1
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
square_1x1_quad_${mesh_size}.vtu square_${mesh_size}_neumann_ts_1_t_1_000000_0.vtu D1_left_bottom_N1_right pressure 1e-1 1e-1
)
endforeach()
foreach(mesh_size 1e5 1e6)
set(RUNTIME 65)
if("${mesh_size}" STREQUAL "1e6")
set(RUNTIME 450)
endif()
AddTest(
NAME SteadyStateDiffusion_square_1x1_${mesh_size}
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
RUNTIME ${RUNTIME}
EXECUTABLE_ARGS -p square_${mesh_size}.xml square_1e0.prj
WRAPPER mpirun
WRAPPER_ARGS -np 1
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
square_1x1_quad_${mesh_size}.vtu square_${mesh_size}_ts_1_t_1_000000_0.vtu Linear_1_to_minus1 pressure 1e-7 1e-7
)
AddTest(
NAME SteadyStateDiffusion_square_1x1_Neumann_${mesh_size}
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
RUNTIME ${RUNTIME}
EXECUTABLE_ARGS -p square_${mesh_size}.xml -p square_neumann.xml square_1e0.prj
WRAPPER mpirun
WRAPPER_ARGS -np 1
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
square_1x1_quad_${mesh_size}.vtu square_${mesh_size}_neumann_ts_1_t_1_000000_0.vtu D1_left_bottom_N1_right pressure 1e-02 1e-02
)
endforeach()
# LINE 1 GROUNDWATER FLOW TESTS
foreach(mesh_size 1e1)
AddTest(
NAME SteadyStateDiffusion_line_1_${mesh_size}
PATH Elliptic/line_1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS line_${mesh_size}.prj
WRAPPER mpirun
WRAPPER_ARGS -np 1
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
line_1_line_${mesh_size}.vtu line_${mesh_size}_ts_1_t_1_000000_0.vtu Linear_1_to_minus1 pressure 1e-15 1e-15
)
AddTest(
NAME SteadyStateDiffusion_line_1_Neumann_${mesh_size}
PATH Elliptic/line_1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS line_${mesh_size}_neumann.prj
WRAPPER mpirun
WRAPPER_ARGS -np 1
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
line_1_line_${mesh_size}.vtu line_${mesh_size}_neumann_ts_1_t_1_000000_0.vtu D1_left_N1_right pressure 1e-14 1e-14
)
endforeach()
AddTest(
NAME SteadyStateDiffusion_Inhomogeneous_permeability
PATH Elliptic/nonuniform_bc_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS inhomogeneous_permeability.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
inhomogeneous_permeability.vtu inhomogeneous_permeability_ts_1_t_1.000000.vtu mass_flux_ref mass_flux 4e-2 1e-16
)
AddTest(
NAME SteadyStateDiffusion_Neumann_nonuniform_cosY
PATH Elliptic/nonuniform_bc_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS neumann_nonuniform.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
expected_neumann_nonuniform_ts_1_t_1.000000.vtu neumann_nonuniform_ts_1_t_1.000000.vtu pressure pressure 2e-14 0
expected_neumann_nonuniform_ts_1_t_1.000000.vtu neumann_nonuniform_ts_1_t_1.000000.vtu darcy_velocity darcy_velocity 1e-12 0
)
AddTest(
NAME SteadyStateDiffusion_Dirichlet_nonuniform_linearY
PATH Elliptic/nonuniform_bc_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS dirichlet_nonuniform.prj
TESTER vtkdiff
REQUIREMENTS NOT OGS_USE_MPI
DIFF_DATA
expected_dirichlet_nonuniform_ts_1_t_1.000000.vtu dirichlet_nonuniform_ts_1_t_1.000000.vtu pressure pressure 1e-14 0
)
# tests for nodal source term implementation
# For the special setup with a dirac source term at position (xi, eta) the
# analytical solution in 2 dimensions is valid:
# u(x,y) = ln(sqrt((x-xi)^2+(y-eta)^2))/(2 * Pi)
AddTest(
NAME SteadyStateDiffusion_NodalSourceTerm_circle_1e1
PATH Elliptic/circle_radius_1
EXECUTABLE ogs
EXECUTABLE_ARGS circle_1e1_axi.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
line_1_lines_1e1_expected.vtu circle_1e1_axi_ts_1_t_1.000000.vtu analytical_solution pressure 0.7 1e-16
VIS circle_1e1_axi_ts_1_t_1.000000.vtu
)
AddTest(
NAME SteadyStateDiffusion_NodalSourceTerm_circle_1e2
PATH Elliptic/circle_radius_1
EXECUTABLE ogs
EXECUTABLE_ARGS circle_1e2_axi.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
line_1_lines_1e2_expected.vtu circle_1e2_axi_ts_1_t_1.000000.vtu analytical_solution pressure 1.1 1e-16
VIS circle_1e2_axi_ts_1_t_1.000000.vtu
)
AddTest(
NAME SteadyStateDiffusion_NodalSourceTerm_circle_1e3
PATH Elliptic/circle_radius_1
EXECUTABLE ogs
EXECUTABLE_ARGS circle_1e3_axi.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
line_1_lines_1e3_expected.vtu circle_1e3_axi_ts_1_t_1.000000.vtu analytical_solution pressure 1.6 1e-16
VIS circle_1e3_axi_ts_1_t_1.000000.vtu
)
AddTest(
NAME SteadyStateDiffusion_NodalSourceTerm_circle_1e4
PATH Elliptic/circle_radius_1
EXECUTABLE ogs
EXECUTABLE_ARGS circle_1e4_axi.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
line_1_lines_1e4_expected.vtu circle_1e4_axi_ts_1_t_1.000000.vtu analytical_solution pressure 1.8 1e-16
VIS circle_1e4_axi_ts_1_t_1.000000.vtu
)
AddTest(
NAME SteadyStateDiffusion_NodalSourceTerm_circle_1e5
PATH Elliptic/circle_radius_1
EXECUTABLE ogs
EXECUTABLE_ARGS circle_1e5_axi.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
line_1_lines_1e5_expected.vtu circle_1e5_axi_ts_1_t_1.000000.vtu analytical_solution pressure 2.15 1e-16
VIS circle_1e5_axi_ts_1_t_1.000000.vtu
)
AddTest(
NAME SteadyStateDiffusion_NodalSourceTerm_circle_1e6
PATH Elliptic/circle_radius_1
RUNTIME 20
EXECUTABLE ogs
EXECUTABLE_ARGS circle_1e6_axi.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
line_1_lines_1e6_expected.vtu circle_1e6_axi_ts_1_t_1.000000.vtu analytical_solution pressure 2.52 1e-16
VIS circle_1e6_axi_ts_1_t_1.000000.vtu
)
AddTest(
NAME SteadyStateDiffusion_NodalSourceTerm_square_1e6
PATH Elliptic/square_1x1_SteadyStateDiffusion
RUNTIME 200
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e6_with_nodal_sources.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
square_1x1_quad_1e6_nodal_sources_expected.vtu square_1e6_with_nodal_sources_ts_1_t_1.000000.vtu analytical_solution pressure 1.41 1e-16
VIS square_1e6__nodal_sources_expected_ts_1_t_1.000000.vtu
)
AddTest(
NAME SteadyStateDiffusion_VolumetricSourceTerm_square_1e2
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e2_volumetricsourceterm.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
square_1x1_quad_1e2_volumetricsourceterm_analytical_solution.vtu square_1e2_volumetricsourceterm_ts_1_t_1.000000.vtu analytical_solution pressure 1e-14 1e-16
)
AddTest(
NAME SteadyStateDiffusion_VolumetricSourceTerm_square_1e3
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e3_volumetricsourceterm.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
square_1x1_quad_1e3_volumetricsourceterm_analytical_solution.vtu square_1e3_volumetricsourceterm_ts_1_t_1.000000.vtu analytical_solution pressure 1e-10 1e-11
)
AddTest(
NAME SteadyStateDiffusion_NeumannBC_Along_Line_in_3D_domain
PATH Elliptic/quarter_disc
EXECUTABLE ogs
EXECUTABLE_ARGS quarter_disc_neumann.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
quarter_disc_r_1.vtu neumann_along_line_ts_1_t_1.000000.vtu analytical_solution pressure 6e-5 0
)
AddTest(
NAME SteadyStateDiffusion_NeumannBC_In_Center_Point_2D_domain
PATH Elliptic/quarter_circle
EXECUTABLE ogs
EXECUTABLE_ARGS quarter_circle_neumann.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
quarter_circle_r_1.vtu neumann_in_center_ts_1_t_1.000000.vtu pressure_nodal_source_term pressure 1e-14 1e-14
)
AddTest(
NAME SteadyStateDiffusion_VolumetricSourceTerm_sin_x_sin_y_square_1e3
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e3_volumetricsourcetermdataarray.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
# the analytical solution is: sin(2*Pi*x-Pi/2)*sin(2*Pi*y-Pi/2)
# the source term in the data array was set to: -2*(2*Pi)^2 * sin(2*Pi*x-Pi/2)*sin(2*Pi*y-Pi/2)
DIFF_DATA
square_1x1_quad_1e3_volumetricsourcetermdataarray.vtu square_1e3_volumetricsourcetermdataarray_ts_1_t_1.000000.vtu analytical_solution pressure 2e-2 1e-16
)
AddTest(
NAME PythonBCSteadyStateDiffusionLaplaceEqDirichletNeumann
PATH Elliptic/square_1x1_SteadyStateDiffusion_Python
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e3_laplace_eq.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS OGS_USE_PYTHON AND NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
python_laplace_eq_ref.vtu square_1e3_neumann_ts_1_t_1.000000.vtu pressure_expected pressure 4e-4 1e-16
)
AddTest(
NAME PythonSourceTermPoissonSinAXSinBYDirichlet_square_1e3
PATH Elliptic/square_1x1_SteadyStateDiffusion_Python
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e3_poisson_sin_x_sin_y.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS OGS_USE_PYTHON AND NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
square_1x1_quad_1e3.vtu square_1e3_volumetricsourceterm_ts_1_t_1.000000.vtu analytical_solution pressure 0.7e-2 1e-16
)
AddTest(
NAME PythonSourceTermPoissonSinAXSinBYDirichlet_square_1e5
PATH Elliptic/square_1x1_SteadyStateDiffusion_Python
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e5_poisson_sin_x_sin_y.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS OGS_USE_PYTHON AND NOT (OGS_USE_LIS OR OGS_USE_MPI)
DIFF_DATA
square_1x1_quad_1e5.vtu square_1e5_volumetricsourceterm_ts_1_t_1.000000.vtu analytical_solution pressure 0.75e-4 1e-16
)
AddTest(
NAME SteadyStateDiffusion_square_1x1_1e2_GMRES
PATH Elliptic/square_1x1_SteadyStateDiffusion
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e2_GMRES.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_MPI)
DIFF_DATA
square_1x1_quad_1e2.vtu square_1e2_GMRES_ts_1_t_1.000000.vtu Linear_1_to_minus1 pressure 1e-14 1e-14
)
if (NOT OGS_USE_MPI)
OgsTest(PROJECTFILE "Elliptic/cube_1x1x1_SteadyStateDiffusion/cube_1e4_anisotropic.prj")
endif() # OGS_USE_MPI