diff --git a/src/solvers/dgsem_tree/dg_2d_subcell_limiters.jl b/src/solvers/dgsem_tree/dg_2d_subcell_limiters.jl index b947d069345..923f0ca1932 100644 --- a/src/solvers/dgsem_tree/dg_2d_subcell_limiters.jl +++ b/src/solvers/dgsem_tree/dg_2d_subcell_limiters.jl @@ -191,10 +191,15 @@ end return nothing end -@inline function get_boundary_outer_state(u_inner, cache, t, - boundary_condition::BoundaryConditionDirichlet, - orientation_or_normal, direction, equations, - dg, indices...) +""" + get_boundary_outer_state(boundary_condition::BoundaryConditionDirichlet, + cache, t, equations, dg, indices...) +For subcell limiting, the calculation of local bounds for non-periodic domains require the boundary +outer state. This function returns the boundary value at time `t` and for node with spatial +indices `indices`. +""" +@inline function get_boundary_outer_state(boundary_condition::BoundaryConditionDirichlet, + cache, t, equations, dg, indices...) (; node_coordinates) = cache.elements x = get_node_coords(node_coordinates, equations, dg, indices...) diff --git a/src/solvers/dgsem_tree/subcell_limiters.jl b/src/solvers/dgsem_tree/subcell_limiters.jl index 1c711c9c017..8269f0dd8de 100644 --- a/src/solvers/dgsem_tree/subcell_limiters.jl +++ b/src/solvers/dgsem_tree/subcell_limiters.jl @@ -20,8 +20,8 @@ end Subcell invariant domain preserving (IDP) limiting used with [`VolumeIntegralSubcellLimiting`](@ref) including: -- maximum/minimum Zalesak-type limiting for conservative variables (`local_minmax_variables_cons`) -- positivity limiting for conservative variables (`positivity_variables_cons`) +- Local maximum/minimum Zalesak-type limiting for conservative variables (`local_minmax_variables_cons`) +- Positivity limiting for conservative variables (`positivity_variables_cons`) The bounds are calculated using the low-order FV solution. The positivity limiter uses `positivity_correction_factor` such that `u^new >= positivity_correction_factor * u^FV`. diff --git a/src/solvers/dgsem_tree/subcell_limiters_2d.jl b/src/solvers/dgsem_tree/subcell_limiters_2d.jl index b4e9b63826d..193b5e6c49d 100644 --- a/src/solvers/dgsem_tree/subcell_limiters_2d.jl +++ b/src/solvers/dgsem_tree/subcell_limiters_2d.jl @@ -141,11 +141,8 @@ end index = reverse(index) boundary_index += 2 end - u_inner = get_node_vars(u, equations, dg, index..., element) - u_outer = get_boundary_outer_state(u_inner, cache, t, - boundary_conditions[boundary_index], - orientation, boundary_index, - equations, dg, index..., element) + u_outer = get_boundary_outer_state(boundary_conditions[boundary_index], cache, + t, equations, dg, index..., element) var_outer = u_outer[variable] var_min[index..., element] = min(var_min[index..., element], var_outer)