Tests.cmake
AddTest(
NAME 1D_HeatConduction_dirichlet
PATH Parabolic/T/1D_dirichlet
EXECUTABLE ogs
EXECUTABLE_ARGS line_60_heat.prj
TESTER vtkdiff
DIFF_DATA
temperature_analytical.vtu line_60_heat_ts_65_t_5078125.000000.vtu Temperature_Analytical_2months temperature 1e-5 1e-5
temperature_analytical.vtu line_60_heat_ts_405_t_31640625.000000.vtu Temperature_Analytical_1year temperature 1e-5 1e-5
REQUIREMENTS NOT OGS_USE_MPI
)
AddTest(
NAME 1D_HeatConduction_neumann_picard
PATH Parabolic/T/1D_neumann
EXECUTABLE ogs
EXECUTABLE_ARGS picard.prj
TESTER vtkdiff
DIFF_DATA
picard_ts_1_t_78125.000000.vtu picard_ts_1_t_78125.000000.vtu temperature temperature 5e-12 1e-14
picard_ts_3_t_234375.000000.vtu picard_ts_3_t_234375.000000.vtu temperature temperature 5e-12 1e-14
picard_ts_65_t_5078125.000000.vtu picard_ts_65_t_5078125.000000.vtu temperature temperature 5e-12 1e-14
picard_ts_405_t_31640625.000000.vtu picard_ts_405_t_31640625.000000.vtu temperature temperature 2e-11 1e-14
picard_ts_500_t_39062500.000000.vtu picard_ts_500_t_39062500.000000.vtu temperature temperature 2e-11 1e-14
picard_ts_1_t_78125.000000.vtu picard_ts_1_t_78125.000000.vtu HeatFlux HeatFlux 1e-12 1e-16
picard_ts_3_t_234375.000000.vtu picard_ts_3_t_234375.000000.vtu HeatFlux HeatFlux 2e-12 1e-16
picard_ts_65_t_5078125.000000.vtu picard_ts_65_t_5078125.000000.vtu HeatFlux HeatFlux 2e-12 1e-16
picard_ts_405_t_31640625.000000.vtu picard_ts_405_t_31640625.000000.vtu HeatFlux HeatFlux 4e-12 1e-16
picard_ts_500_t_39062500.000000.vtu picard_ts_500_t_39062500.000000.vtu HeatFlux HeatFlux 4e-12 1e-16
temperature_analytical.vtu picard_ts_1_t_78125.000000.vtu temperature_78125s temperature 8e-2 1e-4
temperature_analytical.vtu picard_ts_3_t_234375.000000.vtu temperature_234375s temperature 6e-2 1e-4
temperature_analytical.vtu picard_ts_65_t_5078125.000000.vtu temperature_5078125s temperature 1e-4 1e-4
temperature_analytical.vtu picard_ts_405_t_31640625.000000.vtu temperature_31640625s temperature 1e-4 1e-4
temperature_analytical.vtu picard_ts_500_t_39062500.000000.vtu temperature_39062500s temperature 1e-4 1e-4
REQUIREMENTS NOT OGS_USE_MPI
)
AddTest(
NAME 1D_HeatConduction_neumann_newton
PATH Parabolic/T/1D_neumann
EXECUTABLE ogs
EXECUTABLE_ARGS newton.prj
TESTER vtkdiff
DIFF_DATA
newton_ts_1_t_78125.000000.vtu newton_ts_1_t_78125.000000.vtu temperature temperature 1e-12 1e-16
newton_ts_3_t_234375.000000.vtu newton_ts_3_t_234375.000000.vtu temperature temperature 1e-12 1e-16
newton_ts_65_t_5078125.000000.vtu newton_ts_65_t_5078125.000000.vtu temperature temperature 1e-12 1e-16
newton_ts_405_t_31640625.000000.vtu newton_ts_405_t_31640625.000000.vtu temperature temperature 1e-12 1e-16
newton_ts_500_t_39062500.000000.vtu newton_ts_500_t_39062500.000000.vtu temperature temperature 1e-12 1e-16
newton_ts_1_t_78125.000000.vtu newton_ts_1_t_78125.000000.vtu HeatFlux HeatFlux 1e-12 1e-16
newton_ts_3_t_234375.000000.vtu newton_ts_3_t_234375.000000.vtu HeatFlux HeatFlux 1e-12 1e-16
newton_ts_65_t_5078125.000000.vtu newton_ts_65_t_5078125.000000.vtu HeatFlux HeatFlux 1e-12 1e-16
newton_ts_405_t_31640625.000000.vtu newton_ts_405_t_31640625.000000.vtu HeatFlux HeatFlux 1e-12 1e-16
newton_ts_500_t_39062500.000000.vtu newton_ts_500_t_39062500.000000.vtu HeatFlux HeatFlux 1e-12 1e-16
temperature_analytical.vtu newton_ts_1_t_78125.000000.vtu temperature_78125s temperature 8e-2 1e-4
temperature_analytical.vtu newton_ts_3_t_234375.000000.vtu temperature_234375s temperature 6e-2 1e-4
temperature_analytical.vtu newton_ts_65_t_5078125.000000.vtu temperature_5078125s temperature 1e-4 1e-4
temperature_analytical.vtu newton_ts_405_t_31640625.000000.vtu temperature_31640625s temperature 1e-4 1e-4
temperature_analytical.vtu newton_ts_500_t_39062500.000000.vtu temperature_39062500s temperature 1e-4 1e-4
REQUIREMENTS NOT OGS_USE_MPI
)
AddTest(
NAME 1D_HeatConduction_neumann_picard_masslumping
PATH Parabolic/T/1D_neumann
EXECUTABLE ogs
EXECUTABLE_ARGS picard_masslumping.prj
TESTER vtkdiff
DIFF_DATA
picard_masslumping_ts_1_t_78125.000000.vtu picard_masslumping_ts_1_t_78125.000000.vtu temperature temperature 1e-12 1e-16
picard_masslumping_ts_3_t_234375.000000.vtu picard_masslumping_ts_3_t_234375.000000.vtu temperature temperature 1e-12 1e-16
picard_masslumping_ts_65_t_5078125.000000.vtu picard_masslumping_ts_65_t_5078125.000000.vtu temperature temperature 1e-12 1e-16
picard_masslumping_ts_405_t_31640625.000000.vtu picard_masslumping_ts_405_t_31640625.000000.vtu temperature temperature 1e-12 1e-16
picard_masslumping_ts_500_t_39062500.000000.vtu picard_masslumping_ts_500_t_39062500.000000.vtu temperature temperature 1e-12 1e-16
temperature_analytical.vtu picard_masslumping_ts_1_t_78125.000000.vtu temperature_78125s temperature 2e-1 1e-4
temperature_analytical.vtu picard_masslumping_ts_3_t_234375.000000.vtu temperature_234375s temperature 2e-1 1e-4
temperature_analytical.vtu picard_masslumping_ts_65_t_5078125.000000.vtu temperature_5078125s temperature 1e-4 1e-4
temperature_analytical.vtu picard_masslumping_ts_405_t_31640625.000000.vtu temperature_31640625s temperature 1e-4 1e-4
temperature_analytical.vtu picard_masslumping_ts_500_t_39062500.000000.vtu temperature_39062500s temperature 1e-4 1e-4
REQUIREMENTS NOT OGS_USE_MPI
)
AddTest(
NAME 1D_HeatConduction_neumann_newton_masslumping
PATH Parabolic/T/1D_neumann
EXECUTABLE ogs
EXECUTABLE_ARGS newton_masslumping.prj
TESTER vtkdiff
DIFF_DATA
newton_masslumping_ts_1_t_78125.000000.vtu newton_masslumping_ts_1_t_78125.000000.vtu temperature temperature 1e-12 1e-16
newton_masslumping_ts_3_t_234375.000000.vtu newton_masslumping_ts_3_t_234375.000000.vtu temperature temperature 1e-12 1e-16
newton_masslumping_ts_65_t_5078125.000000.vtu newton_masslumping_ts_65_t_5078125.000000.vtu temperature temperature 1e-12 1e-16
newton_masslumping_ts_405_t_31640625.000000.vtu newton_masslumping_ts_405_t_31640625.000000.vtu temperature temperature 1e-12 1e-16
newton_masslumping_ts_500_t_39062500.000000.vtu newton_masslumping_ts_500_t_39062500.000000.vtu temperature temperature 1e-12 1e-16
temperature_analytical.vtu newton_masslumping_ts_1_t_78125.000000.vtu temperature_78125s temperature 2e-1 1e-4
temperature_analytical.vtu newton_masslumping_ts_3_t_234375.000000.vtu temperature_234375s temperature 2e-1 1e-4
temperature_analytical.vtu newton_masslumping_ts_65_t_5078125.000000.vtu temperature_5078125s temperature 1e-4 1e-4
temperature_analytical.vtu newton_masslumping_ts_405_t_31640625.000000.vtu temperature_31640625s temperature 1e-4 1e-4
temperature_analytical.vtu newton_masslumping_ts_500_t_39062500.000000.vtu temperature_39062500s temperature 1e-4 1e-4
REQUIREMENTS NOT OGS_USE_MPI
)
AddTest(
NAME 1D_HeatConduction_neumann_petsc_newtonls
PATH Parabolic/T/1D_neumann
EXECUTABLE ogs
EXECUTABLE_ARGS petsc_newtonls.prj
TESTER vtkdiff
DIFF_DATA
newton_ts_1_t_78125.000000.vtu petsc_newtonls_ts_1_t_78125_000000_0.vtu temperature temperature 1e-12 1e-16
newton_ts_3_t_234375.000000.vtu petsc_newtonls_ts_3_t_234375_000000_0.vtu temperature temperature 1e-12 1e-16
newton_ts_65_t_5078125.000000.vtu petsc_newtonls_ts_65_t_5078125_000000_0.vtu temperature temperature 1e-12 1e-16
newton_ts_405_t_31640625.000000.vtu petsc_newtonls_ts_405_t_31640625_000000_0.vtu temperature temperature 1e-12 1e-16
newton_ts_500_t_39062500.000000.vtu petsc_newtonls_ts_500_t_39062500_000000_0.vtu temperature temperature 1e-12 1e-16
temperature_analytical.vtu petsc_newtonls_ts_1_t_78125_000000_0.vtu temperature_78125s temperature 8e-2 1e-4
temperature_analytical.vtu petsc_newtonls_ts_3_t_234375_000000_0.vtu temperature_234375s temperature 6e-2 1e-4
temperature_analytical.vtu petsc_newtonls_ts_65_t_5078125_000000_0.vtu temperature_5078125s temperature 1e-4 1e-4
temperature_analytical.vtu petsc_newtonls_ts_405_t_31640625_000000_0.vtu temperature_31640625s temperature 1e-4 1e-4
temperature_analytical.vtu petsc_newtonls_ts_500_t_39062500_000000_0.vtu temperature_39062500s temperature 1e-4 1e-4
REQUIREMENTS OGS_USE_MPI
)
# SQUARE 1x1 HEAT CONDUCTION TEST -- AXIALLY SYMMETRIC
# test results are compared to 3D simulation on a wedge-shaped domain
AddTest(
NAME 2D_HeatConduction_axi
PATH Parabolic/T/2D_axially_symmetric
EXECUTABLE ogs
EXECUTABLE_ARGS square_1e2_axi.prj
TESTER vtkdiff
DIFF_DATA
wedge_1e2_axi_ang_0.02_t_2s_extracted_surface.vtu square_1e2_axi_ts_2_t_2.000000.vtu temperature temperature 1.7e-5 1e-5
wedge_1e2_axi_ang_0.02_t_2s_extracted_surface.vtu square_1e2_axi_ts_2_t_2.000000.vtu heat_flux_x heat_flux_x 1.7e-5 1e-5
REQUIREMENTS NOT OGS_USE_MPI
)
# # WEDGE 1x1 HEATCONDUCTION TEST -- computes reference results for the above test
# AddTest(
# NAME 2D_HeatConduction_wedge
# PATH Parabolic/T/2D_axially_symmetric
# EXECUTABLE ogs
# EXECUTABLE_ARGS wedge_1e2_axi_ang_0.02.prj
# )
# The 25 BHE array benchmark
# test results are compared to 2D simulation result
AddTest(
NAME BHE_Array_2D
PATH Parabolic/T/2D_BHE_array
RUNTIME 90
EXECUTABLE ogs
EXECUTABLE_ARGS bhe2d.prj
TESTER vtkdiff
DIFF_DATA
standard_solution_bhe2d_ts_840_t_72576000.000000.vtu bhe2d_ts_840_t_72576000.000000.vtu temperature temperature 1e-12 0.0
REQUIREMENTS NOT OGS_USE_MPI
)
# test the source term on a subdomain
AddTest(
NAME 1D_HeatConduction_dirichlet_SourceTerm
PATH Parabolic/T/1D_dirichlet_source-term
EXECUTABLE ogs
EXECUTABLE_ARGS line_1_line_1e2_source_term.prj
TESTER vtkdiff
DIFF_DATA
line_1_line_1e2_ts_500_t_39062500.000000_reference.vtu line_1_line_1e2_ts_500_t_39062500.000000.vtu temperature temperature 1.4e-11 0.0
REQUIREMENTS NOT OGS_USE_MPI
)
# test the source term on a subdomain with the PETSc embedded executable file
AddTest(
NAME 1D_HeatConduction_dirichlet_SourceTerm_PETSc
PATH Parabolic/T/1D_dirichlet_source-term
EXECUTABLE ogs
EXECUTABLE_ARGS line_1_line_1e2_source_term.prj
WRAPPER mpirun
WRAPPER_ARGS -np 1
TESTER vtkdiff
REQUIREMENTS OGS_USE_MPI
DIFF_DATA
line_1_line_1e2_ts_500_t_39062500.000000_reference.vtu line_1_line_1e2_ts_500_t_39062500_000000_0.vtu temperature temperature 1e-10 0.0
)
AddTest(
NAME HeatConduction_t1_1Dsource
PATH Parabolic/T/t1_1Dsource
EXECUTABLE ogs
EXECUTABLE_ARGS t1_1Dsource.prj
TESTER vtkdiff
DIFF_DATA
t1_1Dsource_ts_1_t_1.000000.vtu t1_1Dsource_ts_1_t_1.000000.vtu temperature temperature 10e-12 0.0
REQUIREMENTS NOT OGS_USE_MPI
)
AddTest(
NAME HeatConduction_t1_1Dsteady
PATH Parabolic/T/t1_1Dsteady
EXECUTABLE ogs
EXECUTABLE_ARGS t1_1Dsteady.prj
TESTER vtkdiff
DIFF_DATA
t1_1Dsteady_ts_1_t_1.000000.vtu t1_1Dsteady_ts_1_t_1.000000.vtu temperature temperature 10e-12 0.0
REQUIREMENTS NOT OGS_USE_MPI
)
AddTest(
NAME HeatConduction_t2_1D1bt
PATH Parabolic/T/t2_1D1bt
EXECUTABLE ogs
EXECUTABLE_ARGS t2_1D1bt.prj
TESTER vtkdiff
DIFF_DATA
t2_1D1bt_ts_500_t_21600.000000.vtu t2_1D1bt_ts_500_t_21600.000000.vtu temperature temperature 10e-12 0.0
t2_1D1bt_ts_1000_t_43200.000000.vtu t2_1D1bt_ts_1000_t_43200.000000.vtu temperature temperature 10e-12 0.0
REQUIREMENTS NOT OGS_USE_MPI
)
AddTest(
NAME HeatConduction_t2_1D2bt
PATH Parabolic/T/t2_1D2bt
EXECUTABLE ogs
EXECUTABLE_ARGS t2_1D2bt.prj
TESTER vtkdiff
DIFF_DATA
t2_1D2bt_ts_3000_t_7776.000000.vtu t2_1D2bt_ts_3000_t_7776.000000.vtu temperature temperature 10e-12 0.0
t2_1D2bt_ts_1500_t_3888.000000.vtu t2_1D2bt_ts_1500_t_3888.000000.vtu temperature temperature 10e-12 0.0
REQUIREMENTS NOT OGS_USE_MPI
)
AddTest(
NAME HeatConduction_1D_LineSourceTerm
PATH Parabolic/T/1D_line_source_term_tests
EXECUTABLE ogs
EXECUTABLE_ARGS line_source_term.prj
TESTER vtkdiff
DIFF_DATA
mesh_1_line_100.vtu source_term_at_entire_line_ts_1_t_1.000000.vtu analytical_temperature temperature 1e-13 1e-13
REQUIREMENTS NOT OGS_USE_MPI
)
if (NOT OGS_USE_MPI)
OgsTest(PROJECTFILE Parabolic/T/1D_line_source_term_tests/moving_source_term.prj)
endif()
# tests for line source term implementation
AddTest(
NAME HeatConduction_2D_LineSourceTermLeft
PATH Parabolic/T/2D_source_term_tests/line_source_term_left
EXECUTABLE ogs
EXECUTABLE_ARGS source_term_left.prj
TESTER vtkdiff
DIFF_DATA
source_term_left_ts_1_t_1.000000.vtu source_term_left_ts_1_t_1.000000.vtu temperature temperature 1e-15 0.0
source_term_left_ts_1_t_1.000000.vtu source_term_left_ts_1_t_1.000000.vtu heat_flux_x heat_flux_x 1e-15 0.0
REQUIREMENTS NOT OGS_USE_MPI
)
# For the special setup with a 'dirac' line source term at x=0.5 the
# analytical solution in 2 dimensions is valid:
# u(x,y) = -ln(sqrt((x-0.5)^2))/(2 * Pi)
AddTest(
NAME HeatConduction_2D_LineSourceTermMiddle
PATH Parabolic/T/2D_source_term_tests/line_source_term_x_0.5
EXECUTABLE ogs
EXECUTABLE_ARGS line_source_term_x_0.5.prj
TESTER vtkdiff
DIFF_DATA
source_term_middle_ts_1_t_1.000000.vtu source_term_middle_ts_1_t_1.000000.vtu temperature temperature 7e-15 2e-14
source_term_middle_ts_1_t_1.000000.vtu source_term_middle_ts_1_t_1.000000.vtu heat_flux_x heat_flux_x 7e-14 0.0
REQUIREMENTS NOT OGS_USE_MPI
)
AddTest(
NAME HeatConduction_2D_LineSourceTermMiddle_Restricted
PATH
Parabolic/T/2D_source_term_tests/line_source_term_x_0.5_restricted_to_middle
EXECUTABLE ogs
EXECUTABLE_ARGS line_source_term_x_0.5.prj
TESTER vtkdiff
DIFF_DATA
source_term_middle_restricted_ts_1_t_1.000000.vtu source_term_middle_restricted_ts_1_t_1.000000.vtu temperature temperature 1e-15 0.0
source_term_middle_restricted_ts_1_t_1.000000.vtu source_term_middle_restricted_ts_1_t_1.000000.vtu heat_flux_x heat_flux_x 3e-15 4e-7
REQUIREMENTS NOT OGS_USE_MPI
)
# tests for line source term implementation on a cubic domain
AddTest(
NAME HeatConduction_3D_LineSourceTermMiddle
PATH
Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle
EXECUTABLE ogs
EXECUTABLE_ARGS line_source_term_x_0.5_y_0.5.prj
TESTER vtkdiff
DIFF_DATA
3D_line_source_term_ts_1_t_1.000000.vtu 3D_line_source_term_ts_1_t_1.000000.vtu temperature temperature 1e-15 0.0
3D_line_source_term_ts_1_t_1.000000.vtu 3D_line_source_term_ts_1_t_1.000000.vtu heat_flux_x heat_flux_x 7e-15 7e-13
REQUIREMENTS NOT OGS_USE_MPI
)
# tests for line source term implementation on a cubic domain
AddTest(
NAME HeatConduction_3D_LineSourceTermMiddle_Restricted
PATH
Parabolic/T/3D_line_source_term_tests/3D_line_source_term_middle_restricted
EXECUTABLE ogs
EXECUTABLE_ARGS line_source_term_x_0.5_y_0.5_restricted.prj
TESTER vtkdiff
DIFF_DATA
3D_line_source_term_restricted_ts_1_t_1.000000.vtu 3D_line_source_term_restricted_ts_1_t_1.000000.vtu temperature temperature 1e-15 0.0
3D_line_source_term_restricted_ts_1_t_1.000000.vtu 3D_line_source_term_restricted_ts_1_t_1.000000.vtu heat_flux_x heat_flux_x 1.1e-15 5e-12
REQUIREMENTS NOT OGS_USE_MPI
)
# tests for line source term implementation on a cylindrical domain
# For the special setup with a line 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 HeatConduction_3D_LineSourceTermInMiddleOfCylinder_49k_prisms
PATH
Parabolic/T/3D_line_source_term_tests/3D_line_source_term_in_cylinder/49k_prisms
EXECUTABLE ogs
EXECUTABLE_ARGS line_source_term_in_cylinder.prj
TESTER vtkdiff
DIFF_DATA
Cylinder_r_1_h_1_prism_49k.vtu 3D_line_source_term_in_cylinder_49k_ts_1_t_1.000000.vtu analytical_solution_temperature temperature 0.2 0.0
REQUIREMENTS NOT OGS_USE_MPI
)
AddTest(
NAME HeatConduction_3D_LineSourceTermInMiddleOfCylinder_286k_prisms
PATH
Parabolic/T/3D_line_source_term_tests/3D_line_source_term_in_cylinder/286k_prisms
RUNTIME 32
EXECUTABLE ogs
EXECUTABLE_ARGS line_source_term_in_cylinder.prj
TESTER vtkdiff
DIFF_DATA
Cylinder_r_1_h_1_prism_286k.vtu 3D_line_source_term_in_cylinder_286k_ts_1_t_1.000000.vtu analytical_solution_temperature temperature 4e-3 0.0
REQUIREMENTS NOT OGS_USE_MPI
)