1 Introduction

A wealth of advanced stabilization procedures can be found in the literature on second-order finite-element discretizations of hyperbolic problems. In traditional artificial viscosity methods, the amount of nonlinear stabilization is determined using residual-based shock detectors [16, 27, 44, 49]. Limiter-based alternatives adjust numerical fluxes [15, 29, 33, 41] or derivatives of piecewise-polynomial approximations [8, 48, 76, 77]. The purpose of flux/slope limiting is to enforce sufficient conditions for positivity preservation, validity of local discrete maximum principles, and/or entropy stability. Some limiters are formally applicable to arbitrary-order finite elements but “discretization-independent” [20] black-box extensions are far less accurate than piecewise-linear approximations using the same total number of degrees of freedom [23, 42]. Accuracy-preserving limiting procedures for high-order finite elements usually rely on the use of nonoscillatory (WENO) reconstructions [37, 76,77,78], smoothness indicators [7, 28, 51], or subcell flux limiting/shock-capturing techniques [9, 22, 25, 34, 42, 72, 73].

The algebraic flux correction (AFC) schemes that we review and modify in the present paper are based on the methodology that is currently known as convex limiting [15, 22, 29]. The underlying design philosophy traces its origins to localized flux-corrected transport (FCT) algorithms for scalar conservation laws [6, 19, 42]. The first extension to nonlinear hyperbolic systems was proposed by Guermond et al. [15]. In contrast to Zalesak’s multidimensional FCT limiter [75] and its edge-based generalizations to continuous finite-element methods for the Euler equations [32, 33, 42, 43, 65], convex limiting approaches enforce preservation of local and global bounds by constraining individual fluxes rather than sums of fluxes. In the explicit case, the local extremum diminishing (LED) and/or invariant domain-preserving (IDP) properties of flux-limited approximations are shown using representations in terms of intermediate states that stay in convex admissible sets [15, 20].

All the aforementioned FCT algorithms belong to the family of AFC schemes in which the computation of a property-preserving low-order predictor is followed by an anti-diffusive correction stage. The monolithic convex limiting (MCL) methodology developed in [29] differs from such fractional-step approaches in that limited anti-diffusive fluxes are incorporated into the residual of the semi-discrete scheme. The resulting nonlinear system of ordinary differential equations has a well-defined steady state, and the use of implicit time integrators is an option. The IDP property of the explicit version can be shown following the analysis of the low-order (local Lax-Friedrichs) method in [17]. Moreover, the validity of (semi-)discrete entropy inequalities can be enforced using limiter-based or dissipation-based fixes [30, 34].

The first successful extensions of FCT and MCL to high-order finite elements [1, 22, 23, 34, 42] used Bernstein polynomials as local basis functions. In this context, a key to achieving optimal accuracy lies in the use of sparse discrete gradient/Laplacian operators and subcell flux limiting techniques. The discontinuous Galerkin spectral-element methods (DGSEMS) proposed by Pazner [50], Lin et al. [39], and Rueda-Ramírez et al. [61] extend subcell convex limiting of FCT type to Legendre-Gauss-Lobatto (LGL) bases. The underlying low-order method has the structure of the subcell finite-volume scheme employed in [25]. The high-order DGSEM discretization also admits a natural sparse representation in terms of subcell fluxes between neighbor nodes. Hence, there is no need for artificial flux reconstructions or decompositions. Moreover, the mass matrices of collocated LGL-DGSEM approximations are diagonal and the discrete gradient/divergence operators possess summation-by-parts (SBP) properties, which are needed to achieve entropy stability [13].

As an alternative to the LGL versions [39, 50, 58, 61, 74] of high-order FCT algorithms and sophisticated limiters for Bernstein finite elements [22, 34, 35], we introduce a tailor-made LGL-DGSEM counterpart of Hajduk’s [22] subcell MCL scheme for conservation laws. In fact, the proposed methodology is also applicable to any other spatial semi-discretization that produces sparse discrete gradient operators with SBP properties, such as Gauss-DGSEM discretizations [47] or general SBP discretizations of nonconservative systems of balance laws [59, 60]. The flux constraints of the MCL procedure and steady-state solutions are independent of the time step. In the context of subcell flux limiting for the Euler equations of gas dynamics, the density, momentum, and total energy fluxes are limited sequentially to enforce local bounds for the density, individual velocity components, and specific total energy. If the pressure becomes negative, a simple scaling limiter is applied. No local bounds are imposed on the physical entropy because the limiter-based fixes proposed in [30, 34, 35] guarantee entropy stability under less restrictive constraints. The above limiting strategy enables us to achieve high resolution without sacrificing any important properties or using impractically small time steps.

The main contributions of this paper are summarized as follows.

  1. i)

    Application of MCL Method The paper introduces the application of the MCL method to the LGL-DGSEM, enhancing the numerical robustness of the scheme. Notably, this marks the first extension of MCL methods to diagonal-norm SBP operators and, more specifically, to the LGL-DGSEM.

  2. ii)

    Advantages of Nodal Collocated Nature of Diagonal-Norm SBP Operators The authors demonstrate how the nodal collocated nature of diagonal-norm SBP operators simplifies various limiting steps in the MCL strategy. Several advantages arise from this approach, such as the easy construction of low-order IDP schemes due to the existence of a node-wise flux-differencing formula for diagonal-norm SBP operators, simplified derivation of sequential limiters for primitive quantities through the presence of symmetric bar states, and the local implementation of the limiting procedure and a reduced MPI footprint for SBP operators with boundary nodes, as surface fluxes are equal for low- and high-order methods.

  3. iii)

    Explicit Time-Step Restrictions and CFL Dependence The paper provides an in-depth discussion on the explicit time-step restrictions associated with the MCL method. In addition, the behavior of the limiting procedure concerning the user-specified CFL number is thoroughly tested and compared with the more traditional FCT/IDP method. It is shown that the MCL approach exhibits nearly insensitivity to the CFL number, while FCT techniques’ amount of limiting depends on the CFL number.

  4. iv)

    Study of MCL Pressure Limiter In the results section, we present a comparison between two variants of the MCL pressure positivity limiter introduced by Kuzmin [29]. This study provides numerical evidence, for the first time, indicating that one of the MCL pressure limiter variants yields sharper results.

  5. v)

    Open-Source Implementation All the implementations in the paper are carried out using the open-source code Trixi.jl, which is made freely available to the readers. This allows researchers and practitioners to access and use the developed methods, promoting reproducibility and further research in the field.

Overall, the paper presents novel contributions in the context of MCL methods applied to the LGL-DGSEM with diagonal-norm SBP operators. It highlights the advantages of the nodal collocated nature of such operators and provides valuable insights into the explicit time-step restrictions and CFL dependence of the MCL approach compared to traditional FCT techniques. The availability of open-source implementations further strengthens the paper’s impact on the research community.

The remainder of this paper is organized as follows. In Sect. 2, we briefly present the LGL-DGSEM, derive the LGL-DGSEM subcell MCL method, and discuss some of its properties. In Sect. 3, we use the LGL-DGSEM/MCL method to perform challenging simulations of the compressible Euler equations, and present some comparisons with FCT/IDP strategies. Finally, we draw our conclusions in Sect. 4.

2 Numerical Methods

In this work, we deal with hyperbolic systems of conservation laws of the form

(1)

where \(\Omega \subseteq {\mathbb {R}}^{D}\) is a computational domain. The number of space dimensions is \(D\in \{1,2,3\}\). The vector \(\textbf{u}(\textbf{x},t)\in {\mathbb {R}}^{n_\textrm{eq}}\) of conserved quantities depends on the space location \(\textbf{x}\) and the time instant t. The flux function depends on \(\textbf{u}:{{\bar{\Omega }}} \times {\mathbb {R}}_0^+\rightarrow {\mathcal {G}}\). The set \({\mathcal {G}}\subseteq {\mathbb {R}}^{n_{\textrm{eq}}}\) is called an invariant domain if \({\mathcal {G}}\) is convex and \(\textbf{u}(\textbf{x},t)\in {\mathcal {G}}\) for all \((\textbf{x},t)\in {{\bar{\Omega }}} \times {\mathbb {R}}^+_0\). System (1) is equipped with an initial condition, \(\textbf{u}(\cdot ,0)=\textbf{u}_0\), and suitable boundary conditions on \(\partial \Omega \).

For brevity and better readability, we introduce the methods under investigation in the simple context of a one-dimensional (\(D=1\)) conservation law or system. All algorithms to be discussed admit straightforward tensor-product extensions to two and three space dimensions, and to curvilinear grids, as detailed in Appendix B.

2.1 The DGSEM

Let \({\mathcal {T}} = \lbrace \Omega ^1, \cdots , \Omega ^K \rbrace \) be a tessellation of the domain \(\Omega \) into K non-overlapping elements. Within each element, we approximate the solution \(\textbf{u}\) by a polynomial of degree N. A piecewise-polynomial DG approximation \(\mathbf {u^{{\textrm{DG}}}}\approx \textbf{u}\) may be discontinuous at the element interfaces. We seek \(\mathbf {u^{{\textrm{DG}}}}\) in the space

$$\begin{aligned} {\mathcal {V}}^N = \lbrace \phi \in L^2(\Omega )\!:\phi |_{\Omega ^e} \in {\mathcal {P}}^N(\Omega ^e), \, \forall \Omega ^e \in {\mathcal {T}} \rbrace . \end{aligned}$$

Restricting our attention to a single element \(\Omega ^e\), we multiply (1) by an arbitrary polynomial test function \(\varvec{\phi }\in ({\mathcal {P}}^N(\Omega ^e))^{n_\textrm{eq}}\), integrate the weighted residual over \(\Omega ^e\), and perform integration by parts to obtain the weak form

(2)

of the local conservation law. Since \(\textbf{u}^{{\textrm{DG}}}\) is generally not uniquely defined at the element interfaces, we calculate using an approximate Riemann solver that receives two one-sided limits and returns a numerical flux.

The LGL-DGSEM is a so-called nodal collocation variant of the DG method. It produces discrete gradient/divergence operators that possess SBP properties [13]. The restriction of \(\textbf{u}^{{\textrm{DG}}}\) to \(\Omega ^e\) is represented using Lagrange basis functions that are associated with \((N+1)^{D}\) LGL interpolation points. The quadrature rule for numerical integration on \(\Omega ^e\) uses the LGL collocation nodes on the reference element \({\tilde{\Omega }}=[-1,1]^{D}\). A mapping \(F^e\!\!: {\tilde{\Omega }}\rightarrow \Omega ^e\) is used for transformations from the reference space to the physical space (\(\mathbf {\xi }\mapsto \textbf{x}\) for \(\mathbf {\xi } \in {\tilde{\Omega }}\) and \(\textbf{x}=F^e(\xi )\in \Omega ^e\)). After some manipulations, the evolution equation for the ith local degree of freedom of a one-dimensional LGL-DGSEM discretization of (1) on \(\Omega ^e\) can be written as [56, 61]

$$\begin{aligned} J \omega _i \dot{\textbf{u}}^{{\textrm{DG}}}_i + \sum _{k=0}^N {\bar{S}}_{ik} \textbf{f}_{k} - \delta _{i0} \hat{\textbf{f}} _{(0,L)} + \delta _{iN} \hat{\textbf{f}} _{(N,R)} = \textbf{0}, \end{aligned}$$
(3)

where J denotes the constant determinant of the Jacobian of the mapping from the reference element, \(\omega _i\) denotes the reference-space quadrature weight, and \(\delta _{ij}\) is the Kronecker delta of the node indices i and j. The numerical fluxes \(\hat{\textbf{f}} _{(0,L)}\) and \(\hat{\textbf{f}} _{(N,R)}\) are calculated using the inner and outer limits of \(\textbf{u}^{{\textrm{DG}}}\) on the boundaries of the element \(\Omega ^e=(x_0^e,x_N^e)\) containing the LGL nodal point \(x_i^e\). The strong form derivative matrix \(\bar{\underline{\textbf{S}}} =( {\bar{S}}_{ik})_{i,k=0}^N\) admits the representation

$$\begin{aligned} \bar{\underline{\textbf{S}}} = \underline{\textbf{Q}} - \underline{\textbf{B}}, \end{aligned}$$

where \(\underline{\textbf{B}}:= \text {diag} (-1, 0, \cdots , 0, 1)\) is the so-called boundary evaluation matrix. The entries \(Q_{ij}:= \omega _i \ell '_j(\xi _i)\) of the weak form derivative matrix \(\underline{\textbf{Q}}=(Q_{ij})_{i,k=0}^N\) are defined using the derivatives of the Lagrange basis polynomials \(\{ \ell _i \}_{i=0}^N\).

Using the skew-symmetric matrix \({\underline{\textbf{S}}} = 2\underline{\textbf{Q}} - \underline{\textbf{B}} = \underline{\textbf{Q}} - \underline{\textbf{Q}}^\textrm{T}\), whose entries we denote by \(S_{ik}\), the discretized volume integral can be expressed in terms of two-point numerical fluxes \(\textbf{f}^{*}_{(i,k)}\) [10]. The semi-discrete scheme

$$\begin{aligned} J \omega _i \dot{\textbf{u}}^{{\textrm{DG}}}_i + \sum _{k=0}^N S_{ik} \textbf{f}^{*}_{(i,k)} - \delta _{i0} \hat{\textbf{f}} _{(0,L)} + \delta _{iN} \hat{\textbf{f}} _{(N,R)} = \textbf{0} \end{aligned}$$
(4)

is equivalent to (3) if the standard average \(\textbf{f}^*_{(i,k)} = (\textbf{f}_i+\textbf{f}_k)/2\) is used. However, additional robustness can be achieved with other choices of the volumetric numerical flux \(\textbf{f}^{*}_{(i,k)}\). For instance, some two-point approximations to fluxes of the Euler equations guarantee kinetic energy preservation [14], entropy conservation/dissipation [4, 26], pressure equilibrium preservation [66], or all of these properties together [54, 55].

All diagonal-norm SBP discretizations of conservation laws (and hence also the LGL-DGSEM considered here) can be written in the so-called flux-differencing form [10]

$$\begin{aligned} J \dot{\textbf{u}}^{{\textrm{DG}}}_{i} = \frac{1}{\omega _i} \left( \hat{\textbf{f}} ^{{\textrm{DG}}}_{(i-1,i)} - \hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,i+1)} \right) , \quad \forall i=0, \cdots , N, \end{aligned}$$
(5)

where the indices \(-1\) and \(N+1\) refer to the outer states. The symmetric and consistent fluxes \(\hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,j)}=\hat{\textbf{f}} ^{{\textrm{DG}}}_{(j,i)}\) are defined by [10, 61]

$$\begin{aligned} \hat{\textbf{f}} ^{{\textrm{DG}}}_{(-1,0)}&= \hat{\textbf{f}} _{(0,L)}, \end{aligned}$$
(6)
$$\begin{aligned} \hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,i+1)}&= \sum _{l=0}^i \sum _{k=0}^N S_{lk} \textbf{f}^{*}_{(l,k)},&i=0, \cdots , N-1, \end{aligned}$$
(7)
$$\begin{aligned} \hat{\textbf{f}} ^{{\textrm{DG}}}_{(N,N+1)}&= \hat{\textbf{f}} _{(N,R)}. \end{aligned}$$
(8)

Note that the flux \(\hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,j)}\) is multiplied by the one-dimensional unit normal \(n_{(i,j)}\in \{-1,1\}\) in (5). The normal fluxes \(n_{(i,j)} \hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,j)}\) are anti-symmetric, that is, \(n_{(i,j)}\hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,j)}=-n_{(j, i)} \hat{\textbf{f}} ^{{\textrm{DG}}}_{(j,i)}\).

Hence, (4) has local (subcell-level) conservation properties, as required by the Lax-Wendroff theorem [38].

Remark 1

Let \(\Delta x_i=J\omega _i\). Then, (5) corresponds to the subcell finite-volume scheme

$$\begin{aligned} \dot{\textbf{u}}^{{\textrm{DG}}}_{i} =-\frac{\hat{\textbf{f}} _{i+1/2}^{{\textrm{DG}}}-\hat{\textbf{f}} _{i-1/2}^{{\textrm{DG}}}}{\Delta x_i}, \quad \forall i=0, \cdots , N, \end{aligned}$$

where \(\hat{\textbf{f}} _{i+1/2}^{{\textrm{DG}}}=\hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,i+1)}\) and \(\hat{\textbf{f}} _{i-1/2}^{{\textrm{DG}}}=\hat{\textbf{f}} ^{{\textrm{DG}}}_{(i-1,i)}\). We adopt the two-subscript notation because it

is better suited for flux-based finite-element discretizations.

Remark 2

Since the LGL-DGSEM is a diagonal-norm SBP operator, its representation in the flux-differencing form (5)–(8) is readily available. Other DG approximations with dense mass matrices need the application of a sparsification operator to recover the flux-differencing form. Examples of decompositions into subcell fluxes can be found, e.g., in [22, 34, 73]. For a DG method using Bernstein polynomials of degree \(N>1\) as local basis functions, \(n_\textrm{eq}\) sparse linear systems of size \((N+1) \times (N+1)\) need to be solved for each element in each Runge-Kutta stage [22, 34]. Vilar [72] showed that it is possible to obtain a flux-differencing formula for any (modal or nodal) representation of the DG solution if one expresses the test function as a combination of so-called subresolution basis functions and exploits existing relationships to the histopolation theory. An adaptation to unstructured triangular grids was proposed by Vilar and Abgrall [73], who parametrized \(\textbf{u}^{{\textrm{DG}}}\) in terms of subcell averages that satisfy a two-dimensional version of (5). The calculation of subcell fluxes involves solving small linear systems with sparse graph Laplacians again.

Remark 3

Mateo-Gabín et al. [47] showed that (both standard and split-form versions of) the Legendre-Gauss DGSEM scheme can also be written in the flux-differencing form with explicit staggered fluxes and a diagonal mass matrix. As a result, most of the algorithms to be presented in this paper are applicable to the Legendre-Gauss DGSEM. However, the treatment of inter-element fluxes and projection operators requires additional analysis and, possibly, appropriate modifications.

2.2 MCL

The MCL methodology [22, 29, 34] is a subcell flux correction procedure that combines a high-order baseline discretization with a compatible and invariant domain preserving low-order scheme. The validity of physical and numerical admissibility conditions is enforced using a representation in terms of intermediate states (similarly to the predictor-corrector approaches proposed in [15, 20, 39, 50, 61]). Flux limiters for semi-discrete MCL schemes can be designed to enforce entropy stability conditions in addition to local and/or global maximum principles [30, 35]. To minimize the levels of low-order numerical dissipation, localized subcell limiting procedures are used for high-order finite elements [22, 34, 35]. Moreover, sequential MCL algorithms for systems support the possibility of using individually chosen correction factors for different conserved or derived quantities [22, 29].

2.2.1 Low-Order IDP Scheme

As explained in [25], one can obtain a low-order finite-volume scheme that is compatible with the LGL-DGSEM discretization by interpreting the nodal values of the DGSEM scheme as mean values of the subcells. Let

$$\begin{aligned} J \dot{\textbf{u}}^{{\textrm{FV}}}_{i} = \frac{1}{\omega _i} \left( \hat{\textbf{f}} ^{{\textrm{FV}}}_{(i-1,i)} - \hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,i+1)} \right) , \quad \forall i=0, \cdots , N, \end{aligned}$$
(9)

where \(\hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,j)}\) is a low-order numerical approximation to the flux between nodes i and \(j\). Such a subcell FV scheme exhibits the same structure as (5). Therefore, the two schemes are compatible and can be hybridized.

It has been shown that (9) is IDP for the first-order Rusanov (also known as local Lax-Friedrichs, LLF) fluxes [50, 61]

$$\begin{aligned} \hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,j)} = \frac{\textbf{f}_{i} + \textbf{f}_{j}}{2} - (i - j)\,\frac{\lambda ^{\max }_{(i,j)}}{2}(\textbf{u}_i - \textbf{u}_{j}), \end{aligned}$$
(10)

where \(\lambda ^{\max }_{(i,j)} = \lambda ^{\max }_{(j,i)}>0\) is an upper bound for the maximum wave speed of the Riemann problem with the initial states \(\textbf{u}_i\) and \(\textbf{u}_{j}\). Estimation of this speed is addressed, e.g., in [18]. In our notation, the presence of \((i - j)\) in the dissipative part of (10) ensures that the flux \(\hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,j)}=\hat{\textbf{f}} ^{{\textrm{FV}}}_{(j,i)}\) is symmetric. The multiplication by the unit normal \(n_{(i,j)}=-n_{(j, i)}\) makes it anti-symmetric.

Inserting the Rusanov fluxes (10) into (9) and using the forward Euler method for time integration yields a fully discrete version of the low-order scheme. Following Guermond and Popov [17], we write it in the form

$$\begin{aligned} \textbf{u}_i^{{\textrm{FV}},n+1}&= \left( 1 - \frac{\Delta t}{J\omega _i}\left( \lambda ^{\max }_{(i,i-1)}+\lambda ^{\max }_{(i,i+1)}\right) \right) \textbf{u}_i^n\nonumber \\&\qquad + \frac{\Delta t}{J\omega _i}\,\lambda ^{\max }_{(i,i-1)}\, \overline{\textbf{u}}_{(i,i-1)}^n + \frac{\Delta t}{J\omega _i}\,\lambda ^{\max }_{(i,i+1)}\, \overline{\textbf{u}}_{(i,i+1)}^n \end{aligned}$$
(11)

using the auxiliary bar states

$$\begin{aligned} \overline{\textbf{u}}_{(i,j)}:= \frac{\textbf{u}_{i} + \textbf{u}_{j}}{2} - (i -j)\,\frac{\textbf{f}_{i} - \textbf{f}_{j}}{2\,\lambda ^{\max }_{(i,j)}}. \end{aligned}$$
(12)

If the time-step size \(\Delta t\) satisfies the CFL condition

$$\begin{aligned} \Delta t \leqslant \frac{J\omega _i}{\lambda _{(i,i-1)}^{\max }+\lambda _{(i,i+1)}^{\max }}, \end{aligned}$$
(13)

then the result \(\textbf{u}_i^{{\textrm{FV}},n+1}\) of the explicit update (11) is a property-preserving convex combination of the states \(\textbf{u}_i^n\) and \(\overline{\textbf{u}}_{(i,i\pm 1)}^n\). We discuss the time-step restriction in Sect. 2.2.4.

The most important property of the so-defined LLF bar states is that they preserve all convex invariants of initial value problems for hyperbolic systems, as shown in [17] in the context of a continuous (multi-)linear finite-element discretization. In fact, \(\overline{\textbf{u}}_{(i,j)}\) defined by (12) is the intermediate state of the HLL approximate Riemann solver [24]. Positivity preservation and the validity of entropy conditions can be deduced from this interpretation.

Remark 4

The bar states (12) of the (semi-discrete or fully discrete) low-order LLF scheme are symmetric in the sense that \(\overline{\textbf{u}}_{(i,j)} = \overline{\textbf{u}}_{(j,i)}\) for any pair of adjacent nodes with local indices \(i \in \{0,\cdots ,N\}\) and \(j\in \lbrace i-1, i+1 \rbrace \).

Remark 5

To obtain compatible low-order IDP schemes for general high-order DG methods, it is necessary to first replace the discrete gradient/divergence operators with sparse approximations and then apply low-order dissipation (e.g., using a sparse graph Laplacian operator as in [22, 23]). For our LGL-DGSEM scheme and, in general, for all diagonal-norm SBP operators, the low-order IDP scheme (9) is readily available and compatible with the flux-differencing form (5) of (4).

2.2.2 Limiting Procedure

To enforce relevant inequality constraints, we replace (5) with (cf. [22, 34])

$$\begin{aligned} J \dot{\textbf{u}}_{i} = \frac{1}{\omega _i} \left( \hat{\textbf{f}} _{(i-1,i)} - \hat{\textbf{f}} _{(i,i+1)} \right) , \quad \forall i=0, \cdots , N. \end{aligned}$$
(14)

In the simplest case, the hybrid subcell fluxes \(\hat{\textbf{f}} _{(i,j)}\in {\mathbb {R}}^{n_\textrm{eq}}\) are given by

$$\begin{aligned} \hat{\textbf{f}} _{(i,j)} = \varvec{\alpha }_{(i,j)} \circ \hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,j)} + (\textbf{1}-\varvec{\alpha }_{(i,j)}) \circ \hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,j)}, \end{aligned}$$
(15)

where \(\circ \) denotes the Hadamard (or component-wise) product. The scalar-valued components of \(\varvec{\alpha }_{(i,j)}\in {\mathbb {R}}^{n_\textrm{eq}}\) are weights that attain values between 0 and 1. The high-order DG method (5) and the low-order FV scheme (9) can be recovered using \(\varvec{\alpha }_{(i,j)}=\textbf{1}\) and \(\varvec{\alpha }_{(i,j)}=\textbf{0}\), respectively.

As detailed in the next section, the computation of \(\varvec{\alpha }_{(i,j)}\) might not be numerically well posed. Therefore, it should be avoided in practical implementations if there is a direct way to calculate the fluxes \(\hat{\textbf{f}} _{(i,j)}\).

Remark 6

If \(\hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,j)}=\hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,j)}\) for \(j\in \{-1,N+1\}\), then the DG and FV schemes use the same two-point flux approximation on the boundaries of \(\Omega ^e=(x_0^e,x_N^e)\). In this case, formula (15) will produce \(\hat{\textbf{f}} _{(i,j)}= \hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,j)}=\hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,j)} \) for any choice of \(\varvec{\alpha }_{(i,j)}\). This desirable property of boundary fluxes is specific to the LGL-DGSEM discretization because it includes the boundary nodes. It leads to a very local implementation of the limiting procedure.

Since the low-order component of \(\hat{\textbf{f}} _{(i,j)}\) is provably IDP, the purpose of subcell limiting is to constrain the anti-diffusive components

$$\begin{aligned} \Delta \hat{\textbf{f}} _{(i,j)} = (i -j)\,\left( \hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,j)} - \hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,j)} \right) \end{aligned}$$
(16)

of the fluxes \(\hat{\textbf{f}} ^{{\textrm{DG}}}_{(i-1,i)} = \hat{\textbf{f}} ^{{\textrm{FV}}}_{(i-1,i)} + \Delta \hat{\textbf{f}} _{(i-1,i)}\) and \(\hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,i+1)} = \hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,i+1)} - \Delta \hat{\textbf{f}} _{(i,i+1)}\).

Remark 7

The so-called anti-diffusive flux \(\Delta \hat{\textbf{f}} _{(i,j)} = - \Delta \hat{\textbf{f}} _{(j,i)}\) is anti-symmetric because the fluxes \(\hat{\textbf{f}} ^{{\textrm{DG}}}_{(i,j)}=\hat{\textbf{f}} ^{{\textrm{DG}}}_{(j,i)}\) and \(\hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,j)}=\hat{\textbf{f}} ^{{\textrm{FV}}}_{(j,i)}\) are symmetric.

With this notation, the high-order update can be written as

$$\begin{aligned} J\omega _i\frac{\textbf{u}_i^{{\textrm{DG}},n+1} - \textbf{u}_i^{n}}{\Delta t} = \hat{\textbf{f}} ^{{\textrm{FV}},n}_{(i-1,i)} - \hat{\textbf{f}} ^{{\textrm{FV}},n}_{(i,i+1)} + \Delta \hat{\textbf{f}} _{(i,i-1)}^n + \Delta \hat{\textbf{f}} _{(i,i+1)}^n. \end{aligned}$$
(17)

Using the representation of the flux difference \(\hat{\textbf{f}} ^{{\textrm{FV}}}_{(i-1,i)} - \hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,i+1)}\) in terms of the bar states defined by (12), we find that

$$\begin{aligned} \begin{aligned} \textbf{u}_i^{{\textrm{DG}},n+1}&= \left( 1 - \frac{\Delta t}{J\omega _i}\left( \lambda ^{\max }_{(i,i-1)}+\lambda ^{\max }_{(i,i+1)}\right) \right) \textbf{u}_i^n\\&\qquad + \frac{\Delta t}{J\omega _i}\,\lambda ^{\max }_{(i,i-1)}\, \overline{\textbf{u}}_{(i,i-1)}^n + \frac{\Delta t}{J\omega _i}\,\lambda ^{\max }_{(i,i+1)}\, \overline{\textbf{u}}_{(i,i+1)}^n\\&\qquad + \frac{\Delta t}{J\omega _i}\left( \Delta \hat{\textbf{f}} _{(i,i-1)}^n + \Delta \hat{\textbf{f}} _{(i,i+1)}^n\right) . \end{aligned} \end{aligned}$$
(18)

We can now define the bar state of the high-order method as

$$\begin{aligned} \overline{\textbf{u}}^{{\textrm{DG}}}_{(i,j)} = \overline{\textbf{u}}_{(i,j)} + \frac{\Delta \hat{\textbf{f}} _{(i,j)}}{\lambda ^{\max }_{(i,j)}}, \end{aligned}$$
(19)

and cast (18) into the bar-state form

$$\begin{aligned} \begin{aligned} \textbf{u}_i^{{\textrm{DG}},n+1}&=\left( 1 - \frac{\Delta t}{J\omega _i}\left( \lambda ^{\max }_{(i,i-1)}+\lambda ^{\max }_{(i,i+1)}\right) \right) \textbf{u}_i^n \\&\qquad + \frac{\Delta t}{J\omega _i}\,\lambda ^{\max }_{(i,i-1)}\, \overline{\textbf{u}}_{(i,i-1)}^{{\textrm{DG}},n} + \frac{\Delta t}{J\,\omega _i}\,\lambda ^{\max }_{(i,i+1)}\, \overline{\textbf{u}}_{(i,i+1)}^{{\textrm{DG}},n} \end{aligned} \end{aligned}$$
(20)

which has the same structure as (11).

Following the derivation of MCL schemes for Lagrange and Bernstein finite elements [22, 29, 34], we replace the DG bar states defined by (19) with

$$\begin{aligned} \overline{\textbf{u}}^\textrm{Lim}_{(i,j)} = \overline{\textbf{u}}_{(i,j)} + \frac{\Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}}{\lambda ^{\max }_{(i,j)}}, \end{aligned}$$
(21)

where \(\Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}= (i -j)\,\left( \hat{\textbf{f}} _{(i,j)} - \hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,j)} \right) \) is a limited approximation to \(\Delta \hat{\textbf{f}} _{(i,j)}\). In contrast to the low-order component \(\overline{\textbf{u}}_{(i,j)} = \overline{\textbf{u}}_{(j,i)}\), the limited bar state (21) is generally not symmetric due to the skew-symmetry of \(\Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}=-\Delta \hat{\textbf{f}} ^\textrm{Lim}_{(j,i)}\).

The MCL bar states \(\overline{\textbf{u}}^\textrm{Lim}_{(i,j)}\) should satisfy the same inequality constraints as \(\overline{\textbf{u}}_{(i,j)}\) and stay as close as possible to the high-order target \(\overline{\textbf{u}}^{{\textrm{DG}}}_{(i,j)}\). The forward Euler time discretization should be replaced with a high-order Runge-Kutta method. For SSP-RK schemes with forward Euler stages, the IDP property can be shown in the same way as for the low-order scheme [22, 29]. A general Runge-Kutta method may require flux limiting in time [36, 53].

The convex limiting techniques employed in [15, 20, 39, 50, 61] differ from MCL in that they split the computation of \(\textbf{u}_i^{{\textrm{DG}},n+1}\) into a low-order IDP update and an anti-diffusive correction stage. This predictor-corrector strategy is also used in older FCT-type algorithms for finite-element discretizations of hyperbolic systems [32, 33, 42, 43, 65]. In contrast to MCL, the resulting schemes have no semi-discrete counterparts. Moreover, the bounds of the limiting constraints depend on the time step. Depending on the application, this peculiarity of FCT/IDP approaches may be an advantage or a disadvantage.

We will now describe the computation of the limited anti-diffusive fluxes \(\Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}\) for the MCL version with generic bounds. Appropriate definitions of the bounds are discussed in Sect. 2.2.3.

Limiter for conservative quantities The simplest limiting strategy for systems is to treat each equation as a scalar conservation law and to limit the anti-diffusive fluxes of each conserved variable individually. Let \(\rho \) be a scalar component of \(\textbf{u}\). We denote by \({\overline{\rho }}_{(i,j)}\) and \(\Delta \hat{{f}} ^{\rho ,\textrm{Lim}}_{(i,j)}\)

the corresponding components of \(\overline{\textbf{u}}_{(i,j)}\) and \(\Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}\), respectively. To keep \({\overline{\rho }}_{(i,j)}^\textrm{Lim}\) and \({\overline{\rho }}_{(j,i)}^\textrm{Lim}\) in the range \([\rho ^{\min }_i,\rho ^{\max }_i]\), we impose the inequality constraints

$$\begin{aligned} \rho ^{\min }_i \leqslant {\overline{\rho }}_{(i,j)} + \frac{\Delta \hat{{f}} ^{\rho ,\textrm{Lim}}_{(i,j)}}{\lambda ^{\max }_{(i,j)}} \leqslant \rho ^{\max }_i, ~~~~ \rho ^{\min }_j \leqslant {\overline{\rho }}_{(i,j)} - \frac{\Delta \hat{{f}} ^{\rho ,\textrm{Lim}}_{(i,j)}}{\lambda ^{\max }_{(i,j)}} \leqslant \rho ^{\max }_j. \end{aligned}$$
(22)

A positive/negative anti-diffusive flux \(\Delta \hat{{f}} ^{\rho ,\textrm{Lim}}_{(i,j)}\) may violate the upper/lower bound for \({\overline{\rho }}_{(i,j)}^\textrm{Lim}\) or the lower/upper bound for \({\overline{\rho }}_{(j,i)}^\textrm{Lim}\). Introducing

$$\begin{aligned} \Delta \hat{{f}} ^{\rho ,+}_{(i,j)}&= \lambda ^{\max }_{(i,j)} \min \lbrace \rho ^{\max }_i - {\overline{\rho }}_{(i,j)}, {\overline{\rho }}_{(i,j)} - \rho ^{\min }_j \rbrace , \\ \Delta \hat{{f}} ^{\rho ,-}_{(i,j)}&= \lambda ^{\max }_{(i,j)} \max \lbrace \rho ^{\min }_i - {\overline{\rho }}_{(i,j)}, {\overline{\rho }}_{(i,j)} - \rho ^{\max }_j \rbrace , \end{aligned}$$

we define [22, 29]

$$\begin{aligned} \Delta \hat{{f}} ^{\rho ,\textrm{Lim}}_{(i,j)} = {\left\{ \begin{array}{ll} \min \lbrace \Delta \hat{{f}} ^{\rho }_{(i,j)}, \Delta \hat{{f}} ^{\rho ,+}_{(i,j)}\rbrace &{} \textrm{if}~ \Delta \hat{{f}} ^{\rho }_{(i,j)} \geqslant 0, \\ \max \lbrace \Delta \hat{{f}} ^{\rho }_{(i,j)}, \Delta \hat{{f}} ^{\rho ,-}_{(i,j)} \rbrace &{} \mathrm {otherwise.} \end{array}\right. } \end{aligned}$$
(23)

It is easy to verify that conditions (22) are met for this choice of \(\Delta \hat{{f}} ^{\rho ,\textrm{Lim}}_{(i,j)}\). Moreover, there exists \(\alpha ^{\rho }_{(i,j)}\in [0,1]\) such that \(\Delta \hat{{f}} ^{\rho ,\textrm{Lim}}_{(i,j)}=\alpha ^{\rho }_{(i,j)} \Delta \hat{{f}} ^{\rho }_{(i,j)}\) and

$$\begin{aligned} \hat{{f}} ^{\rho }_{(i,j)} =\hat{{f}} ^{\rho ,{\textrm{FV}}}_{(i,j)} + \frac{\Delta \hat{{f}} ^{\rho ,\textrm{Lim}}_{(i,j)}}{i-j}= {\alpha }^{\rho }_{(i,j)} \hat{{f}} ^{\rho ,{\textrm{DG}}}_{(i,j)} + ({1}-{\alpha }^{\rho }_{(i,j)}) \hat{{f}} ^{\rho ,{\textrm{FV}}}_{(i,j)} \end{aligned}$$
(24)

is a convex combination of the FV and DG fluxes. Kuzmin [29] noticed that the computation of \(\alpha ^{\rho }_{(i,j)}= \Delta \hat{{f}} ^{\rho ,\textrm{Lim}}_{(i,j)}/\Delta \hat{{f}} ^{\rho }_{(i,j)}\) is unnecessary and numerically ill posed in the case of a small nonvanishing denominator. The direct computation of the limited anti-diffusive flux (23) is, therefore, preferable in practice.

Sequential limiter forprimitivequantities In some situations, we are interested in imposing bounds on scalar quantities that are not included in the state vector \(\textbf{u}\). If the quantity of interest represents the ratio of two conservative variables, we can use the sequential limiting approach proposed in [8, 29]. For instance, components of the velocity field, \(\textbf{v} = (\rho \textbf{v}) / \rho \), and the total specific energy, \(E = (\rho E) / \rho \), of the Euler equations of gas dynamics (see Appendix A) might belong to the set of control variables.

Let \(\rho \) and \(\rho \phi \) be generic conservative variables. Moreover, let the bar states of the \(\phi \) variable be defined as [29]

(25)

which are symmetric in the LGL-DGSEM version. This property is a further advantage compared to Bernstein-basis DG methods [22].

The first stage of a sequential MCL algorithm [22, 29] limits \(\Delta \hat{{f}} ^{\rho }_{(i,j)}\) using (23) to impose \({\overline{\rho }}_{(i,j)} \in [\rho ^{\min }_i,\rho ^{\max }_i]\). To ensure that all bar states of \(\phi \) are within bounds, \({\overline{\phi }}_{(i,j)}\in [\phi ^{\min }_i,\phi ^{\max }_i]\), the second stage limits \(\Delta \hat{{f}} ^{\rho \phi }_{(i,j)}\) using a discrete version of the product rule \((\rho \phi )'=\rho '\phi +\phi '\rho \).

The inequality constraints to be enforced in the second stage are given by

$$\begin{aligned} {\overline{\rho }}^\textrm{Lim}_{(i,j)} \phi ^{\min }_i \leqslant {\overline{\rho }}^\textrm{Lim}_{(i,j)} {\overline{\phi }}_{(i,j)} + \frac{\Delta \hat{{g}} ^{\phi ,\textrm{Lim}}_{(i,j)}}{\lambda ^{\max }_{(i,j)}} \leqslant {\overline{\rho }}^\textrm{Lim}_{(i,j)} \phi ^{\max }_i, \end{aligned}$$
(26)

where \(\Delta \hat{{g}} ^{\phi ,\textrm{Lim}}_{(i,j)}\) is a limited approximation to

$$\begin{aligned} \Delta \hat{{g}} ^{\phi }_{(i,j)} =\Delta \hat{{f}} ^{\rho \phi }_{(i,j)} - \lambda ^{\max }_{(i,j)} \left( {\overline{\rho }}^\textrm{Lim}_{(i,j)} {\overline{\phi }}_{(i,j)} - \overline{(\rho \phi )}_{(i,j)} \right) . \end{aligned}$$
(27)

It is easy to verify that conditions (26) are equivalent to

$$\begin{aligned} {\overline{\rho }}^\textrm{Lim}_{(i,j)} \phi ^{\min }_i \leqslant \overline{(\rho \phi )}_{(i,j)} + \frac{\Delta \hat{{f}} ^{\rho \phi ,\textrm{Lim}}_{(i,j)}}{\lambda ^{\max }_{(i,j)}} \leqslant {\overline{\rho }}^\textrm{Lim}_{(i,j)} \phi ^{\max }_i, \end{aligned}$$
(28)

where

$$\begin{aligned} \Delta \hat{{f}} ^{\rho \phi ,\textrm{Lim}}_{(i,j)} = \Delta \hat{{g}} ^{\phi ,\textrm{Lim}}_{(i,j)}+ \lambda ^{\max }_{(i,j)} \left( {\overline{\rho }}^\textrm{Lim}_{(i,j)} {\overline{\phi }}_{(i,j)} - \overline{(\rho \phi )}_{(i,j)} \right) . \end{aligned}$$
(29)

We use the bounding fluxes

$$\begin{aligned} \Delta \hat{{g}} ^{\phi ,+}_{(i,j)}&= \lambda ^{\max }_{(i,j)} {\overline{\rho }}^\textrm{Lim}_{(i,j)} \min \lbrace \phi ^{\max }_i - {\overline{\phi }}_{(i,j)}, {\overline{\phi }}_{(i,j)} - \phi ^{\min }_j \rbrace ,\\ \Delta \hat{{g}} ^{\phi ,-}_{(i,j)}&= \lambda ^{\max }_{(i,j)} {\overline{\rho }}^\textrm{Lim}_{(i,j)} \max \lbrace \phi ^{\min }_i - {\overline{\phi }}_{(i,j)}, {\overline{\phi }}_{(i,j)} - \phi ^{\max }_j \rbrace \end{aligned}$$

to define

$$\begin{aligned} \Delta \hat{{g}} ^{\phi ,\textrm{Lim}}_{(i,j)} = {\left\{ \begin{array}{ll} \min \lbrace \Delta \hat{{g}} ^{\phi }_{(i,j)}, \Delta \hat{{g}} ^{\phi ,+}_{(i,j)} \rbrace &{} \textrm{if}~ \Delta \hat{{g}} ^{\phi }_{(i,j)} \geqslant 0, \\ \max \lbrace \Delta \hat{{g}} ^{\phi }_{(i,j)}, \Delta \hat{{g}} ^{\phi ,-}_{(i,j)} \rbrace &{} \mathrm {otherwise.} \end{array}\right. } \end{aligned}$$
(30)

This definition, which is similar to (23), guarantees the validity of (28) and of the corresponding constraints for the flux-corrected bar state \(\overline{(\rho \phi )}_{(j,i)}^\textrm{Lim}\). The limited anti-diffusive flux \(\Delta \hat{{f}} ^{\rho \phi ,\textrm{Lim}}_{(i,j)}\) is calculated using formula (29).

Remark 8

By definition (30), there exists an effective limiting factor \(\alpha ^{\phi }\in [0,1]\) such that \(\Delta \hat{{g}} ^{\phi ,\textrm{Lim}}_{(i,j)}=\alpha ^{\phi } \Delta \hat{{g}} ^{\phi }_{(i,j)}\). However, the value of \(\alpha ^{\rho \phi }\) corresponding to the identity \(\Delta \hat{{f}} ^{\rho \phi ,\textrm{Lim}}_{(i,j)}=\alpha ^{\rho \phi } \Delta \hat{{f}} ^{\rho \phi }_{(i,j)}\) does not necessarily lie in the range [0, 1].

Remark 9

In contrast to (the LGL-DGSEM counterpart of) the sequential FCT algorithm presented in [61], our MCL scheme uses \({\overline{\rho }}^\textrm{Lim}_{(i,j)}\) rather than \(\rho _i^{n+1}\) in the inequality constraints (28). This choice of numerical admissibility conditions does not generally guarantee that \(\phi _i^{n+1}:=(\rho \phi )_i^{n+1}/\rho _i^{n+1}\in [\phi _i^{\min }, \phi _i^{\max }]\). However, in the case of constant solutions for \(\phi \), it implies the validity of the geometric conservation law

$$\begin{aligned} \phi _i^{\min }={{\bar{\phi }}}_i=\phi _i^{\max }\quad \Rightarrow \quad \Delta \hat{{f}} ^{\rho \phi ,\textrm{Lim}}_{(i,j)} = {{\bar{\phi }}}_i \Delta \hat{{f}} ^{\rho ,\textrm{Lim}}_{(i,j)}, \end{aligned}$$

which prevents perturbations of constant states of the \(\phi \) variable and ensures compatibility with the discretized equation for \(\rho \). The imposition of local bounds on \(\phi _i^{n+1}\) is inconsistent with the semi-discrete nature of MCL and, similarly to (28), is neither necessary nor sufficient for physical admissibility (i.e., preservation of invariant domains and entropy stability).

Pressure limiter When solving the compressible Euler equations of gas dynamics (Appendix A), we require the pressure and internal energy to be non-negative at all times. Positivity preservation is guaranteed if the limited bar states satisfy

$$\begin{aligned} {{\overline{\rho }}}_{(i, j)}^\textrm{Lim} \overline{(\rho E)}_{(i, j)}^\textrm{Lim} - \frac{\left\Vert \overline{(\rho \textbf{v})}_{(i, j)}^\textrm{Lim}\right\Vert ^2}{2} \geqslant 0. \end{aligned}$$
(31)

To enforce (31), we apply a synchronized limiting factor \(\alpha _{(i,j)}^p\in [0,1]\) to all components of \(\Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}\). The limited bar states become

$$\begin{aligned} \overline{\textbf{u}}^\textrm{Lim}_{(i,j)} = \overline{\textbf{u}}_{(i,j)} + \frac{\alpha ^p_{(i,j)} \Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}}{\lambda ^{\max }_{(i,j)}}, ~~~~ \overline{\textbf{u}}^\textrm{Lim}_{(j,i)} = \overline{\textbf{u}}_{(i,j)} - \frac{\alpha ^p_{(i,j)} \Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}}{\lambda ^{\max }_{(i,j)}} \end{aligned}$$
(32)

and the prelimited anti-diffusive fluxes \(\Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}\) are replaced with \(\alpha ^p_{(i,j)} \Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}\).

Dropping the superscript p for better readability and introducing the scaled bar states \(\overline{\textbf{w}}_{(i,j)}:=\lambda ^{\max }_{(i,j)}\overline{\textbf{u}}_{(i,j)}\), we translate (31) into the quadratic inequalities

$$\begin{aligned} A_{(i,j)}\alpha _{(i,j)}^2\pm B_{(i,j)}\alpha \leqslant Q_{(i,j)}, \end{aligned}$$
(33)

where

$$\begin{aligned} A_{(i,j)}&=\frac{ \Big \Vert \Delta \mathbf {\hat{{f}} }^{\rho \textbf{v}, \textrm{Lim}}_{(i,j)} \Big \Vert ^2}{2} - \Delta \hat{{f}} ^{\rho , \textrm{Lim}}_{(i,j)} \Delta \hat{\textbf{f}} ^{\rho E, \textrm{Lim}}_{(i,j)},\\ B_{(i,j)}&= \mathbf {{\overline{w}}}^{\rho \textbf{v}}_{(i,j)} \cdot \Delta \mathbf {\hat{{f}} }^{\rho \textbf{v}, \textrm{Lim}}_{(i,j)} - \overline{w}_{(i,j)}^{\rho } \Delta \hat{{f}} ^{\rho E, \textrm{Lim}}_{(i,j)} - {\overline{w}}_{(i,j)}^{\rho E} \Delta \hat{{f}} ^{\rho , \textrm{Lim}}_{(i,j)},\\ Q_{(i,j)}&= {\overline{w}}_{(i,j)}^{\rho }{\overline{w}}_{(i,j)}^{\rho E} + \frac{\Big \Vert \mathbf {{\overline{w}}}_{(i,j)}^{\rho \textbf{v}} \Big \Vert ^2}{2}. \end{aligned}$$

Following Kuzmin [29], we notice that \(\alpha ^2\leqslant \alpha \) for \(\alpha \in [0,1]\). Therefore, (33) holds under the linear sufficient condition \(P_{(i,j)}\alpha \leqslant Q_{(i,j)}\), where

$$\begin{aligned} P_{(i,j)} = \max \lbrace 0, A_{(i,j)}\rbrace \,\, + \,\,|B_{(i,j)}|. \end{aligned}$$
(34)

We conclude that the pressure fix can be performed using

$$\begin{aligned} \alpha _{(i,j)} = {\left\{ \begin{array}{ll} \frac{Q_{(i,j)}}{P_{(i,j)}} &{} \textrm{if}~P_{(i,j)} > Q_{(i,j)}, \\ 1 &{} \textrm{otherwise}. \end{array}\right. } \end{aligned}$$
(35)

This definition exploits the property that the bar states of low-order LGL-DGSEM are symmetric. The general formula for \(\alpha _{(i,j)}\) is more involved [29].

To ensure continuous dependence of the limited fluxes \(\alpha ^p_{(i,j)} \Delta \hat{\textbf{f}} _{(i,j)}\) on the data, one may replace \(P_{(i,j)}\) with the upper bound [29]

$$\begin{aligned} P^{\max }_{(i,j)}&= \max \lbrace 0, A_{(i,j)}\rbrace \,\, +\,\, \Big \Vert \mathbf {\overline{{w}}}^{\rho \textbf{v}}_{(i,j)} \Big \Vert \,\, \cdot \,\, \Big \Vert \Delta \mathbf {\hat{{f}} }^{\rho \textbf{v}, \textrm{Lim}}_{(i,j)} \Big \Vert \,\, +\,\, \Big \Vert {{\overline{w}}}_{(i,j)}^{\rho } \Delta \hat{{f}} ^{\rho E, \textrm{Lim}}_{(i,j)} \Big \Vert \nonumber \\&\qquad +\,\, \Big \Vert {{\overline{w}}}_{(i,j)}^{\rho E} \Delta \hat{{f}} ^{\rho , \textrm{Lim}}_{(i,j)}\Big \Vert \geqslant P_{(i,j)}. \end{aligned}$$
(36)

We explore this possibility in the present paper. In the descriptions of our numerical experiments, we call the pressure limiter (35) that uses (34) “sharp”. The one that uses (36) instead of (34) is referred to as “cautious”. As we show in the Numerical Results section, the cautious pressure fix can add much more numerical dissipation to the scheme than its sharp counterpart.

Semi-discrete entropy limiter In this work, we also use the semi-discrete entropy limiter developed in [30] for MCL schemes. Semi-discrete entropy stability of a DG or FV method is guaranteed if the numerical fluxes satisfy Tadmor’s shuffle condition [67,68,69]

$$\begin{aligned} \llbracket {{\textbf{v}}} \rrbracket _{(i,j)}^\textrm{T} \hat{\textbf{f}} _{(i,j)} \leqslant \llbracket \Psi \rrbracket _{(i,j)}, \end{aligned}$$
(37)

where \(\llbracket \Psi \rrbracket _{(i,j)}:= \Psi _j - \Psi _i\) denotes the jump operator, \(\Psi \) is the so-called entropy-flux potential, and \({{\textbf{v}}}\) is the vector of entropy variables. See Appendix A for the definition of these quantities for the Euler equations.

Let \(\Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}\) be a limited anti-diffusive flux that is constrained to preserve local and/or global bounds for all scalar quantities of interest. Define

$$\begin{aligned} \hat{\textbf{f}} _{(i,j)} = \hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,j)} + {\alpha }^{s}_{(i,j)} \frac{\Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}}{i-j} \end{aligned}$$
(38)

using a correction factor \(\alpha ^s_{(i,j)}\in [0,1]\) such that Tadmor’s condition (37) is fulfilled. The substitution of (38) into (37) yields a linear inequality constraint for \(\alpha ^s_{(i,j)}\in [0,1]\). We enforce this constraint using (cf. [30])

$$\begin{aligned} \alpha ^s_{(i,j)} = {\left\{ \begin{array}{ll} \frac{\llbracket {{\textbf{v}}} \rrbracket _{(i,j)} \hat{\textbf{f}} ^{{\textrm{FV}}}_{(i,j)} - \llbracket \Psi \rrbracket _{(i,j)} + \epsilon }{\llbracket {{\textbf{v}}} \rrbracket _{(i,j)} \Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}/(i-j) + \epsilon } &{} \quad \textrm{if}~ \Pi _{(i,j)} > \llbracket \Psi \rrbracket _{(i,j)}, \\ 1 &{} \quad \textrm{otherwise,} \end{array}\right. } \end{aligned}$$
(39)

where \(\epsilon \) is a small positive number and

$$\begin{aligned} \Pi _{(i,j)}=\llbracket {{\textbf{v}}} \rrbracket _{(i,j)} \left( \hat{\textbf{f}} _{(i,j)}^{{\textrm{FV}}} + \frac{\Delta \hat{\textbf{f}} ^\textrm{Lim}_{(i,j)}}{i-j}\right) \end{aligned}$$

is the rate of entropy production before the application of \(\alpha ^s_{(i,j)}\).

Remark 10

All correction tools described in this section lead to closed-form expressions for limited fluxes or correction factors. This distinguishes our approach from FCT/IDP alternatives that require solving nonlinear equations [15, 50, 61].

2.2.3 Definition of Bounds

We distinguish between global and local bounds. Global bounds enforce physical admissibility conditions, such as positivity of the density \(\rho \) and pressure p in the case of the compressible Euler equations of gas dynamics. Preservation of these bounds is a prerequisite for running challenging simulations without crashing. If a lower bound \(\rho _i^{\min }\geqslant 0\) is used in the limiter for \(\rho \) and a (sharp or cautious) pressure limiter is applied in the final stage of the sequential limiting procedure, then the MCL scheme is positivity preserving in this sense.

The imposition of local bounds, on the other hand, makes it possible to avoid spurious oscillations within the global bounds and to improve the shock-capturing capabilities of the method. The corresponding numerical admissibility conditions are frequently formulated as local maximum or minimum principles. The inequality constraints of our MCL method are feasible if they are satisfied by the low-order bar states. Therefore, these states must be built into the definition of the upper and lower bounds. For instance, the value of a conservative or primitive quantity \(\phi \) at node i may be treated as numerically admissible if it is bounded by

$$\begin{aligned} \phi ^{\min }_i = \min \left\{ \phi _i, \min _{j \in {\mathcal {N}}^*(i)} {\overline{\phi }}_{(i,j)} \right\} , \quad \phi ^{\max }_i = \max \left\{ \phi _i, \max _{j \in {\mathcal {N}}^*(i)} {\overline{\phi }}_{(i,j)} \right\} , \end{aligned}$$
(40)

where \({\mathcal {N}}^*(i)=\{i-1,i+1\}\) and \(\phi _i\) is the solution at node i of the previous time step. In the multidimensional case, the integer set \({\mathcal {N}}^*(i)\) contains the indices of all nodes \(j\ne i\) such that the flux \(\hat{\textbf{f}} _{(i,j)}\) appears in the evolution equation for the nodal state \(\textbf{u}_i\).

We can rewrite (40) as

$$\begin{aligned} \phi ^{\min }_i = \min _{j \in {\mathcal {N}}(i)} {\overline{\phi }}_{(i,j)}, \quad \phi ^{\max }_i = \max _{j \in {\mathcal {N}}(i)} {\overline{\phi }}_{(i,j)}, \end{aligned}$$
(41)

where \({\mathcal {N}}(i)=\{i-1, i, i+1\}\) is the integer set containing i and the indices of all neighboring nodes of i, as \({\overline{\phi }}_{(i,i)} = \phi _i\) by definition (12).

If the MCL bounds (41) are too tight, the flux-corrected scheme may fail to achieve the optimal order of accuracy in smooth regions. Wider bounds can be constructed by including the values of \(\phi ^{{\textrm{FV}}, n+1}\) at node i and its neighbors belonging to cells that physically contain the nodal point [23, 42]. The inclusion of extrapolated states makes it possible to guarantee linearity preservation on general meshes [29]. Alternatively, local bounds can be relaxed using smoothness indicators [35] to avoid a potential loss of accuracy due to unnecessary limiting.

The use of the low-order bar states to define the bounds is also common in FCT/IDP methods [15, 17, 32, 33].

Similarly to the MCL version, further nodal states \(\phi _j^{{\textrm{FV}}, n+1}\) can be incorporated into the definition of \(\phi ^{\min }_i\) and \(\phi ^{\max }_i\). The use of smoothness indicators is also an option [15, 50]. In FCT/IDP methods, it is also possible to define the bounds with the low-order solution at the next time step instead of using the low-order bar states, e.g., [31, 50, 61],

$$\begin{aligned} \phi ^{\min }_i = \min _{j \in {\mathcal {N}}(i)} {\phi }^{{\textrm{FV}},n+1}_{j}, \quad \phi ^{\max }_i = \max _{j \in {\mathcal {N}}(i)} {\phi }^{{\textrm{FV}},n+1}_{j}. \end{aligned}$$
(42)

This leads to more dissipative schemes, but the time-step restriction might be relaxed in some situations (see next section for details). A peculiarity of FCT/IDP schemes is the fact that the bounds for the limited anti-diffusive fluxes are inversely proportional to the time step. As a consequence, the quality of flux-limited approximations often exhibits strong dependence on the CFL number.

In this paper, we use the tight local bounds (41) for both MCL and FCT methods without any relaxation.

2.2.4 Explicit Time-Step Restrictions

The MCL method enforces nodal bounds by limiting the interface fluxes, such that all high-order bar states satisfy the bounds. This strategy enforces the bounds of the discrete solution if (20) is a convex sum. As a result, in 1D we obtain the CFL-like time-step restriction

$$\begin{aligned} \Delta t \leqslant \min _i \frac{J\omega _i}{\lambda ^{\max }_{(i,i-1)}+\lambda ^{\max }_{(i,i+1)}}, \end{aligned}$$
(43)

and in 2D we obtain the CFL-like time-step restriction

$$\begin{aligned} \Delta t \leqslant \min _{i,j} \frac{J_{i,j}}{ \frac{1}{\omega _i} \left( \lambda ^{\max }_{(i,i-1)j}+\lambda ^{\max }_{(i,i+1)j}\right) + \frac{1}{\omega _j} \left( \lambda ^{\max }_{i(j,j-1)}+\lambda ^{\max }_{i(j,j+1)}\right) }. \end{aligned}$$
(44)

In general, the time-step restriction scales as

$$\begin{aligned} \Delta t \lesssim \min _i \frac{m_i}{2 \sum \limits _{d=1}^{D} \lambda ^{\max ,d}_i}, \end{aligned}$$
(45)

where \(D\) is the number of spatial dimensions of the problem, \(m_i\) is the diagonal mass matrix entry of node i, and \(\lambda ^{\max ,d}_i\) is the maximum wave speed at node i in the coordinate direction d. For instance, with \(D=1\) we have \(\lambda ^{\max ,1}_i = \max \{ \lambda _{(i,i-1)}^{\max },\lambda _{(i,i+1)}^{\max } \}\).

Since the CFL condition (45) is derived from the bar states representation, MCL and FCT/IDP methods that use bar-state bounds (41) need to fulfill it to be able to keep the solution within bounds. Unfortunately, (45) is more restrictive than the typical CFL stability condition of the low-order method, especially for multiple space dimensions [71]:

$$\begin{aligned} \Delta t \lesssim \min _i \left\{ \min _{1\leqslant d \leqslant D} \left\{ \frac{\Delta x^d_i}{\lambda ^{\max ,d}_i} \right\} \right\} , \end{aligned}$$
(46)

where \(\Delta x_i^d\) is the size of the subcell in direction d.

To the authors’ knowledge, the only way to circumvent the strict CFL condition (45) and still keep the solution within prescribed bounds is to use FCT/IDP methods and avoid the bar-state bounds altogether. For instance, one can use bounds computed from the (robust) low-order solution at the next time step (42). Although this strategy can reduce the computing time in some situations, it might lead to non-physical solutions since the low-order method is only provably positivity preserving (see, e.g., [52]) when the strict CFL condition (45) is fulfilled.

Since FCT/IDP methods apply limiting to enforce a fully discrete fulfillment of the bounds (i.e., after the time update is done), their anti-diffusion correction (and hence the spatial discretization) depends on the time-step size. On the other hand, MCL applies the limiting at the semi-discrete (spatial) level without considering the temporal discretization. As a result, the amount of dissipation depends on the CFL number for FCT/IDP methods, but not for the MCL approach. In fact, we have included a numerical investigation of the CFL dependence of the schemes and demonstrate that there is no obvious time convergence observable for FCT/IDP.

3 Numerical Results

To test the convergence and robustness properties of the MCL/DGSEM schemes, we run simulations with the compressible Euler equations of gas dynamics (see Appendix A) and two spatial dimensions, \(D=2\). Therefore, we adopt the 2D notation introduced in Appendix B.

To analyze the simulation results and visualize where limiting is applied, it is useful to compute a nodal limiting factor. Since in MCL methods the limiting is done for each interface and each equation without using a limiting factor, we first compute the effective limiting factor for each interface and each equation, and then compute a nodal \(\alpha _{ij}\) using the average over all interfaces of node ij,

$$\begin{aligned} \alpha _{ij}:= \frac{1}{4} \sum _{k\in {\mathcal {N}}^*(ij)} \alpha _{(ij,k)}, \end{aligned}$$
(47)

where \({\mathcal {N}}^*(ij):= \{(i-1)j, (i+1)j, i(j-1), i(j+1) \}\) contains the indices of all neighboring nodes to ij. As in the one-dimensional case, we define the set \({\mathcal {N}}(ij)\) as the low-order stencil of node ij, i.e., \({\mathcal {N}}(ij) = \{ {\mathcal {N}}^*(ij), ij \}\).

In the following sections, we add a super-index to the limiting factor to specify the limiter that produces it. For instance, \(\alpha ^{\rho }_{ij}\) denotes the limiting factor at node ij due to the density limiter.

In all cases, we use the Rusanov (LLF) numerical flux for the compatible robust low-order subcell scheme as well as for the surface fluxes in the high-order DG method. The CFL condition is given by (44).

3.1 Advection of a Density Wave

To test the convergence properties of the MCL/DGSEM schemes, we simulate the advection of a density wave with the initial condition

$$\begin{aligned} \rho (x) = 2+A\!\sin (2\uppi (x+y)),\quad A=0.98,\quad \textbf{v} = (0.1,0.2,0),\quad p=20 \end{aligned}$$
(48)

in the computational domain \(\Omega = [-1,1]^2\), and quantify the \(L_2\) error of the solution as the mesh is refined.

We use the entropy-conserving and kinetic energy preserving flux of Ranocha [54] for the volume numerical flux of the split-form DGSEM method, choose a heat capacity ratio of \(\gamma =1.4\), and use CFL\(\,\, = \,\,\)0.9.

We first study the effect of imposing global bounds on the solution with the MCL approach. To do so, we impose strict positivity of density and pressure for all limited bar states of all nodes ij,

$$\begin{aligned} {\overline{\rho }}^\textrm{Lim}_{(ij,k)} \geqslant 0, \quad p(\overline{\textbf{u}}^\textrm{Lim}_{(ij,k)}) \geqslant 0, \quad k\in {\mathcal {N}}(ij). \end{aligned}$$
(49)

The positivity of density is enforced with a one-sided MCL limiter for conservative variables, and the positivity of pressure with the sharp pressure positivity limiter.

Tables 1 and 2 show the \(L_2\) error of all solution quantities and the experimental order of convergence (EOC) for the MCL/DGSEM scheme that imposes global bounds (positivity) for density and pressure. The EOC is computed for four different Cartesian meshes with \(N_e\) elements per spatial direction. We observe an \(\textrm{EOC} \approx N+1\) for approximations with polynomial degree N.

We now study the effect of imposing local bounds with the MCL approach. To do so, we impose local minima and maxima on the density, velocity, and specific total energy of all bar states of all nodes ij using the sequential MCL limiter,

$$\begin{aligned} \min _{k \in {\mathcal {N}}(ij)} {\overline{\rho }}_{(ij,k)} \leqslant {\overline{\rho }}_{(ij,k)}^\textrm{Lim} \leqslant \max _{k \in {\mathcal {N}}(ij)} {\overline{\rho }}_{(ij,k)},&\min _{k \in {\mathcal {N}}(ij)} {\overline{E}}_{(ij,k)} \leqslant {\overline{E}}_{(ij,k)}^\textrm{Lim} \leqslant \max _{k \in {\mathcal {N}}(ij)} {\overline{E}}_{(ij,k)}, \nonumber \\ \min _{k \in {\mathcal {N}}(ij)} {\overline{v}}_{1(ij,k)} \leqslant {\overline{v}}_{1(ij,k)}^\textrm{Lim} \leqslant \max _{k \in {\mathcal {N}}(ij)} {\overline{v}}_{1(ij,k)},&\min _{k \in {\mathcal {N}}(ij)} {\overline{v}}_{2(ij,k)} \leqslant {\overline{v}}_{2,(ij,k)}^\textrm{Lim} \leqslant \max _{k \in {\mathcal {N}}(ij)} {\overline{v}}_{2(ij,k)}. \end{aligned}$$
(50)

Tables 3 and 4 show the \(L_2\) error of all solution quantities and the EOC for the MCL/DGSEM scheme that imposes local bounds (sequential limiting). In this case, the EOC is at most second order, independent of the polynomial degree, which indicates that the local bounds are too strict to achieve an \(\textrm{EOC}>2\). Hence, one typically needs to relax the strict bounds to restore high-order accuracy, for instance, by combining the local bounds of the MCL limiter with a smoothness sensor/indicator to avoid limiting smooth extrema of the approximate solution.

Table 1 \(L_2\) errors and EOC for the convergence test with positivity limiting (global bounds), \(N=3\)
Table 2 \(L_2\) errors and EOC for the convergence test with positivity limiting (global bounds), \(N=4\)
Table 3 \(L_2\) errors and EOC for the advecting wave test with sequential limiting (local bounds), \(N=3\)
Table 4 \(L_2\) errors and EOC for the advecting wave test with sequential limiting (local bounds), \(N=4\)

3.2 Smooth Isentropic Flow

We now test the convergence properties of the MCL/DGSEM scheme with a smooth solution that requires positivity limiting. To do this, we use a two-dimensional version of the isentropic flow convergence test introduced by Cheng and Shu [5]. The initial condition is given by

$$\begin{aligned} \rho (x') = 1 + 0.999~999~9 \sin (2{\uppi } x'), ~~ v_1 = v_2 = 0, ~~ p(x') = \rho (x')^{\gamma }, \end{aligned}$$

where we choose \(\gamma = 3\) and \(x'\) is obtained applying a rotation transformation with the angle \(\theta = 45^\textrm{o}\),

$$\begin{aligned} x' = x \cos (\theta ) + y \sin (\theta ). \end{aligned}$$

We have reduced the minimum initial density and pressure, as in [72], to make the setup more challenging. At the beginning of the simulation, the minimum density is \(\rho (x'_0,t=0) = 10^{-7}\) and the minimum pressure is \(p (x'_0,t=0) = 10^{-21}\) at \(x'_{0} = -0.5\) and \(x'_{0} = 1.5\).

In this particular setup, the flow is isentropic and the relationship \(p=\rho ^{\gamma }\) is preserved during the entire simulation. As a consequence, the Euler equations reduce to two Burgers’ equations. The analytical solution, which can be obtained with the method of characteristics, reads [2]

$$\begin{aligned} \rho (x',t) =&\, \frac{1}{2} \left( \rho _0(x_1) + \rho _0(x_2) \right) , ~~ v_{\theta }(x',t) = \sqrt{3} \left( \rho (x', t) - \rho _0(x_1) \right) , \nonumber \\ p(x',t) =&\,\rho (x', t)^{\gamma }, \end{aligned}$$

where for each coordinate \(x'\) and time t, \(x_1\) and \(x_2\) are solutions of the nonlinear equations

$$\begin{aligned} x' + \sqrt{3} \rho _0(x_1) t - x_1 =&\,~0, \end{aligned}$$
(51)
$$\begin{aligned} x' - \sqrt{3} \rho _0(x_2) t - x_1 =&\,~0. \end{aligned}$$
(52)

The velocity components are simply obtained as

$$\begin{aligned} \textbf{v}(\textbf{x},t) = (v_1, v_2) = (v_{\theta } \cos (\theta ), v_{\theta } \sin (\theta )). \end{aligned}$$
Table 5 \(L_2\) errors and EOC for the isentropic flow test with positivity limiting (global bounds), \(N=3\)

We use the entropy-conserving and kinetic energy preserving flux of Ranocha [54] for the volume numerical flux of the split-form DGSEM method and use CFL = 0.9.

Figure 1 illustrates the pressure and limiting factor contours at the end of the isentropic flow simulation, \(t=0.1\), for the MCL/DGSEM simulation with \(N=3\) and \(16 \times 16\) elements. In the isentropic flow simulations only the pressure limiter activates to prevent the pressure from becoming negative. We observe that the limiter only activates where the pressure solution is near zero.

Fig. 1
figure 1

Pressure and pressure-limiting factor contours at \(t=0.1\) for the isentropic flow simulation. DGSEM results with the MCL positivity limiter, \(N=3\), and \(16 \times 16\) elements

Tables 5 and 6 show the \(L_2\) error of all solution quantities and the EOC for the MCL/DGSEM scheme that imposes global bounds (positivity) for density and pressure. The EOC is computed for five different Cartesian meshes with \(N_e\) elements per spatial direction. We observe that the convergence order is affected in the coarse meshes, but it increases together with the number of elements. As the resolution increases, the area of the domain where limiting is applied decreases, which restores the convergence properties.

Table 6 \(L_2\) errors and EOC for the isentropic flow test with positivity limiting (global bounds), \(N=4\)

Finally, Fig. 2 illustrates the density and pressure solutions for the isentropic flow simulation along the \(x'\) slice (see Fig. 1a) for the MCL/DGSEM simulation with \(N=3\) and \(16 \times 16\) elements.

Fig. 2
figure 2

Density and pressure along the \(x'\) slice (see Fig. 1a). DGSEM results with the MCL positivity limiter, \(N=3\), and \(16 \times 16\) elements

3.3 Kelvin-Helmholtz Instability (KHI)

We consider the inviscid two-dimensional Kelvin-Helmholtz instability (KHI) setup, e.g., presented in [58, 61]. Due to its high density contrast and compressibility effects, the test case is challenging for nodal high-order methods when the (under-resolved) vortical structures of the KHI develop and evolve. In fact, the standard LGL-DGSEM method requires limiting to ensure robustness (positivity in this case).

The initial condition is given by

$$\begin{aligned} \displaystyle \left\{ \begin{array}{ll} \rho (x,y) = \dfrac{1}{2} + \dfrac{3}{4} B, &{} p (x,y) = 1,\\ v_{1} (x,y) = \dfrac{1}{2} ( B-1 ), &{} v_{2} (x,y) = \dfrac{1}{10} \sin (2 {\uppi } x) \end{array}\right. \end{aligned}$$
(53)

with \( B= \tanh \left( 15 y + 7.5 \right) - \tanh (15y-7.5). \)

We tessellate the simulation domain \(\Omega =[-1,1]^2\) using \(64 \times 64\) quadrilateral elements, use periodic boundary conditions, represent the solution with polynomials of degree \(N=7\), and run the simulation until the final time \(t=10\). Moreover, we discretize the Euler equations using the split-form DGSEM and the entropy-conserving and kinetic energy preserving flux of Ranocha [54] for the volume numerical fluxes, and select CFL = 0.9.

We first study the effect of imposing global bounds on the solution with the MCL and FCT/IDP approaches. With the MCL method, it is possible to impose strict positivity of density and pressure for all limited bar states (49) using a one-sided MCL limiter for conservative quantities and the sharp pressure positivity limiter. However, with the FCT/IDP approach presented in [61], a positive threshold greater than zero is necessary, as otherwise some nodes might get an invalid vacuum state. Hence, for the FCT/IDP variant, we consider the heuristic positivity-preserving method of Rueda-Ramírez [58] in a subcell-wise manner, i.e., we impose lower bounds for density and pressure that depend on the FV solution,

$$\begin{aligned} \rho _{ij} \geqslant \beta \rho ^{{\textrm{FV}}}_{ij}, ~~~~ p_{ij} \geqslant \beta p^{{\textrm{FV}}}_{ij} \end{aligned}$$
(54)

with \(\beta = 0.1\). We note, that this is a somewhat stricter requirement than strict positivity.

Figure 3 shows the density contours at different stages of the KHI simulation using the MCL and FCT/IDP limiters with global bounds—both approaches run stably until the final time. Even though this simulation setup is extremely sensitive to the discretization scheme [61] regarding the shape and form of the vortex roll-ups, the two approaches to impose global bounds produce remarkably similar looking results.

Fig. 3
figure 3

Density contours for the Kelvin-Helmholtz simulations with MCL and FCT/IDP (positivity limiting for density and pressure). DGSEM results with polynomial degree \(N=7\) and \(64\times 64\) elements

We now study the effect of imposing local bounds on the solution with the MCL and FCT/IDP approaches. With the MCL method, we use the standard sequential limiting to impose local minima and maxima on the density, velocity, and total energy (50). With the FCT/IDP method, we impose local minima and maxima on the density, and local minima on the specific entropy,

$$\begin{aligned} \min _{k \in {\mathcal {N}}(ij)} {\bar{\rho }}_{(ij,k)} \leqslant \rho _{ij} \leqslant \max _{k \in {\mathcal {N}}(ij)} {\bar{\rho }}_{(ij,k)}, ~~~~ \min _{k \in {\mathcal {N}}(ij)} \eta (\bar{{u}}_{(ij,k)}) \leqslant \eta ({{u}}_{ij}), \end{aligned}$$
(55)

where the condition on the modified specific entropy, \(\eta = e \rho ^{1- \gamma }\), guarantees the fulfillment of a discrete entropy inequality [20]. Moreover, \(\eta \) is an efficient choice since it is computationally cheaper to evaluate than the specific entropy \(s=\ln (p/\rho ^{\gamma })\) and it improves the convergence of the Newton method that is used in FCT/IDP methods to solve the nonlinear equation to obtain the limiting factor [20, 45]. Note that condition (50) is typical for MCL and condition (55) is standard for FCT/IDP.

Figure 4 shows the density contours at different stages of the KHI simulation using the MCL and FCT/IDP limiters with local bounds. Again, the solutions are very comparable between the two approaches, even though the limiting techniques and bounds are different. When comparing Figs. 3 and 4, it is evident that the methods that impose local bounds add more numerical dissipation than the methods with global bounds, as expected. There is a smaller range of scales apparent with local bounds, especially at larger times.

Fig. 4
figure 4

Density contours for the Kelvin-Helmholtz simulations with MCL (sequential limiting) and FCT/IDP (density and specific entropy). DGSEM results with polynomial degree \(N=7\) and \(64\times 64\) elements

Finally, we compute the mean (nodal) limiting factor (47) as

$$\begin{aligned} {{\bar{\alpha }}} (t) = \left( \frac{1}{V} \sum _{e=1}^K \sum _{i,j=0}^N J_{ij} \omega _{ij} \left( \alpha _{ij}(t)\right) _{\Omega ^e} \right) , \end{aligned}$$
(56)

where \(e \in [1,K]\) denotes the element index, K is the number of elements of the domain, \(i,j \in [0,N]\) are the node indexes, N is the polynomial degree, \(\left( \alpha _{ij}(t)\right) _{\Omega ^e}\) is the limiting factor of node ij of element e at time t, and V is the total area of the domain.

We present a plot of the evolution of the mean limiting factors for the KHI simulations in Fig. 5. To obtain limiting factors between 0 and 1, the factors for the momentum and energy equations of MCL are the effective scaling of the auxiliary flux, i.e.,

$$\begin{aligned} \alpha ^{\phi }_{(ij,k)}:= {\left\{ \begin{array}{ll} 1 &{} \quad \textrm{if}~\Delta \hat{{g}} ^{\phi }_{(ij,k)} \approx 0, \\ \frac{\Delta \hat{{g}} ^{\phi ,\textrm{Lim}}_{(ij,k)} \,\,+\,\,\, \epsilon \, \texttt {sign}\left( \Delta \hat{{g}} ^{\phi }_{(ij,k)}\right) }{\Delta \hat{{g}} ^{\phi }_{(ij,k)} \,\,+\,\,\, \epsilon \, \texttt {sign}\left( \Delta \hat{{g}} ^{\phi }_{(ij,k)}\right) } &{} \quad \textrm{otherwise}, \end{array}\right. } \end{aligned}$$
(57)

where \(\epsilon \) is a very small number. We plot the quantity \((1-\alpha )\) for FCT/IDP methods since the limiting factor of our FCT/IDP methods [61] is defined inversely as for MCL methods. A mean limiting factor \({{\bar{\alpha }}} = 1\) means that the discretization uses the unlimited high-order scheme everywhere, whereas a mean limiting factor \({{\bar{\alpha }}} = 0\) means that the anti-diffusion fluxes, \(\Delta \hat{\textbf{f}} \) for FCT/IDP, or \(\Delta \hat{{f}} ^{\rho }\) or \(\Delta \hat{{g}} ^{\phi }\) for MCL, are set to zero everywhere.

Fig. 5
figure 5

Evolution of limiting factors for MCL (sequential limiting) and FCT/IDP (density and specific entropy). DGSEM results with polynomial degree \(N=7\) and \(64\times 64\) elements

3.4 Inviscid Bow Shock Upstream of a Blunt Body

We consider the supersonic flow over a 2D blunt body that produces a detached bow shock to test the performance of the MCL/DGSEM method on curvilinear grids. This problem setup was proposed as an advanced test case for the Fifth International Workshop on High-Order CFD Methods [12].

The left boundary of the domain is a circular segment with origin (3.85, 0) and radius 5.9, the blunt body has a flat front of length 1 connected with two quarter circles of radius 0.5, and the right boundary is located at \(x=0\). The heat capacity ratio is set to \(\gamma =1.4\) and the initial condition is the constant state

$$\begin{aligned} \rho (x,y) = 1.4, \quad p(x,y) = 1, \quad v_1(x,y) = 4, \quad v_2(x,y) = 0, \end{aligned}$$
(58)

which corresponds to a Mach number \({Ma}=1.4\).

For the blunt body, we use a reflecting wall boundary condition, while for the other boundaries, we use characteristics-based inflow/outflow boundaries, on which the external state is selected depending on the flow conditions normal to the boundary.

We use the split-form DGSEM with the entropy-conserving and kinetic energy preserving flux of Ranocha [54], polynomial degree \(N=5\), an isoparametric mapping of the geometry, MCL limiting with global (49) and local (50) bounds, and a conforming mesh with 36 elements distributed regularly on the inflow and wall boundaries and 24 elements distributed regularly on the outflow boundaries. Figure 6 illustrates the curvilinear mesh used for the bow shock simulations. To impose positivity of pressure, we use again the sharp pressure positivity limiter.

Fig. 6
figure 6

Curvilinear mesh (\(N_{\text {geo}}=5\)) used for the bow shock simulations

Figure 7 shows the pressure contours for the bow shock simulations at time \(t=10\) using MCL limiters with global and local bounds. Figure 7a shows that global positivity bounds are enough to keep the simulation running until the end time, but spurious oscillations appear near the shock. The use of local bounds removes the spurious oscillations near the shock, as can be observed in Fig. 7b.

Fig. 7
figure 7

Pressure contours for the bow shock simulations with MCL at time \(t=10\). DGSEM results with polynomial degree \(N=5\) and \(24 \times 36\) elements. Left plot shows the simulation with global bounds only (positivity) and right plot shows the result with local bounds (sequential limiting)

3.5 Sedov Blast Explosion

The Sedov blast problem is a very challenging simulation setup with a strong circular shock that describes the evolution of a symmetrical blast wave expanding from an initial concentration of density and pressure into a gas at rest.

For the initial condition, we use the standard setup from the FLASH astrophysical code [11]. The gas is initially at rest, \(v_1 (t=0) = v_2 (t=0) =0\), the density is constant \(\rho (t=0)=1\), the atmospheric pressure is \(p_0 = 10^{-5}\), and we insert a quantity of dimensionless energy \(e=1\) into a small region of radius \(r_0=0.218\, 75\) at the center of the grid,

$$\begin{aligned} p (t=0) = {\left\{ \begin{array}{ll} p_0 &{} \quad \textrm{if}~r\leqslant r_0, \\ \frac{(\gamma - 1) e}{\uppi r_0^2} &{} \quad \textrm{otherwise} \end{array}\right. } \end{aligned}$$
(59)

with \(r=\sqrt{x^2+y^2}\).

We tessellate the simulation domain \(\Omega =[-2,2]^2\) with \(64 \times 64\) quadrilateral elements, use periodic boundary conditions (however, the final time is small enough, such that this does not matter), run the simulations with the split-form DGSEM and the entropy-conserving and kinetic energy preserving flux of Chandrashekar [4] for the volume numerical fluxes, represent the solution with polynomials of degree \(N=3\), run the simulation until \(t=3\), and use CFL = 0.9.

We test different variants of the MCL limiter with local bounds to identify which variants of the MCL limiter can handle the strong shocks of this test, and visualize the nodal limiting factors computed with (47).

The first variant of the MCL limiter that we test (from now on referred to as MCL limiter A) uses the standard MCL sequential limiter (50) first, then the sharp positivity limiter with global bounds (49), and the semi-discrete entropy limiter (38) at last.

Figure 8 shows the density contours and limiting factors for the Sedov blast simulation using the MCL limiter A at the final time \(t=3\). The text on the limiting factor plots indicates to which flux the factors are applied. Since both the pressure positivity limiter and the semi-discrete entropy limiter act on all components of the anti-diffusive flux, \(\Delta \hat{\textbf{f}} \), we indicate in brackets if the limiting factor corresponds to the pressure (p) or the entropy (\(\textrm{d}s/\textrm{d}t\)) limiters. Some artifacts at the shock front of the blast wave can be observed with this standard version of the MCL limiter.

Fig. 8
figure 8

Contours of the density and limiting factors (47) for the DGSEM simulation with MCL limiter A (sequential limiting, pressure, and entropy limiters) of the Sedov blast test at \(t=3\). The text on the limiting factor plots indicates to which flux the factors are applied

The second variant of the MCL limiter that we test (from now on referred to as MCL limiter B) uses the MCL limiter for conservative quantities with local bar-state bounds for the density,

$$\begin{aligned} \min _{k \in {\mathcal {N}}(ij)} {\overline{\rho }}_{(ij,k)} \leqslant {\overline{\rho }}_{(ij,k)}^\textrm{Lim} \leqslant \max _{k \in {\mathcal {N}}(ij)} {\overline{\rho }}_{(ij,k)} \end{aligned}$$
(60)

computes the effective limiting factor for density,

$$\begin{aligned} \alpha ^{\rho }_{(ij,k)} = {\left\{ \begin{array}{ll} 1 &{} \quad \textrm{if}~\Delta \hat{{f}} ^{\rho }_{(ij,k)} \approx 0, \\ \frac{\Delta \hat{{f}} ^{\rho ,\textrm{Lim}}_{(ij,k)} \, +\,\, \epsilon \, \texttt {sign}(\Delta \hat{{f}} ^{\rho }_{(ij,k)})}{\Delta \hat{{f}} ^{\rho }_{(ij,k)}\, +\, \epsilon \, \texttt {sign}(\Delta \hat{{f}} ^{\rho }_{(ij,k)})} &{} \quad \textrm{otherwise}, \end{array}\right. } \end{aligned}$$
(61)

where \(\epsilon \) is a very small number, applies \(\alpha ^{\rho }_{(ij,k)}\) to all other conservative quantities (\(\Delta \hat{{f}} ^{\rho v_1}\), \(\Delta \hat{{f}} ^{\rho v_2}\), and \(\Delta \hat{{f}} ^{\rho E}\)), and uses the sharp positivity limiter with global bounds (49) and the semi-discrete entropy limiter (38) at last.

Figure 9 shows the density contours and limiting factors for the Sedov blast simulation using the MCL limiter B at the final time \(t=3\). In this case, the density, pressure, and the semi-discrete entropy limiter act on all components of the anti-diffusive flux. Note that the pressure positivity limiter needs to act less, but the semi-discrete entropy limiter needs to act more than in the MCL limiter A. Moreover, the MCL limiter B removes the Carbuncle-like artifacts at the shock fronts of the blast.

Fig. 9
figure 9

Contours of the density and limiting factors (47) for the DGSEM simulation with MCL limiter B (density factor for all equations, pressure, and entropy limiters) of the Sedov blast test at \(t=3\). The text on the limiting factor plots indicates to which flux the factors are applied

The last variant of the MCL limiter that we test (from now on referred to as MCL limiter C) is a combination of MCL limiters A and B. It uses the MCL limiter for conservative quantities with local bar-state bounds for the density (60), computes the effective limiting coefficient using (61) and applies it to the other conservative quantities, uses the sequential limiter to impose the bounds on “primitive” quantities (50), imposes global bounds on density and pressure (49) with the sharp positivity limiter, and then applies the semi-discrete entropy limiter (38) at last.

Figure 10 illustrates the density and limiting factor contours for the Sedov blast simulation using the MCL limiter C at the final time \(t=3\). Again, the density, pressure, and the semi-discrete entropy limiter act on all components of the anti-diffusive flux. Note that the sequential limiter for the velocities and the total specific energy needs to apply less limiting than in MCL limiter A due to the action of the density limiting coefficient on the momentum and total energy fluxes. The pressure positivity limiter needs to apply less limiting than in MCL limiters A and B, and the semi-discrete entropy limiter does not need to act at all for the snapshot at \(t=3\). As with MCL limiter B, the Carbuncle-like artifacts are no longer present, but the resulting scheme is clearly more dissipative.

Fig. 10
figure 10

Contours of the density and limiting factors (47) for the DGSEM simulation with MCL limiter C (density factor for all equations, sequential limiting, pressure, and entropy limiters) of the Sedov blast test at \(t=3\). The text on the limiting factor plots indicates to which flux the factors are applied

3.6 Alternative Sedov Blast Explosion

An alternative setup for the Sedov Blast Explosion uses a much lower initial pressure for the gas at rest. It is presented in, e.g., [46]. While the initial momentum \(v_1 (t=0) = v_2 (t=0) =0\) and density \(\rho (t=0)=1\) do not differ, total energy is defined such that \(p_0 = 10^{-14}\) holds approximately outside the blast,

$$\begin{aligned} \rho E (t=0) = \frac{p_0}{\gamma - 1} + \frac{E}{(2{\!}\uppi {\!}r_0^2)^{D/2}} \exp \left( -\frac{1}{2}\frac{r^2}{r_0^2}\right) \end{aligned}$$
(62)

with \(r=\sqrt{x^2+y^2}\), \(r_0=5 \times 10^{-3}\), \(E=1\), and number of dimensions \(D=2\).

We tessellate the quadratic domain \(\Omega = [-0.25, 0.25]^2\) with \(64 \times 64\) and \(128 \times 128\) elements, use periodic boundary conditions, run the simulation with the split-form DGSEM and entropy-conserving and kinetic energy preserving flux of Chandrashekar [4] for the volume numerical fluxes, represent the solution with polynomials of degree \(N=3\), run the simulation until \(t=3\), and use CFL  \(=\)  0.9. As for the previous set up, we present the results of the three different limiters A, B, and C in Figs. 1112, and 13, respectively.

Fig. 11
figure 11

Contours of the density and limiting factors (47) for the DGSEM simulation with MCL limiter A (sequential limiting, pressure and entropy limiters) of the alternative Sedov blast test at \(t=3\). The text on the limiting factor plots indicates to which flux the factors are applied

Fig. 12
figure 12

Contours of the density and limiting factors (47) for the DGSEM simulation with MCL limiter B (density factor for all equations, pressure and entropy limiters) of the alternative Sedov blast test at \(t=3\). The text on the limiting factor plots indicates to which flux the factors are applied

Fig. 13
figure 13

Contours of the density and limiting factors (47) for the DGSEM simulation with MCL limiter C (density factor for all equations, sequential limiting, pressure and entropy limiters) of the alternative Sedov blast test at \(t=3\). The text on the limiting factor plots indicates to which flux the factors are applied

This setup of the Sedov Blast allows the comparison with the analytical solution, given in [64]. The exact solution has a density of \(\rho _\textrm{shock}=\frac{\gamma +1}{\gamma -1}\rho _0=6\) right at the shock front for \(\gamma =1.4\). We analyze our results and the exact solution alo the x-axis as shown in Fig. 14. For the visualization of the analytical solution, we use ExactPackFootnote 1 [70], an open-source software package for code verification.

Fig. 14
figure 14

Density along a slice at \(y=0\) for the DGSEM simulations of the alternative Sedov blast test at \(t=3\) and comparison with the exact solution obtained with ExactPack [70]

Figure 14 shows that all versions of the MCL limiter yield a maximum density that is lower than one of the analytical solution, as expected. In the low resolution run (\(64 \times 64\) elements, Fig. 14a), the results for limiters B and C look similar, while the blast wave for limiter A seems to be slightly off. The higher resolution run (\(128 \times 128\) elements, Fig. 14b) shows that all schemes converge towards the exact solution as the mesh is refined. In these simulations, all limiters retain the conservation properties of the FV and DGSEM schemes.

3.7 High-Mach Astrophysical Jet

To test the robustness of the MCL techniques, we simulate a setup inspired by an astrophysical jet application with Mach number \({Ma} \approx 2\, 000\), which was originally proposed by Ha et al. [21]. This extreme benchmark case has been used to stress-test shock-capturing techniques for high-order methods [40, 61, 76].

The computational domain, \(\Omega = [-0.5,0.5]^2\), is filled with a mono-atomic gas (\(\gamma = 5/3\)) at rest with

$$\begin{aligned} \rho (x,y) = 0.5, \quad p(x,y) = 0.412\, 7, \quad v_1(x,y) = 0, \quad v_2(x,y) = 0, \end{aligned}$$

and on the left boundary, there is a hypersonic inflow with

$$\begin{aligned} \rho (-0.5,y_B) = 5, \quad p(-0.5,y_B) = 0.412\,7, \quad v_1(-0.5,y_B) = 800, \quad v_2(-0.5,y_B) = 0, \end{aligned}$$

for \(y_B \in [-0.05, 0.05]\), which corresponds to a Mach number of \({Ma}=2\,156.91\) with respect to the speed of sound of the jet gas, and \({Ma}=682.08\) with respect to the speed of sound of the ambient gas.

We solve this problem using \(256 \times 256\) quadrilateral elements of degree \(N=3\), use periodic boundary conditions for the top and bottom boundaries and characteristics-based inflow/outflow boundary conditions for the left and right boundaries, the entropy-conserving and kinetic energy preserving flux of Ranocha [54] for the volume numerical flux of the DGSEM method, and different MCL and FCT/IDP limiters and CFL numbers.

We first compare the MCL limiter variant C from the previous section with the FCT/IDP method with local bar-state bounds for the density and specific entropy (55) at different CFL numbers. Figure 15 shows that the amount of vortical structures in the density contours at \(t=10^{-3}\) obtained with the FCT/IDP method is highly dependent on the CFL number, whereas the simulations that use the MCL limiter show a weaker dependence on the CFL number. Table 7 further shows that the total number of time steps needed to reach \(t=10^{-3}\) depends linearly on the CFL number for MCL methods, but not for FCT/IDP methods.

Fig. 15
figure 15

Density contours for the astrophysical jet simulations with MCL limiter C (density factor for all equations, sequential limiting, pressure and entropy limiters) and FCT/IDP (density and specific entropy) strategies. DGSEM results with polynomial degree \(N=3\) and \(256\times 256\) elements

The dependence of the spatial discretization on the time-step size for FCT/IDP methods causes the number of vortical structures to be highly dependent on the CFL number and the total number of time steps to be not inversely proportional to the CFL number. In fact, the amount of dissipation is reduced for small CFL numbers, which leads to lower minimum densities and higher maximum pressures in FCT/IDP, as can be seen in Table 7. Something like a feedback effect occurs when the lower densities and higher pressures increase the speed of sound in the medium, which in turn reduces the time-step size even more, which again reduces dissipation (indirectly, due to lowering the bounds of the a-posteriori limiting approach in FCT/IDP). While having reduced dissipation is in general of course desirable, here it is more subtle as one buys the low dissipation with a strongly increased number of time steps, i.e., with a strongly increased CPU time.

Table 7 Total number of time steps, density, and pressure range at \(t=10^{-3}\) for the MCL and FCT/IDP simulations of the astrophysical jet as a function of the CFL number
Fig. 16
figure 16

Density contours for the astrophysical jet simulations with MCL limiters A and C using the cautious and sharp pressure limiters. DGSEM results with polynomial degree \(N=3\) and \(256\times 256\) elements. CFL \(=\) 0.9

Finally, we compare the difference between the sharp pressure positivity limiter ((35) with (34)) and the cautious pressure positivity limiter ((35) with (36)). Figure 16 shows the density contours and pressure limiter limiting factors at \(t=10^{-3}\) obtained with the MCL limiters A and C, and the cautious and sharp pressure positivity limiters. For this particular case, it is clear that the cautious pressure positivity limiter adds significant dissipation in the shear layer of the yet, which suppresses the appearance of vortical structures for both MCL limiters. On the other hand, the sharp pressure positivity limiter adds just enough dissipation to maintain the pressure of all bar states non-negative, and hence allows the development of turbulence.

4 Conclusion

In this paper, we have extended the MCL method to nodal DGSEM that uses LGL points. We have shown that the collocated nature of the LGL-DGSEM approximation greatly simplifies the design of MCL limiters and the derivation of compatible low-order IDP schemes, which are needed to apply the MCL strategy. We have demonstrated the versatility of LGL-DGSEM/MCL methods to solve challenging simulation setups featuring supersonic, hypersonic and turbulent flow regimes. We have compared the performance of MCL methods and predictor-corrector-type FCT subcell limiting methods. Unlike FCT methods, the amount of dissipation (and hence the spatial discretization) obtained with MCL techniques does not depend on the time-step size. As a result, time convergence can be expected for MCL but not for FCT schemes in problems that need stabilization.