Skip to content

Conversation

@MarcoArtiano
Copy link
Collaborator

In this PR the new performance specialization for the nonconservative fluxes is being used, along with the definition of a new turbo flux, based on the same principles.

@MarcoArtiano MarcoArtiano changed the base branch from main to ma/patch November 26, 2025 10:49
@codecov
Copy link

codecov bot commented Nov 26, 2025

Codecov Report

❌ Patch coverage is 0% with 225 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.00%. Comparing base (a658150) to head (38087dc).

Files with missing lines Patch % Lines
...rc/solvers/dgsem_p4est/dg_3d_compressible_euler.jl 0.00% 225 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           ma/patch     #128      +/-   ##
============================================
- Coverage     97.30%   92.00%   -5.31%     
============================================
  Files            30       31       +1     
  Lines          3903     4128     +225     
============================================
  Hits           3798     3798              
- Misses          105      330     +225     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

# For optimal results consider increasing the resolution to 16x16x8 trees per cube face, i.e.,
# set `trees_per_cube_face = (16, 8)` below.
#
# This elixir takes about 8 hours, using 16 threads of an AMD Ryzen 7 7800X3D.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# This elixir takes about 8 hours, using 16 threads of an AMD Ryzen 7 7800X3D.
# This elixir takes about 1 hours, using 16 threads of an AMD Ryzen 7 7800X3D.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you still using the same hardware as described there?

Base automatically changed from ma/patch to main November 26, 2025 19:36
Comment on lines +16 to +30
@inline Trixi.combine_conservative_and_nonconservative_fluxes(::typeof(flux_kennedy_gruber_souza_etal_turbo),
equations::CompressibleEulerEnergyEquationsWithGravity3D) = Trixi.True()

@inline function flux_lmars_turbo(u_ll, u_rr, normal_direction, equations)
flux = FluxLMARS(340)(u_ll, u_rr, normal_direction, equations)
return flux, flux
end

@inline Trixi.combine_conservative_and_nonconservative_fluxes(::typeof(flux_lmars_turbo), equations::CompressibleEulerEnergyEquationsWithGravity3D) = Trixi.True()

@inline function boundary_condition_slip_wall(u_inner,
normal_direction::AbstractVector,
x, t,
surface_flux_function::typeof(flux_lmars_turbo),
equations::CompressibleEulerEnergyEquationsWithGravity3D)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please add a comment describing what you are doing here and why?

Comment on lines +48 to +50
# Unperturbed balanced steady-state.
# Returns primitive variables with only the velocity in longitudinal direction (rho, u, p).
# The other velocity components are zero.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess the remaining part is just copied from another elixir?

Comment on lines +1 to +3
using Trixi: True, get_contravariant_vector, multiply_add_to_node_vars!, @threaded,
get_surface_node_vars, get_normal_direction, get_node_coords, @turbo, PtrArray,
StrideArray
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
using Trixi: True, get_contravariant_vector, multiply_add_to_node_vars!, @threaded,
get_surface_node_vars, get_normal_direction, get_node_coords, @turbo, PtrArray,
StrideArray
using Trixi: True, get_contravariant_vector, multiply_add_to_node_vars!, @threaded,
get_surface_node_vars, get_normal_direction, get_node_coords, @turbo, PtrArray,
StrideArray, flux_kennedy_gruber

@test_allocations(TrixiAtmo.Trixi.rhs!, semi, sol, 100)
end

@trixi_testset "elixir_euler_energy_baroclinic_instability" begin
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
@trixi_testset "elixir_euler_energy_baroclinic_instability" begin
@trixi_testset "elixir_euler_energy_baroclinic_instability with turbo flux" begin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants