• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

trixi-framework / Trixi.jl / 23497404996
97%

Build:
DEFAULT BRANCH: main
Ran 24 Mar 2026 04:08PM UTC
Jobs 1
Files 606
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Mar 2026 03:22PM UTC coverage: 87.222% (-9.8%) from 97.047%
23497404996

push

github

web-flow
Refactor DGMulti by consolidating functionality into `local_flux_differencing!` (#2857)

* Refactoring shock capturing for DGMulti

* formatting

* Refactor local_flux_differencing! to eliminate LazyMatrixLinearCombo

Dense conservative path now uses a per-pair loop with a single flux call
using normal direction n_ij = geometric_matrix * ref_entries, replacing
the dimension-by-dimension LazyMatrixLinearCombo + hadamard_sum! approach.
Sparse non-conservative path replaces LazyMatrixLinearCombo((Q,),(0.5,))
with 0.5 * normal_direction. Removes build_lazy_physical_derivative,
LazyMatrixLinearCombo, and the now-unused hadamard_sum! overloads.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* formatting

* Restore hadamard_sum! overload for NonAffine curved meshes

The per-pair normal-averaging overload for AbstractVector{<:AbstractVector}
was accidentally removed. On NonAffine meshes, get_contravariant_vector
returns an SVector of per-node array views; this overload averages the
normals at nodes i and j before calling the volume flux.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix sbp.jl FD-SBP volume integral after hadamard_sum! cleanup

The single-thread branch was calling hadamard_sum! with a plain
SparseMatrixCSC (dg.basis.Drst[dim]), which matched the now-deleted
dense overload. Replace the call with an inlined symmetric sparse loop
identical in structure to the multithreaded branch, using -vals[id] to
recover A[i,j] from the stored A[j,i] (skew-symmetry of periodic D).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Restore upper-triangular comment in hadamard_sum! NonAffine overload

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* move `flux_differencing_kernel!` directly into volume_integral_kernel!

* add alpha=true to allow for accumulation in volume_integral_kernel!

* move `low_order_flux_differencing!` into `volume_integral_kernel!`

* comments

* move hadamard_sum functionality into l... (continued)

136 of 137 new or added lines in 5 files covered. (99.27%)

4688 existing lines in 151 files now uncovered.

41229 of 47269 relevant lines covered (87.22%)

34581006.27 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
83.81
4.86% src/solvers/dgmulti/sbp.jl

Coverage Regressions

Lines Coverage ∆ File
585
23.74
-67.09% src/visualization/utilities.jl
284
0.0
-99.31% src/visualization/utilities_p4est_t8code.jl
275
42.58
-53.71% src/solvers/dgsem_tree/dg_2d_parabolic.jl
172
25.57
-65.72% src/visualization/types.jl
160
0.0
-96.99% ext/TrixiMakieExt.jl
118
71.61
-25.38% src/solvers/dgsem_p4est/dg_2d_parabolic.jl
106
60.36
-38.55% src/equations/nonideal_compressible_euler_2d.jl
102
86.86
-13.14% src/equations/ideal_glm_mhd_2d.jl
102
8.39
-71.33% src/visualization/recipes_plots.jl
85
0.0
-97.73% src/equations/compressible_navier_stokes_1d.jl
76
89.19
-10.67% src/equations/ideal_glm_mhd_3d.jl
72
91.3
-8.7% src/equations/ideal_glm_mhd_multiion_3d.jl
71
63.11
-31.56% src/solvers/dgsem_tree/dg_1d_parabolic.jl
68
0.0
-100.0% examples/dgmulti_2d/elixir_navierstokes_convergence_curved.jl
68
44.88
-53.54% src/equations/compressible_navier_stokes_2d.jl
65
0.0
-100.0% examples/tree_2d_dgsem/elixir_navierstokes_convergence.jl
64
0.0
-100.0% examples/dgmulti_2d/elixir_navierstokes_convergence.jl
63
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_convergence.jl
63
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_convergence_nonperiodic.jl
58
38.95
-61.05% src/callbacks_step/analysis_surface_integral_2d.jl
51
79.35
-20.65% src/solvers/dgsem/interpolation.jl
47
0.0
-100.0% examples/tree_1d_dgsem/elixir_navierstokes_convergence_walls_amr.jl
47
0.0
-100.0% examples/tree_1d_dgsem/elixir_navierstokes_convergence_walls.jl
47
58.46
-36.15% src/callbacks_step/stepsize_dg2d.jl
47
67.72
-29.75% src/semidiscretization/semidiscretization_hyperbolic_parabolic.jl
44
82.04
-11.8% src/equations/ideal_glm_mhd_1d.jl
43
95.51
-4.39% src/equations/compressible_euler_3d.jl
43
77.17
-19.63% src/semidiscretization/semidiscretization_hyperbolic.jl
42
0.0
-100.0% examples/dgmulti_1d/elixir_navierstokes_convergence_periodic.jl
42
0.0
-100.0% examples/tree_1d_dgsem/elixir_navierstokes_convergence_periodic.jl
40
0.0
-100.0% examples/tree_1d_dgsem/elixir_navierstokes_convergence_periodic_cfl.jl
40
80.95
-19.05% src/equations/polytropic_euler_2d.jl
37
92.39
-7.61% src/equations/compressible_euler_multicomponent_2d.jl
31
70.48
-29.52% src/meshes/parallel_tree.jl
30
81.61
-17.24% src/equations/linearized_euler_2d.jl
29
69.15
-30.85% src/meshes/serial_tree.jl
28
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_couette_flow.jl
27
0.0
-96.43% examples/p4est_2d_dgsem/elixir_navierstokes_vortex_street.jl
27
87.64
-7.72% src/solvers/dgmulti/dg.jl
26
0.0
-100.0% examples/tree_2d_dgsem/elixir_navierstokes_viscous_shock.jl
25
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_NACA0012airfoil_mach08.jl
25
0.0
-100.0% examples/tree_1d_dgsem/elixir_navierstokes_viscous_shock.jl
24
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_viscous_shock_newton_krylov.jl
24
92.33
-7.67% src/equations/compressible_euler_multicomponent_1d.jl
24
27.27
-72.73% src/equations/nonideal_compressible_euler.jl
23
0.0
-100.0% examples/tree_1d_dgsem/elixir_navierstokes_viscous_shock_imex.jl
23
74.73
-25.27% src/equations/passive_tracers.jl
22
65.71
-15.71% src/auxiliary/containers.jl
22
68.57
-31.43% src/equations/inviscid_burgers_1d.jl
22
69.44
-30.56% src/solvers/dgsem/l2projection.jl
21
89.54
-6.86% src/meshes/abstract_tree.jl
20
89.39
-5.31% src/solvers/dgsem_tree/containers_3d.jl
20
77.55
-20.41% src/time_integration/paired_explicit_runge_kutta/methods_PERK2.jl
19
0.0
-100.0% examples/tree_2d_dgsem/elixir_navierstokes_taylor_green_vortex_sutherland.jl
19
95.05
-4.95% src/equations/ideal_glm_mhd_multicomponent_2d.jl
19
97.32
-2.68% src/equations/ideal_glm_mhd_multiion_2d.jl
19
83.71
-10.67% src/solvers/dgsem_tree/subcell_limiters.jl
18
0.0
-100.0% examples/p4est_2d_dgsem/elixir_advection_diffusion_periodic_curved.jl
17
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_blast_reflective.jl
17
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_poiseuille_flow.jl
17
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_shearlayer_nonconforming.jl
17
64.62
-26.15% src/callbacks_step/visualization.jl
17
17.39
-74.28% src/equations/laplace_diffusion_1d.jl
17
78.57
-17.35% src/time_integration/paired_explicit_runge_kutta/methods_PERK3.jl
16
0.0
-100.0% examples/tree_1d_dgsem/elixir_advection_diffusion_cfl.jl
16
87.74
-3.38% src/callbacks_step/amr.jl
16
96.34
-3.45% src/equations/compressible_euler_1d.jl
16
93.84
-5.48% src/equations/ideal_glm_mhd_multicomponent_1d.jl
16
83.02
-15.09% src/equations/lattice_boltzmann_3d.jl
15
0.0
-100.0% examples/dgmulti_2d/elixir_advection_diffusion_nonperiodic.jl
15
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_freestream_ldg.jl
15
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_RAE2822airfoil_separation.jl
15
0.0
-100.0% examples/tree_2d_dgsem/elixir_navierstokes_shearlayer_amr.jl
15
98.51
-1.39% src/equations/compressible_euler_2d.jl
15
89.21
-10.79% src/equations/nonideal_compressible_euler_1d.jl
15
21.05
-78.95% src/solvers/dgsem_tree/container_viscous_2d.jl
14
0.0
-100.0% examples/dgmulti_1d/elixir_advection_diffusion_sbp.jl
14
0.0
-100.0% examples/p4est_2d_dgsem/elixir_advection_diffusion_nonperiodic_curved.jl
14
0.0
-100.0% examples/p4est_2d_dgsem/elixir_advection_diffusion_periodic.jl
14
0.0
-100.0% examples/tree_1d_dgsem/elixir_advection_diffusion.jl
14
0.0
-100.0% examples/tree_1d_dgsem/elixir_advection_diffusion_ldg.jl
14
81.05
-14.74% src/equations/linearized_euler_3d.jl
14
94.32
-2.15% src/solvers/dgsem_tree/containers_2d.jl
13
0.0
-100.0% examples/tree_1d_dgsem/elixir_advection_diffusion_implicit_sparse_jacobian.jl
13
91.72
-8.28% src/equations/acoustic_perturbation_2d.jl
12
0.0
-100.0% examples/dgmulti_2d/elixir_navierstokes_lid_driven_cavity.jl
12
0.0
-100.0% examples/tree_2d_dgsem/elixir_advection_diffusion_gradient_source_terms.jl
12
0.0
-100.0% examples/tree_2d_dgsem/elixir_advection_diffusion_imex_operator.jl
12
0.0
-100.0% examples/tree_2d_dgsem/elixir_navierstokes_shearlayer_nonconforming.jl
12
72.31
-18.46% src/callbacks_step/stepsize_dg1d.jl
12
89.78
-8.76% src/equations/lattice_boltzmann_2d.jl
11
0.0
-100.0% examples/p4est_2d_dgsem/elixir_advection_diffusion_periodic_amr.jl
11
0.0
-100.0% examples/tree_2d_dgsem/elixir_advection_diffusion_amr.jl
11
0.0
-100.0% examples/tree_2d_dgsem/elixir_advection_diffusion_nonperiodic.jl
11
0.0
-100.0% examples/tree_2d_dgsem/elixir_navierstokes_lid_driven_cavity.jl
11
76.0
-12.31% src/auxiliary/auxiliary.jl
10
0.0
-100.0% examples/p4est_2d_dgsem/elixir_advection_diffusion_nonperiodic_amr.jl
10
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_lid_driven_cavity_amr.jl
10
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_lid_driven_cavity.jl
10
0.0
-100.0% examples/tree_2d_dgsem/elixir_advection_diffusion_nonperiodic_amr.jl
10
0.0
-100.0% examples/tree_2d_dgsem/elixir_navierstokes_kelvin_helmholtz_instability_sc_subcell.jl
10
90.83
-8.33% src/callbacks_step/amr_dg1d.jl
9
0.0
-100.0% examples/tree_1d_dgsem/elixir_advection_diffusion_dirichlet_amr.jl
9
0.0
-100.0% examples/tree_2d_dgsem/elixir_diffusion_steady_state_linear_map.jl
9
94.12
-5.88% src/equations/compressible_euler_quasi_1d.jl
9
30.77
-69.23% src/solvers/dgsem_tree/container_viscous_1d.jl
8
0.0
-100.0% examples/dgmulti_1d/elixir_advection_diffusion_gradient_source_terms.jl
8
0.0
-100.0% examples/dgmulti_2d/elixir_advection_diffusion.jl
8
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_freestream_symmetry.jl
8
0.0
-100.0% examples/tree_1d_dgsem/elixir_advection_diffusion_gradient_source_terms.jl
8
0.0
-100.0% examples/tree_1d_dgsem/elixir_diffusion_ldg.jl
8
0.0
-100.0% examples/tree_1d_dgsem/elixir_diffusion_ldg_newton_krylov.jl
8
79.49
-20.51% src/callbacks_step/analysis_surface_integral.jl
8
83.08
-12.31% src/callbacks_step/time_series.jl
8
88.64
-9.12% src/equations/equations.jl
8
78.45
-6.9% src/equations/numerical_fluxes.jl
8
91.89
-7.21% src/solvers/dgsem/basis_gauss_legendre.jl
8
85.71
-14.29% src/solvers/dgsem_tree/subcell_finite_volume_O2.jl
7
0.0
-100.0% examples/tree_1d_dgsem/elixir_viscous_burgers_n_wave.jl
7
95.18
-3.07% src/callbacks_step/analysis_dg2d.jl
7
92.0
-2.15% src/callbacks_step/analysis.jl
7
92.63
-7.37% src/equations/linear_scalar_advection_2d.jl
7
90.54
-9.46% src/equations/linear_scalar_advection_3d.jl
7
88.33
-2.92% src/solvers/dgmulti/dg_parabolic.jl
7
86.17
-7.45% src/time_integration/relaxation_methods/methods_vanderHouwen.jl
6
0.0
-100.0% examples/p4est_2d_dgsem/elixir_navierstokes_NACA0012airfoil_mach085_restart.jl
6
0.0
-100.0% examples/tree_1d_dgsem/elixir_viscous_burgers_shock.jl
6
98.0
-2.0% src/equations/ideal_glm_mhd_multiion.jl
6
86.08
-7.59% src/time_integration/relaxation_methods/methods_subdiagonal.jl
5
0.0
-100.0% examples/tree_1d_dgsem/elixir_advection_diffusion_neumann_amr.jl
5
58.73
-7.94% src/auxiliary/math.jl
5
75.0
-25.0% src/basic_types.jl
5
83.78
-13.51% src/equations/equations_of_state.jl
5
93.24
-6.76% src/equations/linear_scalar_advection_1d.jl
5
85.71
-11.9% src/equations/traffic_flow_lwr_1d.jl
5
89.55
-3.73% src/solvers/dgsem/indicators.jl
4
86.32
-4.21% src/auxiliary/p4est.jl
4
78.26
-17.39% src/callbacks_step/lbm_collision.jl
4
80.9
-4.49% src/meshes/tree_mesh.jl
4
91.08
-1.23% src/solvers/dg.jl
3
76.6
-6.38% src/equations/linearized_euler_1d.jl
3
82.76
-10.34% src/equations/maxwell_1d.jl
2
0.0
-100.0% examples/dgmulti_2d/elixir_advection_diffusion_periodic.jl
2
86.67
-13.33% examples/p4est_2d_dgsem/elixir_navierstokes_SD7003airfoil.jl
2
66.67
-16.67% src/equations/laplace_diffusion_2d.jl
2
71.43
-14.29% src/equations/laplace_diffusion_3d.jl
2
98.1
-0.95% src/solvers/dgsem_tree/containers_1d.jl
1
99.62
-0.38% src/callbacks_step/amr_dg2d.jl
1
96.92
-1.54% src/callbacks_step/stepsize.jl
1
98.86
-1.14% src/callbacks_step/time_series_dg_tree.jl
1
90.91
-9.09% src/equations/compressible_navier_stokes.jl
Jobs
ID Job ID Ran Files Coverage
1 23497404996.1 24 Mar 2026 04:08PM UTC 606
87.22
GitHub Action Run
Source Files on build 23497404996
  • Tree
  • List 606
  • Changed 159
  • Source Changed 7
  • Coverage Changed 159
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23497404996
  • ae426276 on github
  • Prev Build on main (#23427982289)
  • Next Build on main (#23533124140)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc