diff --git a/test/test_p4est_2d.jl b/test/test_p4est_2d.jl index f4924bdcf7d..119a7c9a45e 100644 --- a/test/test_p4est_2d.jl +++ b/test/test_p4est_2d.jl @@ -655,6 +655,37 @@ end @test isapprox(lift, 0.029076443678087403, atol = 1e-13) @test isapprox(drag, 0.13564720009197903, atol = 1e-13) end + +@trixi_testset "elixir_euler_blast_wave_pure_fv.jl" begin + @test_trixi_include(joinpath(pkgdir(Trixi, "examples", "tree_2d_dgsem"), + "elixir_euler_blast_wave_pure_fv.jl"), + l2=[ + 0.39957047631960346, + 0.21006912294983154, + 0.21006903549932, + 0.6280328163981136, + ], + linf=[ + 2.20417889887697, + 1.5487238480003327, + 1.5486788679247812, + 2.4656795949035857, + ], + tspan=(0.0, 0.5), + # Let this test run longer to cover some lines in flux_hllc + coverage_override=(maxiters = 10^5, tspan = (0.0, 0.1)), + mesh=mesh = P4estMesh((64, 64), polydeg = 3, + coordinates_min = (-2.0, -2.0), + coordinates_max = (2.0, 2.0))) + # Ensure that we do not have excessive memory allocations + # (e.g., from type instabilities) + let + t = sol.t[end] + u_ode = sol.u[end] + du_ode = similar(u_ode) + @test (@allocated Trixi.rhs!(du_ode, u_ode, semi, t)) < 1000 + end +end end # Clean up afterwards: delete Trixi.jl output directory diff --git a/test/test_t8code_3d.jl b/test/test_t8code_3d.jl index 81d2a7cdd85..5c452444be0 100644 --- a/test/test_t8code_3d.jl +++ b/test/test_t8code_3d.jl @@ -282,6 +282,40 @@ mkdir(outdir) @test (@allocated Trixi.rhs!(du_ode, u_ode, semi, t)) < 1000 end end + + @trixi_testset "elixir_euler_convergence_pure_fv.jl" begin + @test_trixi_include(joinpath(pkgdir(Trixi, "examples", "tree_3d_dgsem"), + "elixir_euler_convergence_pure_fv.jl"), + l2=[ + 0.037182410351406, + 0.032062252638283974, + 0.032062252638283974, + 0.03206225263828395, + 0.12228177813586687, + ], + linf=[ + 0.0693648413632646, + 0.0622101894740843, + 0.06221018947408474, + 0.062210189474084965, + 0.24196451799555962, + ], + mesh=T8codeMesh((4, 4, 4), polydeg = 3, + coordinates_min = (0.0, 0.0, 0.0), + coordinates_max = (2.0, 2.0, 2.0)), + # Remove SaveSolution callback + callbacks=CallbackSet(summary_callback, + analysis_callback, alive_callback, + stepsize_callback)) + # Ensure that we do not have excessive memory allocations + # (e.g., from type instabilities) + let + t = sol.t[end] + u_ode = sol.u[end] + du_ode = similar(u_ode) + @test (@allocated Trixi.rhs!(du_ode, u_ode, semi, t)) < 1000 + end + end end # Clean up afterwards: delete Trixi.jl output directory