From 5919c9c07819bf43127b712ce26e6d201544b572 Mon Sep 17 00:00:00 2001 From: Steve Date: Tue, 16 Sep 2025 10:21:49 +0200 Subject: [PATCH 1/4] Rename semi_float_type to semi to fix convergence test error --- .../elixir_euler_convergence_implicit_sparse_jacobian.jl | 9 +++++---- test/test_structured_2d.jl | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl b/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl index 909d9b3e6ec..d84b4abade6 100644 --- a/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl +++ b/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl @@ -44,6 +44,7 @@ jac_detector = TracerSparsityDetector() jac_eltype = jacobian_eltype(real(solver), jac_detector) # Semidiscretization for sparsity pattern detection +# Must be called 'semi' in order for the convergence test to run successfully semi_jac_type = SemidiscretizationHyperbolic(mesh, equations, initial_condition_convergence_test, solver, @@ -78,23 +79,23 @@ coloring_vec = column_colors(coloring_result) ### sparsity-aware semidiscretization and ode ### # Semidiscretization for actual simulation -semi_float_type = SemidiscretizationHyperbolic(mesh, equations, +semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition_convergence_test, solver, source_terms = source_terms_convergence_test) # Supply Jacobian prototype and coloring vector to the semidiscretization -ode_jac_sparse = semidiscretize(semi_float_type, tspan, +ode_jac_sparse = semidiscretize(semi, tspan, jac_prototype = jac_prototype, colorvec = coloring_vec) -# using "dense" `ode = semidiscretize(semi_float_type, tspan)` +# using "dense" `ode = semidiscretize(semi, tspan)` # is essentially infeasible, even single step takes ages! ############################################################################### ### callbacks & solve ### summary_callback = SummaryCallback() -analysis_callback = AnalysisCallback(semi_float_type, interval = 50) +analysis_callback = AnalysisCallback(semi, interval = 50) alive_callback = AliveCallback(alive_interval = 3) # Note: No `stepsize_callback` due to implicit solver diff --git a/test/test_structured_2d.jl b/test/test_structured_2d.jl index 506511518f8..11f3228a8bc 100644 --- a/test/test_structured_2d.jl +++ b/test/test_structured_2d.jl @@ -344,7 +344,7 @@ end t = sol.t[end] u_ode = sol.u[end] du_ode = similar(u_ode) - @test (@allocated Trixi.rhs!(du_ode, u_ode, semi_float_type, t)) < 1000 + @test (@allocated Trixi.rhs!(du_ode, u_ode, semi, t)) < 1000 end end From 5aa543f09980e4506e64661593e3d31376d66c32 Mon Sep 17 00:00:00 2001 From: Steve Date: Tue, 14 Oct 2025 19:08:02 +0200 Subject: [PATCH 2/4] Rename was undone in merge conflict. --- .../elixir_euler_convergence_implicit_sparse_jacobian.jl | 2 +- test/test_structured_2d.jl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl b/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl index d84b4abade6..16ddb6cddac 100644 --- a/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl +++ b/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl @@ -44,7 +44,6 @@ jac_detector = TracerSparsityDetector() jac_eltype = jacobian_eltype(real(solver), jac_detector) # Semidiscretization for sparsity pattern detection -# Must be called 'semi' in order for the convergence test to run successfully semi_jac_type = SemidiscretizationHyperbolic(mesh, equations, initial_condition_convergence_test, solver, @@ -79,6 +78,7 @@ coloring_vec = column_colors(coloring_result) ### sparsity-aware semidiscretization and ode ### # Semidiscretization for actual simulation +# Must be called 'semi' in order for the convergence test to run successfully semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition_convergence_test, solver, diff --git a/test/test_structured_2d.jl b/test/test_structured_2d.jl index 578401bba12..12dbc1be64d 100644 --- a/test/test_structured_2d.jl +++ b/test/test_structured_2d.jl @@ -255,7 +255,7 @@ end ]) # Ensure that we do not have excessive memory allocations # (e.g., from type instabilities) - @test_allocations(Trixi.rhs!, semi_float_type, sol, 1000) + @test_allocations(Trixi.rhs!, semi, sol, 1000) end @trixi_testset "elixir_eulermulti_convergence_ec.jl" begin From 1ca1645864cb9df91e2b017233703218393ff729 Mon Sep 17 00:00:00 2001 From: Daniel Doehring Date: Tue, 14 Oct 2025 20:05:58 +0200 Subject: [PATCH 3/4] Debug 3D `P4est` mesh with parabolic terms (#2603) * Debug * test --- src/solvers/dgsem_p4est/dg_3d_parabolic.jl | 2 +- test/test_parabolic_3d.jl | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/solvers/dgsem_p4est/dg_3d_parabolic.jl b/src/solvers/dgsem_p4est/dg_3d_parabolic.jl index 6703d3014de..c27181f3bc2 100644 --- a/src/solvers/dgsem_p4est/dg_3d_parabolic.jl +++ b/src/solvers/dgsem_p4est/dg_3d_parabolic.jl @@ -200,7 +200,7 @@ function calc_gradient!(gradients, u_transformed, t, # surface at -y normal_direction = get_normal_direction(3, contravariant_vectors, - l, m, 1, element) + l, 1, m, element) grad[v, l, 1, m, element] = (grad[v, l, 1, m, element] + surface_flux_values[v, l, m, 3, element] * diff --git a/test/test_parabolic_3d.jl b/test/test_parabolic_3d.jl index 1ee64ee7232..34a7cfd337e 100644 --- a/test/test_parabolic_3d.jl +++ b/test/test_parabolic_3d.jl @@ -501,17 +501,17 @@ end "elixir_navierstokes_crm.jl"), l2=[ 2.2353998537135728e-10, - 6.438639847871375e-8, - 4.8159768090963756e-8, - 6.287534321002294e-8, - 7.596958320246443e-5 + 6.438248564149087e-8, + 4.8158393932278836e-8, + 6.287149707414103e-8, + 7.591822518308327e-5 ], linf=[ 0.36753460935979454, 209.1460932734352, - 51.3036359192352, - 41.461135962058904, - 113004.3158457772 + 51.303610073892436, + 41.45867326162659, + 113004.34493505303 ], tspan=(0.0, 1e-10)) # Ensure that we do not have excessive memory allocations From 0e1a5895db19cdd285d7b20380051db85fe321ba Mon Sep 17 00:00:00 2001 From: Hendrik Ranocha Date: Tue, 14 Oct 2025 20:10:30 +0200 Subject: [PATCH 4/4] fix formatting --- .../elixir_euler_convergence_implicit_sparse_jacobian.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl b/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl index 16ddb6cddac..fd821029f33 100644 --- a/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl +++ b/examples/structured_2d_dgsem/elixir_euler_convergence_implicit_sparse_jacobian.jl @@ -80,9 +80,9 @@ coloring_vec = column_colors(coloring_result) # Semidiscretization for actual simulation # Must be called 'semi' in order for the convergence test to run successfully semi = SemidiscretizationHyperbolic(mesh, equations, - initial_condition_convergence_test, - solver, - source_terms = source_terms_convergence_test) + initial_condition_convergence_test, + solver, + source_terms = source_terms_convergence_test) # Supply Jacobian prototype and coloring vector to the semidiscretization ode_jac_sparse = semidiscretize(semi, tspan,