@@ -386,6 +386,27 @@ function clean_solution_lagrange_multiplier!(u, equations::ShallowWaterEquations
386386 u[4 ] -= normal_direction[3 ] * x_dot_div_f
387387end
388388
389+ @inline function Trixi. max_abs_speed_naive (u_ll, u_rr, normal_direction:: AbstractVector ,
390+ equations:: ShallowWaterEquations3D )
391+ # Extract and compute the velocities in the normal direction
392+ v1_ll, v2_ll, v3_ll = velocity (u_ll, equations)
393+ v1_rr, v2_rr, v3_rr = velocity (u_rr, equations)
394+ v_ll = v1_ll * normal_direction[1 ] + v2_ll * normal_direction[2 ] +
395+ v3_ll * normal_direction[3 ]
396+ v_rr = v1_rr * normal_direction[1 ] + v2_rr * normal_direction[2 ] +
397+ v3_rr * normal_direction[3 ]
398+
399+ # Compute the wave celerity on the left and right
400+ h_ll = waterheight (u_ll, equations)
401+ h_rr = waterheight (u_rr, equations)
402+
403+ c_ll = sqrt (max (equations. gravity * h_ll, 0.0f0 ))
404+ c_rr = sqrt (max (equations. gravity * h_rr, 0.0f0 ))
405+
406+ # The normal velocities are already scaled by the norm
407+ return max (abs (v_ll), abs (v_rr)) + max (c_ll, c_rr) * norm (normal_direction)
408+ end
409+
389410@inline function Trixi. max_abs_speed (u_ll, u_rr, normal_direction:: AbstractVector ,
390411 equations:: ShallowWaterEquations3D )
391412 # Extract and compute the velocities in the normal direction
0 commit comments