Comparison between a priori and a posteriori slope limiters for high-order finite volume schemes
Abstract
High-order finite volume and finite element methods offer impressive accuracy and cost efficiency when solving hyperbolic conservation laws with smooth solutions. However, if the solution contains discontinuities, these high-order methods can introduce unphysical oscillations and severe overshoots/undershoots. Slope limiters are an effective remedy, combating these oscillations by preserving monotonicity. Some limiters can even maintain a strict maximum principle in the numerical solution. They can be classified into one of two categories: a priori and a posteriori limiters. The former revises the high-order solution based only on data at the current time , while the latter involves computing a candidate solution at and iteratively recomputing it until some conditions are satisfied. These two limiting paradigms are available for both finite volume and finite element methods.
In this work, we develop a methodology to compare a priori and a posteriori limiters for finite volume solvers at arbitrarily high order. We select the maximum principle preserving scheme presented in [1, 2] as our a priori limited scheme. For a posteriori limiting, we adopt the methodology presented in [3] and search for so-called troubled cells in the candidate solution. We revise them with a robust MUSCL fallback scheme. The linear advection equation is solved in both one and two dimensions and we compare variations of these limited schemes based on their ability to maintain a maximum principle, solution quality over long time integration and computational cost.
This analysis reveals a fundamental tradeoff between these three aspects. The high-order a posteriori limited solutions boast great quality at long time-scales, taking full advantage of the sharp gradients of the high-order finite volume method. However, they introduce consistent maximum principle violations. On the other hand, the high-order a priori limited solutions can preserve a strict maximum principle. Interestingly, this is still true when the classic fourth-order Runge-Kutta method is used, despite it not being classified as strong-stability-preserving. However, we find a serious drawback; with a spatial polynomial reconstruction of degree five or higher, the a priori limited solution becomes dominated by numerical artifacts and diffusion, exhibiting much worse solution quality than their a posteriori counterparts. Convex blending of revised fluxes reduces the magnitudes of the violations produced by a posteriori limited schemes, but at the expense of more visible numerical artifacts.
Moreover, we compare two methods for computing the flux integrals along two-dimensional cell faces, revealing that one option is more cost-effective but leads to particularly large violations when used with the a priori limited scheme. Consequently, the a priori limited scheme is forced to use the more costly flux computation, making it significantly more expensive at higher-order than the a posteriori limited scheme on CPU architecture. This cost difference can be almost entirely mitigated using a GPU implementation of the same schemes, highlighting that GPUs are well-suited for high-order finite volume stencil operations.
keywords:
Hyperbolic conservation laws, Finite volume schemes, MUSCL schemes, Explicit Runge-Kutta methods, Maximum principle preservation, A priori slope limiters, A posteriori slope limiters[label1]organization=Program in Applied & Computational Mathematics, Princeton University, addressline=Washington Road, city=Princeton, postcode=08544, state=NJ, country=USA
[label2]organization=Department of Astrophysical Sciences, Princeton University, addressline=171 Broadmead Street, city=Princeton, postcode=08540, state=NJ, country=USA
Developed experimental methodology with which to compare a priori and a posteriori slope limiters for arbitrarily-high-order finite volume schemes.
Conducted numerical tests for the linear advection equation in one and two dimensions.
Demonstrated a tradeoff between maximum principle violations, long time-scale numerical solution quality, and computational cost.
1 Introduction
There have been significant advancements in the development of numerical schemes for hyperbolic conservation laws over the past few decades. With increasing demands for precision and reliability in simulations across fields like fluid dynamics, astrophysics, and climate modeling, there is a growing trend toward conducting simulations at higher resolutions.
More recently, there has been a shift in focus towards high-order numerical schemes, typically referring to those of order three or higher. These schemes offer several advantages over their lower-order counterparts, including improved resolution of fine details, reduced numerical diffusion over extended time scales, and the capability to capture sharper gradients and discontinuities. Moreover, in problems with smooth solutions, higher-order schemes exhibit exponentially lower errors as the order increases, meaning they can achieve the same accuracy as a given low-order scheme with a significantly lower resolution.
However, they also come with a significant drawback when dealing with solutions that contain discontinuities: Using higher-degree interpolation polynomials can create unphysical oscillations and severely overshoot/undershoot the true solution bounds. In problems involving the conservation of a scalar , it may be essential for the numerical solution to satisfy the maximum principle, which defines a range of values represented by and , where is the initial condition. These spurious oscillations violate the maximum principle condition , making it challenging to enforce physical properties such as the positivity of density or pressure. In fact, Godunov’s theorem asserts that any linear scheme higher than first-order will not strictly preserve the maximum principle of a scalar conservation law [4]. Maximum principle violations are catastrophic for solvers of many nonlinear conservation laws, rendering linear high-order schemes useless for such problems.
As far as linear schemes for conservation laws go, there are three popular spatial discretizations: finite difference (FD), finite volume (FV), and finite element (FE) methods. FD/FV methods can be made higher-order simply by increasing the size of the stencil used to interpolate spatial derivatives from nodes/cells and their neighbors. FV methods are particularly attractive for conservation laws because they can easily be defined to conserve solution quantities to numerical precision. Additionally, as demonstrated in the text, they remain stable with explicit Runge-Kutta methods even for large CFl factors.
In the realm of scientific computing, finite element (FE) methods, especially the discontinuous Galerkin (DG) method, have gained increasing popularity. In DG, the numerical solution is represented using a polynomial basis within a domain region known as an element. By using higher-degree polynomials across fewer elements, the number of discontinuities between solutions is relatively low compared to an equivalent FV scheme. This aspect is crucial, particularly when addressing these discontinuities involves costly Riemann solvers.
Many techniques have been developed to help numerical solutions preserve local monotonicity and avoid these violations. For instance, the artificial viscosity method adds a physical diffusion term to the underlying equation in order to smooth numerical solutions near discontinuities or elsewhere [5, 6, 7, 8, 9].
Another approach is to utilize a slope limiter, an operator designed to reduce the slopes of the piecewise reconstruction of a solution, thereby enforcing monotonicity. The key point is that this operator is nonlinear, allowing schemes to break free from the constraints of Godunov’s theorem. There are many examples of limited schemes in the literature. The MUSCL scheme introduced by Van Leer [10] is a second-order scheme that strictly preserves a given maximum principle. Later came the popular TVD limiter [11] and the PPM scheme [11]. The ENO [12] scheme and WENO scheme [13] were introduced as a means to preserve the high-order accuracy of FV schemes while reducing oscillations near discontinuities.
A strictly maximum principle-preserving (MPP) scheme working at arbitrarily high order was introduced by Zhang & Shu [1, 2]. Their method calculates the numerical solution as a convex combination of high-order and first-order updates. It is guaranteed to satisfy the maximum principle if a sufficiently small CFL factor is used along with first-order forward Euler integration or another Runge-Kutta method equivalent to a convex combination of Euler steps. These methods are known as Strong-Stability-Preserving (SSP) integrators. While the popular fourth-order explicit Runge-Kutta method is not classified as Strong Stability Preserving (SSP), it exhibits quasi-SSP behavior for certain problems [14]. Therefore, we will evaluate its compatibility with MPP schemes.
it behaves as a quasi-SSP integrator, enabling schemes to maintain a strict maximum principle.
While slope limiters are popular tools when solving discontinuous problems with FV schemes, and can even guarantee the avoidance of maximum principe violations, they have drawbacks for FE. These popular limiters often necessitate reducing the degree of interpolating polynomials to zero to prevent overshoots and undershoots. However, in FE methods where polynomial elements cover large spatial regions, reducing an element to first-order significantly compromises the accuracy of the overall solution.
An important advancement in addressing this issue of slope limiting for FE was made by considering a posteriori limiters. Unlike traditional a priori limiters, which use data at to compute a limited update at in explicit schemes, a posteriori limiters compute a candidate solution at and revise it until it satisfies the problem requirements. This concept, introduced by Krivodonova [15] and Clain et al. [3] as MOOD, involves reducing an element solution by one degree at a time, limiting the solution slope while only reverting to first-order when necessary.
Vilar & Abgrall [16] introduced a novel concept to further localize changes made to the high-order solution by the limiter. In their approach, a subgrid of FV cell averages is interpolated from any FE of the candidate solution that violate positivity or other prescribed condition. In FV, a posteriori limiting is executed on a cell-by-cell basis, identifying to called troubled cells whose fluxes need to be revised [3, 17, 18]. A robust fallback scheme computes the revision of this intermediate FV solution, after which a the high-degree polynomial of the element is reconstructed from these limited cell averages. This fallback scheme can be the FV MOOD scheme [3] or any of the other limited schemes discussed here.
The spectral difference (SD) method is another FE approach that can be shown to be equivalent to a quadrature free nodal DG scheme [19, 20]. Velasco et al. [18] took advantage of the fact that the SD method offers a natural interpretation as a nonuniform FV grid, avoiding the need to interpolate between two solution representations.
For FV schemes, the a priori and a posteriori limiting paradigms have fundamentally different implementations and trade-offs. Zhang & Shu’s limiter [1, 2] maintains a strict maximum principle for high-order schemes, but is computationally costly due to the reduced CFL condition and the many nodal reconstructions for the flux quadrature. The cost of the small CFL factor can be mostly mitigated by using an adaptive time-step size [21]. GPUs, renowned for their ability to execute numerous matrix multiplications as a single vectorized operation, might also potentially mitigate this issue. This is because each nodal reconstruction corresponds to a stencil that can be computed through matrix multiplication.
The cost of the nodal reconstructions is more severe in two dimensions or higher. While the two-dimensional finite volume (FV) flux integral can be reconstructed in various ways, Zhang & Shu’s limiter [1, 2] use a Gauss-Legendre quadrature. This quadrature method requires a node count per cell face that grows linearly with the polynomial degree. In contrast, transverse flux reconstruction [see e.g. 22, 23, 24] uses only one node per cell face, making it a significantly more economical option. We will investigate whether the Zhang & Shu [1, 2] a priori slope limiter can still be used in an MPP scheme when transverse flux reconstruction is exploited. Previous studies combining an a priori limiter with transverse flux reconstruction have resulted in significant violations of the maximum principle [23].
Another limitation of MPP, a priori limiters is that, at high-order and after long time-scales, their numerical solutions can be dominated by numerical artifacts and diffusion [25]. The high-order schemes in this case actually perform worse at long time-scales than, say, second-order MUSCL-Hancock. Perhaps the trade-off of a strictly MPP scheme is that is too stringent with the permitted slopes as a means to enforces monotonicty. It is unclear how the a posteriori limiting compares in this regard.
The a posteriori limiters presented here do not require the use of Gauss-Legendre quadrature in two dimensions, making them automatically more cost-effective. However, these limited schemes often violate the maximum principle of the problem at hand, as they lack a guarantee to the contrary. Vilar & Abgrall [16] discovered that extending the convex blending of revised and high-order fluxes to a region of neighbors around each troubled cell reduces the magnitude of these violations. Rueda-Ramírez et al [26] showed that a more sophisticated version of this blending can be formulated so as it guarantee the satisfaction of physical bounds on solution variables. Nevertheless, it remains unclear how well a high-order, MPP a posteriori limited scheme performs over long time scales and whether they suffer from the same dominance of numerical artifacts as the a priori limited schemes.
In this study, we develop a methodology to compare a priori and a posteriori limited explicit finite volume (FV) schemes at arbitrarily high orders. We chose FV as the base scheme over finite element (FE) methods, as modern FE schemes revert to FV when encountering violations, anyways. We solve the linear advection equation in one and two dimensions through a series of numerical experiments. The numerical solutions obtained from the two limiting paradigms are compared with respect to their maximum principle violations and their quality over long time-scales. Furthermore, we evaluate the computational costs of these methods on traditional CPU architecture as well as GPUs.
In Section 2, we give an overview the finite volume method and the various slope-limiting techniques compared in this work. Section 3 conveniently summarizes the a priori and a posteriori limited schemes studied in our numerical experiments. The results of those experiments are presented in Section 4, where we validate our high-order FV and MPP implementations and compare the high-order slope-limited schemes’ maximum principle violations, solution quality at long time-scales, and computational cost. Additional commentary regarding the experiments is provided in Section 5 and conclusions are drawn in Section 6.
2 Numerical methods
We consider the scalar conservation law
(1) |
for , where is a conserved scalar, is a flux function and is the number of dimensions. We begin with the one-dimensional case (), and rewrite (1) into the initial value problem
(2) |
In the finite volume formulation, the spatial domain is partitioned into finite intervals, or cells and the cell volume average is defined at time as
(3) |
where is the length of , chosen to be uniform in this work. Combining (2) with (3) and applying the divergence theorem, the semi-discrete form is written
(4) |
The nodal values are obtained by reconstructing as a polynomial piecewise on each interval and evaluating it at the cell edges. is a conservative interpolation polynomial such that and is found by taking the derivative of the Lagrange polynomial which interpolates the first moment of in some kernel of cells containing [12, 27, 28]. The size of the kernel limits the accuracy the polynomial degree of and, consequently, the order of accuracy of the finite volume scheme; is of degree when it is reconstructed from a kernel of exactly neighboring cells, so a smooth is approximated with on .
The evaluation of is summarized as stencil operations in Table 1 for various degrees . We select only those stencils that are symmetric so as to simplify our implementation and minimize the number of cells that must be adjusted to enforce boundary conditions. For odd-degree polynomials (which require a kernel of even size), we take the average of the left- and right-biased stencils.
0 | |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 |
To resolve the Riemann problem presented by the nodal values and interpolated for cells and , respectively, a numerical flux function is written as . must be a Lipschitz continuous function of both arguments, physically consistent with (), and monotone, which is to say that it is non-decreasing in its first argument and non-increasing in its second argument [29]. We use here
(5) |
which satisfies these requirements.
In the case of linear scalar advection with uniform advection velocity , given by
(6) |
the Riemann solver given by (5) is known as the upwind solution.
The semi-discrete scheme (4) is rewritten with numerical fluxes as
(7) |
and the definition of the order finite volume dynamics, given by the high-order spatial discretization , is complete.
2.1 Time discretization
The ordinary differential equation (ODE) in (7) has the general form
(8) |
The stability of the numerical solution of (8) obtained from Runge-Kutta integration techniques depends on both as well as the particular Runge-Kutta method used. We will present different Runge-Kutta schemes in the form of Butcher tableaus, defined as follows:
Given times and , the -stage Runge-Kutta update for is written as:
(9) |
where
and , , and are given in the form of Table 2.
The stabilty of Runge-Kutta schemes are assessed with the Dalquist test. Here, we assume linear dynamics , where are the eigenvalues of in (8) [30, 31]. The values of that result in give the linear stability region for each integration scheme.
To assess the stability of the spatial discretization in (7), we analyze the modified wavenumber of after assuming a harmonic solution [32]. This amplification factor is translated to -space through the Courant-Friedrichs-Lewy (CFL) factor, given by , where we set , for reference.
The fully-discrete scheme combines (7) with a Runge-Kutta scheme. If the complete range of modified wavenumbers of falls entirely within the stability region of a Runge-Kutta scheme, then the fully-discrete scheme is considered stable. For example, the forward Euler method, defined in Table 3, is shown in Figure 1. Only the first-order spatial discretization is contained within the stability region. Any higher-order combined with the forward Euler method results in numerical instabilities.
The second- and third-order Strong Stability Preserving Runge-Kutta methods (referred to as SSPRK2 and SSPRK3, respectively) are defined in Tables 4 and 5, where the Strong Stability Preserving property ensures a strict maximum principle is maintained in the numerical solution [1, 2, 33, 34, 35]. The maximum principle of (1) is given by and if for all and [1, 2]. The first-order upwinding scheme paired with the forward Euler method is termed maximum-principle-preserving (MPP) as it guarantees throughout the computational domain [1, 2]. Furthermore, any time integration method that is equivalent to a convex combination of forward Euler steps (like SSPRK2 and SSPRK3) will also be MPP for [1, 2].
Due to the Godunov order barrier theorem, any with will not be MPP when used with any linear numerical ODE method. This issue is addressed later with additional numerical techniques.
Figure 1 shows that SSPRK2 is stable for , . It is only apparent from closely zooming into that the eigenvalue track of falls slightly outside the stability region of SSPRK2. On the other hand, SSPRK3 and all higher-order Runge-Kutta methods provided, remain stable for through .
The classic fourth-order Runge-Kutta method (RK4), as defined in Table 6, is not a convex combination of forward Euler steps. Despite this, it has been demonstrated to be quasi-SSP [14]. We will further investigate how RK4 performs when used with MPP and approximately-MPP spatial discretization methods that are outlined in subsequent subsections.
The highest time integration method used in this work is sixth-order Runge-Kutta (RK6), given in Table 7 [36]. While it is not anticipated to maintain a strict maximum principle when used in conjunction with any spatial discretization, it will be useful for conducting tests involving very high-order schemes.

2.2 A priori slope limiting
We introduce the concept of a slope limiter, which is a modification to the basic finite volume method described in (7), enabling higher-order () solvers to achieve MPP or approximately-MPP behavior. In the presence of discontinuities, higher-order interpolation polynomials can exhibit unphysical oscillations. These oscillations disrupt the local monotonicity of the numerical solution and may cause violations of the maximum principle. Slope limiters aim to mitigate these issues by locally reducing the polynomial degree of the spatial discretization where oscillations are detected, thereby ensuring a smoother gradient at discontinuities. Importantly, slope limiters are designed to maintain the conservative property of the base finite volume scheme.
In this work, we focus on the distinction between a priori and a posteriori slope limiters. A priori slope limiters detect oscillations from only the data at , which is used to compute the slope-limited update at . On the other hand, a posteriori slope limiters involve computing a candidate solution at and computing revisions of this tentative solution after the facts.
Zhang & Shu [1, 2] developed an a priori finite volume slope limiter that is MPP at arbitrary order. Their method relies on a parameter , which blends high-order and first-order interpolations of the nodal values within each cell, resulting in the following modified polynomial
(10) |
Here, and are the maximum and minimum of each cell and its adjacent neighbors. and denote the maximum and minimum of evaluated on the set of the -point Gauss-Lobatto quadrature points .
It is evident from (10) that the high-order nodal values are limited when . This happens when the difference between the unlimited polynomial interpolation of over and the first-order interpolation is greater than the difference between the local maximum principle, represented by and , and — precisely what occurs in the presence of a spurious oscillation.
The Gauss-Lobatto quadrature rule for computing an integral is exact for polynomials of degree or less, so is chosen to be the smallest integer such that . Since requires nodes other than , we need additional stencils to the ones provided in Table 1 in order to compute . We will address this later with a slight modification of the original method.
Zhang & Shu’s a priori slope-limited spatial discretization is guaranteed to satisfy the maximum principle if it is solved with an SSP Runge-Kutta method and also if it satisfies a reduced CFL condition [1, 2]. Let be the weights of the -point Gauss-Lobatto quadrature rule such that . We write this reduced CFL condition as
(11) |
Values of are provided in Table 8.
Quadrature points on | ||
---|---|---|
0, 1 | ||
2, 3 | ||
4, 5 | ||
6, 7 |
The reduced (resulting in a reduced ) and the increase in the required number of interpolated values make the a priori limiting scheme significantly more costly at higher order. To mitigate this issue, we propose two modifications.
-
1.
First, we suggest simplifying the set of points used to compute for . Instead of computing and by finding the minimum and maximum of evaluated at the Gauss-Lobatto quadrature points , we use only three points , where is the centroid of the cell. This reduced set of points is referred to as the centroid set.
-
2.
The second modification involves adopting an adaptive time-step size. The reduced CFL condition (11) requires significantly smaller at higher order. However, in practice, the small time-step size is only necessary for the initial steps when the numerical solution features sharp continuities. As the numerical solution becomes progressively smoother, larger time-step sizes can be used while maintaining a strict maximum principle. We follow the adaptive time-stepping technique proposed by [21], where is recomputed if it violates the maximum principle with . This process is repeated until the solution is MPP, or once satisfies (11), at which point the step will be MPP, regardless. In this modification, we initially attempt at each step.
2.3 A posteriori slope limiting
Another approach to the problem of slope limiting is the a posteriori limiter, first implemented by Clain et al as Multi-dimensional Optimal Order Detection (MOOD) [3]. Here, a candidate solution at is computed and screened for troubled cells. These cells are identified based on violations of the maximum principle or other predefined criteria. Subsequently, the solutions at troubled cells are locally recomputed using a lower-order scheme, generating a new candidate solution. This new solution is then reevaluated for troubled cells, and the process continues until either no troubled cells remain or there are no lower-order schemes with which to revise them.
An alternative approach, proposed by [18] for the Spectral Difference (SD) finite element framework, jumps straight to a robust, second-order fallback scheme to recompute troubled cells. Since there is only one revision step in this implementation, it skips the cumbersome recomputing of solutions with one less polynomial degree at a time that is required by MOOD. The fallback scheme used in [18] is the well-established second-order MUSCL-Hancock reference scheme, which is strictly MPP. The methodology of [18] functions like MOOD with only two options for the so-called “cascade of schemes”: and .
Regardless of the implementation details of the a posteriori limiter, the underlying concept is akin to that of a priori slope limiting: when an interpolation polynomial exhibits unphysical oscillations, resulting in over or undershoots beyond a permissible range, the local degree of the interpolation polynomial should be reduced in such problematic regions.
In this work, we take inspiration from [18] and use MUSCL-type schemes to revise our high-order candidate solutions at each step if needed.
Let denote the candidate solution of cell for time . A cell is flagged as troubled if it does not satisfy the condition for numerical admissibility detection (NAD):
(12) |
where and are defined the local maximum principle from the previous subsection and is a small tolerance, chosen to be [18]. is useful in regions where the numerical solution is uniform, since the local maximum principle and will otherwise be sensitive to the slight oscillations, flagging more cells as troubled than needed.
2.3.1 MUSCL Fallback scheme
The nodal interpolations given by a second-order MUSCL scheme can be written
(13) |
where is a modification of the local slope multiplied by :
(14) |
The slope limiter satisfies
(15) |
where a value of 1 gives the degree nodal interpolation and 0 gives (see Table 1), so it functions exactly like , the high-order a priori slope limiter.
Let be the index of a troubled cell. We compute the fluxes given by the fallback scheme
(16) |
and reassign high-order fluxes from (7) with .
The fallback scheme is only second-order when coupled with a second-order or higher Runge-Kutta method. In this setup, we search for troubled cells and compute their revised fluxes at each integration stage. This requires computing a candidate solution for each stage, which is achieved by performing an Euler step with a time-step size given for each of the stages as in chosen Runge-Kutta method’s Butcher Tableau.
The left and right differences of cell are defined:
(17) |
Then, the minmod-limited difference is given by
(18) |
Note that the MUSCL and MUSCL-Hancock schemes are strictly MPP when using this limiter.
The central differences of cell is defined:
(19) |
Then, the moncen-limited difference is given by
(20) |
The moncen limiter is strictly MPP like minmod with the added advantage of being significantly less diffusive.
2.3.2 Blended flux correction
Recent work by Vilar & Abgrall [16] found that blending the high-order and fallback fluxes of the cells neighboring one that is troubled improves the preservation of the maximum principle. Instead of assigning a high-order or fallback flux at each cell interface, we assign a convex combination of the two:
(21) |
where is computed at each cell with the so-called naive procedure outline by [16]. The procedure is the following. If cell is troubled, it is given . If it is not troubled and immediately adjacent to a troubled cell, it is given . If a cell is not troubled and located two cell positions away from the nearest troubled cell, it is given . Finally, if a cell is not troubled and three or more cell positions away from the nearest troubled cell, it is given . An example is shown in Figure 2.
Note that the non-blended flux correction is recovered by setting when cell is troubled and otherwise.

2.4 Smooth extrema detection
The well-known drawback of a priori and a posteriori slope limiters alike is that they can reduce the accuracy of the numerical solution in smooth, well-behaved regions where they are not needed. To combat this issue, we implement smooth extrema detection (SED), which modifies the slope limiter such that it deactivates at cells which are flagged as smooth extrema.
The derivative of the solution is evaluated using a central finite differences approximation:
(22) |
Central, left, and right differences are taken from these first differences, giving
(23) |
With these second derivative terms, we define the left and right smoothness indicators
(24) |
The overall smoothness indicator of cell is the minimum of the two:
(25) |
Then, we flag cell as a smooth extremum if and only if
(26) |
This implementation can create small violations of the maximum principle if it permits undershoots or overshoots in smooth regions. In such cases, we ignore the suggestion of the SED algorithm and use the limited slope. Since we want to avoid the excessive sensitivity of our slope limiting in regions where the solution is uniform, we introduce an additional small tolerance , chosen to be . The SED procedures for a priori and a posteriori slope limiting are given in Algorithms 1 and 2, respectively.
2.5 Modifications of the slope-limited, finite volume schemes for two dimensions
The two-dimensional () form of (1) writes
(27) |
where and are one-dimensional flux functions in the - and -directions, respectively.
For the finite volume formulation, we partition the domain into intervals . Then, the finite volume cell average is defined as
(28) |
where the interval side lengths, chosen to be equal and uniform in this work, are given by .
The semi-discrete scheme in two-dimensions is written as
(29) |
where and are the numerical fluxes. The traces of along each cell face are given by the cell-wise conservative polynomial reconstruction . Namely,
(30) |
2.5.1 Gauss-Legendre quadrature
Each numerical flux in (29) appears as an integral along its respective cell face. We present two options with which to evaluate the integral, the first being the Gauss-Legendre quadrature rule, summarized in Table 9.
Along each cell face, nodal values of corresponding to the positions of the Gauss-Legendre quadrature points are interpolated by the conservative polynomial . This interpolation process is equivalent to a stencil operation; While the stencils in Table 1 are presented for the one-dimensional finite volume method, they can still be applied in two-dimensions: first to reconstruct line averages from the two-dimensional cell volume averages and then to interpolate nodal values from those line averages.
Stencil operations corresponding to the reconstruction at the Gauss-Legendre quadrature points are not provided in Table 1, but can be derived via the same procedure.
The point-wise numerical flux is then computed at each cell face, with each point requiring its own Riemann solution (see Figures 3(a) and 3(b)). For example, suppose we interpolate nodal values of along the face of cell corresponding to the positions of the -point Gauss-Legendre quadrature . Then we must compute where and . Finally, the integral along the cell face is given by
(31) |
, where are the -point Gauss-Legendre quadrature points such that .
The -point Gauss-Legendre quadrature rule is exact for polynomials of degree or less, so is chosen as the smallest integer such that .
2.5.2 Transverse flux reconstruction
Alternatively, the integral of the flux along cell faces can be computed using only one node from adjacent cell faces. In this method, we interpolate the nodal values of at the midpoint of each cell face from the reconstructed conservative polynomial (see Figure 3(c)). Stencil operations corresponding to this midpoint interpolation are given in Table 10. For instance, let’s take the nodal value , which is defined at the midpoint of the face. The single point-wise flux at each face is then given by the Riemann problem . The face integral of this numerical flux can be evaluated by constructing a Lagrange interpolation polynomial at the neighboring point-wise fluxes, all uniformly spaced by a distance of . Since the integral of the flux along the cell face depends on the values of cell faces located transverse to itself, this method is referred to as transverse flux reconstruction. Stencil operations corresponding to this integral are given in Table 11. The stencil length is always chosen such that it is exact for polynomials of degree .
Quadrature points on | Quadrature weights | |
---|---|---|
0, 1 | ||
2, 3 | ||
4, 5 | ||
6, 7 |
0, 1 | |
---|---|
2, 3 | |
4, 5 | |
6, 7 |
0, 1 | |
---|---|
2, 3 | |
4, 5 | |
6, 7 |
2.5.3 A priori slope limiting in two dimensions
(32) |
Here, and represent the maximum and minimum, respectively, taken over the neighboring cells . As in one dimension, and are the maximum and minimum of the nodal interpolations of corresponding to the Gauss-Lobatto quadrature points, but there is added complexity in two-dimensions. When the -point Gauss-Legendre quadrature is used to evaluate the integral of the cell face fluxes, the -points corresponding to the Gauss-Lobatto quadrature are reconstructed along each of the traces, in both the - and - directions (see, for example, Figure 3(a)).
To avoid the significant cost associated to this complex procedure, we introduce again the centroid set but in two dimensions. Here, we compute and using the nodes along cell faces used for flux computations as well as the cell centroid, without resorting to the Gauss-Lobatto quadrature points in the cell interior. Examples of this approach are illustrated in Figures 3(b) and 3(c) for Gauss-Legendre and transverse flux reconstructions, respectively.



2.5.4 A posteriori slope limiting in two dimensions
The second-order, slope-limited MUSCL interpolations in two dimensions are written as
(33) |
where the limited slopes are defined in both the and directions:
(34) |
The minmod and moncen slope limiters act independently in both directions. However, neither slope limiter used in this way results in a strictly MPP MUSCL scheme. Therefore, we introduce a third slope limiter: the positivity-preserving (PP) slope limiter, which was first presented by [37] as a means to allow MUSCl-Hancock to be positivity-preserving in two-dimensions.
The PP slope limiter neighbor differences are defined as
(35) |
and
(36) |
where . The limited slopes (34) become
(37) |
where
(38) |
With the fallback scheme established in two dimensions, we define the convex blending of corrected fluxes presented by Vilar & Abgrall [16]. Let the high-order face flux integrals be written
(39) |
and
(40) |
Similarly, let the fallback face flux integrals be written
(41) |
and
(42) |
An integral quadrature is not needed because the cell face midpoint is already a second-order approximation (see Table 11). Then, the blending formula (21) becomes
(43) |
in two dimensions.
The blending parameter is computed at each cell via the following procedure introduced by Vilar & Abgrall: If cell is troubled, set . If cell is not troubled and it shares a face with a troubled cell, set . If cell is not troubled and it shares a corner with a troubled cell, but not a face, set . If cell is not troubled and its Euclidean distance from the nearest troubled cell is 2 cell units, set . If cell is not troubled and its Euclidean distance from the nearest troubled cell is greater than 2 cell units, set . See Figure 4 for examples.


2.5.5 Smooth extrema detection in two dimensions
The one-dimensional smoothness indicator , as defined in (25), is computed at each cell in both the - and -directions. Let and denote the indicators computed in these directions. Then, cell is considered a smooth extremum only if
(44) |
3 Summary of numerical schemes
We have seen a variety of options for slope limiters as modifications to the high-order finite volume semi-discrete scheme. We summarize in this section the semi-discrete schemes that are studied via numerical experiments in Section 4. In all presented semi-discrete schemes, the degree of the conservative interpolation polynomial is left unspecified, allowing for variation in the numerical experiments. It is important to note that the presented schemes are only semi-discrete; the fully-discrete scheme is only defined once a Runge-Kutta integration method is chosen.
For the one-dimensional advection equation, we examine three semi-discrete schemes: aPrioriMPP, aPosteriori, and aPosterioriB. These schemes are named based on their adoption of either the a priori or a posteriori slope limiting paradigm, as summarized in Table 12.
In aPrioriMPP, the slope limiter , is computed using the centroid set instead of the Gauss-Lobatto set of Zhang & Shu [1, 2], a substitution we find sufficient for maintaining the MPP property. We also replace Zhang & Shu’s reduced CFL factor [1, 2] with the adaptive time-step size of Huang et al [21]. The initial time-step size is deduced from an initial CFL factor of 0.8. This way, aPrioriMPP achieves more competitive speed performance.
The a posteriori slope limiting semi-discrete schemes aPosteriori and aPosterioriB use the moncen slope limiter in their MUSCL fallback scheme. aPosterioriB features the convex blending of revised fluxes introduced by Vilar & Abgrall [16].
In the context of the two-dimensional advection equation, detailed semi-discrete schemes are outlined in Table 13. An essential specification for these schemes is the flux integral method. Specifically, aPrioriMPP constructs cell face fluxes with Gauss-Legendre quadrature, while aPrioriT uses a transverse flux reconstruction. We disable the adaptive time-step size for aPrioriT due to maximum principle violations observed with this combination (even when the reduced CFL factor is used).
In two dimensions, we observe that a posteriori schemes exhibit similar maximum principle violations regardless of flux reconstruction method, so we opt for the cheaper option (transverse) in aPosteriori and aPosterioriB. PP, the two-dimensional slope limiter of Suresh [37] is chosen as the slope limiter of the MUSCL fallback scheme in these cases.
Smooth extrema detection is enabled across all semi-discrete schemes in both one and two dimensions.
Scheme | set | Adaptive | Fallback limiter | Blending | |
---|---|---|---|---|---|
aPrioriMPP | Centroid | 0.8 | Yes | — | — |
aPosteriori | — | 0.8 | No | moncen | No |
aPosterioriB | — | 0.8 | No | moncen | Yes |
Scheme | Flux reconstruction | set | Adaptive | Fallback limiter | Blending | |
---|---|---|---|---|---|---|
aPrioriMPP | Gauss-Legendre | Centroid | 0.8 | Yes | — | — |
aPrioriT | Transverse | Centroid | 0.8 | No | — | — |
aPosteriori | Transverse | — | 0.8 | No | PP | No |
aPosterioriB | Transverse | — | 0.8 | No | PP | Yes |
4 Numerical results
In this section, we perform a series of numerical tests of our implementation of the finite volume method and the performance of the various slope limited schemes. In these tests, the linear advection equation is solved in 1D and 2D. The polynomial degree of the spatial interpolation polynomial is given by , the number of cells in one direction is represented by , and for 2D solutions, an array of cells is used. is the uniform grid spacing, where is the length of the computational domain.
The maximum principle of a linear advection problem with initial condition is given by and . To indicate the presence of a maximum principle violation in our numerical solutions, we define
(45) |
and
where the indices and cover the entire computational domain and the index covers all time-steps (see [25]). Negative values of imply a violation of the maximum principle. We consider numerical solutions with -1E-10 to sufficiently preserve the maximum principle and refer to such solutions as approximately MPP.
4.1 One-dimensional advection of the composite profile
We perform a 1D advection test using the classic composite profile for [25, 15, 38], with a velocity , and a periodic region . The problem is solved with aPrioriMPP, aPosteriori, and aPosterioriB schemes up to for various polynomial degrees and Runge-Kutta methods.
Results are shown in Table 14. aPrioriMPP produces very good MPP numerical solutions for all given values of and all SSP Runge-Kutta methods, as well as RK4. In contrast, a posteriori solutions exhibit violations in all cases. Using RK4 instead of SSPRK3 results in smaller violations for the a posteriori slope limited schemes. These violations are made smaller still through the use of convex blending for the revised fluxes, in some cases by several orders of magnitude. We observe that the magnitude of the maximum principle violations of the a posteriori slope limited schemes do not strictly decrease with or the number of time-steps. In general, they do decrease with increasing .
Integrator | aPrioriMPP | aPosteriori | aPosterioriB | |
---|---|---|---|---|
1 | SSPRK2 | -2.22E-18 | -1.04E-02 | -4.57E-03 |
2 | SSPRK3 | -2.82E-19 | -6.52E-03 | -8.70E-04 |
3 | SSPRK3 | -2.12E-11 | -7.85E-03 | -2.05E-04 |
RK4 | -1.10E-11 | -6.44E-05 | -5.37E-05 | |
4 | SSPRK3 | -1.58E-12 | -6.83E-03 | -2.83E-04 |
RK4 | -3.91E-11 | -4.13E-05 | -6.43E-05 | |
5 | SSPRK3 | -5.43E-11 | -7.91E-03 | -2.08E-04 |
RK4 | -3.27E-12 | -1.00E-04 | -1.40E-08 | |
6 | SSPRK3 | -1.43E-11 | -7.46E-03 | -1.97E-04 |
RK4 | -1.50E-13 | -5.86E-07 | -2.38E-07 | |
7 | SSPRK3 | -4.33E-14 | -7.70E-03 | -2.64E-04 |
RK4 | -5.70E-11 | -3.35E-04 | -1.81E-06 |
Figures 5 and 6 shows our numerical solutions at different times generated by aPrioriMPP and aPosterioriB schemes as well as second-order MUSCL-Hancock. For , aPrioriMPP is solved with SSPRK3 since RK4 is found to result in excessive numerical diffusion. Meanwhile, aPosterioriB uses RK4 for and RK4 since this combination exhibits smaller violations of the maximum principle, as seen in Table 14.
After one period of advection, the numerical solutions of aPrioriMPP and aPosterioriB appear quite similar when is the same. Those with are of particularly good quality at this time, but the key difference remains that aPrioriMPP maintains the maximum principle for all while aPosterioriB results in significant violations.
After 100 periods, the higher- () schemes show greater resilience to numerical diffusion than their lower-order counterparts, as they better preserve the initial composite profile. Numerical artifacts become apparent as increases at this longer time, with aPrioriMPP showing slightly more pronounced artifacts. MUSCL-Hancock outperforms our third-order schemes, but shows greater numerical diffusion than our higher-order implementations.
Comparing our results for aPrioriMPP at and to a similar test conducted by Kuzmin et al with their own MPP schemes [25], we observe significantly less numerical diffusion and artifacts in our implementation. This is because Kuzmin et al use a fourth-order, five-stage and sixth-order, seven-stage Runge-Kutta method for and , respectively [25], while we use SSPRK3 with only three stages in these cases. Granted, this makes their fully-discrete schemes truly high-order, while ours are capped at third-order by SSPRK3; The benefits of very-high-order finite volume schemes are highlighted in a later experiment. However, there is a clear disadvantage of the very-high-order time integration for problems with non-smooth initial data, such as the composite profile.
As is shown in later experiments, the a priori limiting schemes of both Zhang & Shu [1, 2] and Kuzmin et al [25] are much more conservative than the a posteriori limiting schemes in the magnitude of slopes they permit in the presence of discontinuities. Consequently, the a priori limiting schemes have a tendency to produce numerical artifacts in these regions. These artifacts are exacerbated by the large number of steps needed for long time integration, so the high-order time integrators actually worsen the quality of discontinuous solutions. Thus, we find very different performance for the a priori limiting schemes between smooth and discontinuous solutions.


4.2 Two-dimensional advection of a sine wave
We conduct the 2D advection of a smooth solution to check the order of accuracy of our implementation of the finite volume method. The setup
(46) |
is evolved in a periodic box . The norm of the error of the numerical solution is computed at (one period of advection) using the formula
(47) |
where the indices and cover the - and -components of our computational domain.
We vary and , ensuring the order of accuracy of the chosen Runge-Kutta method is no less than the order of accuracy of the spatial discretization. For , where we lack a higher-than-sixth order Runge-Kutta method, we adopt Vilar’s [16] approach of reducing to synthesize higher-order solutions. With this approach, is determined by the formula:
(48) |
where is the polynomial degree of the temporal discretization.
The smooth sine wave problem is solved using aPrioriMPP, which uses a Gauss-Legendre flux quadrature, and aPrioriT, which uses a transverse flux reconstruction. The adaptive time-step size of aPrioriMPP is disabled since the CFL factor is chosen according to (48). We also skip the check for overshoots and undershoots of the maximum principle in the smooth extrema detection routine, since preserving a strict maximum principle is not the goal of this experiment.
The results are summarized in Table 15 with the error convergence of the aPrioriMPP schemes depicted in Figure 7. It is shown that the errors of the numerical solutions converge as increases at the expected rates, consistent with the designed order of accuracy for each scheme, until a precision floor is reached at around 1E-12. This is true for both the Gauss-Legendre quadrature and transverse flux reconstruction. Both flux reconstructions produce the same error when is even or less than 3. However, for , the transverse reconstruction yields a smaller error, sometimes up to 40% lower. This difference is hardly visible on the log scale of the convergence study.
We emphasize the effectiveness of smooth extrema detection in this experiment. Despite the fact that slope limiting was enabled, the high-order solution was not contaminated with low-order approximations because smooth extrema detection in this case always disables the limiter.
EOC | EOC | ||||||
integrator | |||||||
0 | Euler | 32 | 0.80 | 1.97E-01 | — | 1.97E-01 | — |
64 | 0.80 | 1.08E-01 | 0.873 | 1.08E-01 | 0.873 | ||
128 | 0.80 | 5.63E-02 | 0.935 | 5.63E-02 | 0.935 | ||
256 | 0.80 | 2.88E-02 | 0.967 | 2.88E-02 | 0.967 | ||
512 | 0.80 | 1.46E-02 | 0.983 | 1.46E-02 | 0.983 | ||
1 | SSPRK2 | 32 | 0.80 | 8.69E-02 | — | 8.69E-02 | — |
64 | 0.80 | 2.19E-02 | 1.986 | 2.19E-02 | 1.986 | ||
128 | 0.80 | 5.49E-03 | 1.998 | 5.49E-03 | 1.998 | ||
256 | 0.80 | 1.37E-03 | 1.999 | 1.37E-03 | 1.999 | ||
512 | 0.80 | 3.43E-04 | 2.000 | 3.43E-04 | 2.000 | ||
2 | SSPRK3 | 32 | 0.80 | 9.38E-03 | — | 9.38E-03 | — |
64 | 0.80 | 1.19E-03 | 2.984 | 1.19E-03 | 2.984 | ||
128 | 0.80 | 1.48E-04 | 2.997 | 1.48E-04 | 2.997 | ||
256 | 0.80 | 1.86E-05 | 2.999 | 1.86E-05 | 2.999 | ||
512 | 0.80 | 2.32E-06 | 3.000 | 2.32E-06 | 3.000 | ||
3 | RK4 | 32 | 0.80 | 1.14E-04 | — | 9.48E-05 | — |
64 | 0.80 | 5.95E-06 | 4.261 | 4.28E-06 | 4.469 | ||
128 | 0.80 | 3.50E-07 | 4.086 | 2.34E-07 | 4.193 | ||
256 | 0.80 | 2.15E-08 | 4.023 | 1.41E-08 | 4.057 | ||
512 | 0.80 | 1.34E-09 | 4.006 | 8.70E-10 | 4.015 | ||
4 | RK6 | 32 | 0.80 | 5.81E-05 | — | 5.81E-05 | — |
64 | 0.80 | 1.82E-06 | 4.994 | 1.82E-06 | 4.995 | ||
128 | 0.80 | 5.70E-08 | 4.999 | 5.70E-08 | 4.999 | ||
256 | 0.80 | 1.78E-09 | 5.000 | 1.78E-09 | 5.000 | ||
512 | 0.80 | 5.57E-11 | 5.000 | 5.57E-11 | 5.000 | ||
5 | RK6 | 32 | 0.80 | 1.03E-06 | — | 8.56E-07 | — |
64 | 0.80 | 1.50E-08 | 6.102 | 1.18E-08 | 6.180 | ||
128 | 0.80 | 2.31E-10 | 6.028 | 1.78E-10 | 6.053 | ||
256 | 0.80 | 3.31E-12 | 6.124 | 2.47E-12 | 6.169 | ||
512 | 0.80 | 2.58E-13 | 3.677 | 2.44E-13 | 3.341 | ||
6 | RK6 | 32 | 0.45 | 4.78E-07 | — | 4.78E-07 | — |
64 | 0.40 | 3.76E-09 | 6.991 | 3.76E-09 | 6.991 | ||
128 | 0.36 | 2.94E-11 | 6.997 | 2.94E-11 | 6.997 | ||
256 | 0.32 | 8.32E-13 | 5.143 | 8.33E-13 | 5.142 | ||
512 | 0.28 | 4.88E-13 | 0.770 | 4.87E-13 | 0.773 | ||
7 | RK6 | 32 | 0.25 | 6.71E-09 | — | 5.68E-09 | — |
64 | 0.20 | 2.22E-11 | 8.239 | 1.68E-11 | 8.399 | ||
128 | 0.16 | 8.83E-13 | 4.651 | 8.60E-13 | 4.291 | ||
256 | 0.13 | 1.61E-12 | -0.864 | 1.61E-12 | -0.903 | ||
512 | 0.10 | 4.49E-12 | -1.481 | 4.49E-12 | -1.481 |

4.3 Two-dimensional advection of a square
We conduct another 2D advection test, keeping and on the periodic domain , but selecting the discontinuous initial condition:
(49) |
The square is solved up to one period of advection with the aPrioriMPP, aPrioriT, aPosteriori, and aPosterioriB schemes at varying polynomial degree and with different Runge-Kutta methods.
The maximum principle violations observed from the numerical solutions of these schemes are reported in Table 16. The two-dimensional implementation of aPrioriMPP with the Gauss-Legendre flux quadrature preserves very well the maximum principle with the appropriate SSP Runge-Kutta methods, as well as with RK4. Meanwhile, aPrioriT, which combines a priori slope limiting with transverse flux reconstruction, exhibits large violations of the maximum principle regardless of the degree or the chosen Runge-Kutta method.
aPosteriori and aPosterioriB exhibit maximum principle violations in all cases, with magnitudes that we don’t find to depend on , , or . The violations of the a posteriori slope limited schemes are consistently made smaller by using RK4 instead of SSPRK3 and by turning on blending.
Integrator | aPrioriMPP | aPrioriT | aPosteriori | aPosterioriB | |
---|---|---|---|---|---|
1 | SSPRK2 | -6.79e-11 | -8.82e-04 | -8.72e-03 | -4.14e-03 |
2 | SSPRK3 | -9.93e-11 | -1.34e-02 | -1.03e-02 | -1.85e-03 |
3 | SSPRK3 | -1.72e-12 | -1.34e-02 | -1.17e-02 | -2.09e-03 |
RK4 | -5.82e-11 | -1.47e-02 | -1.36e-03 | -3.13e-04 | |
4 | SSPRK3 | -9.43e-12 | -1.61e-02 | -1.30e-02 | -2.05e-03 |
RK4 | -8.00e-11 | -1.70e-02 | -2.33e-03 | -2.38e-04 | |
5 | SSPRK3 | -2.71e-11 | -1.61e-02 | -1.66e-02 | -3.43e-03 |
RK4 | -7.35e-12 | -1.72e-02 | -3.24e-03 | -4.06e-04 | |
6 | SSPRK3 | -5.69e-11 | -1.72e-02 | -1.48e-02 | -2.97e-03 |
RK4 | -2.19e-11 | -1.80e-02 | -6.70e-03 | -1.12e-03 | |
7 | SSPRK3 | -3.42e-11 | -1.72e-02 | -1.65e-02 | -3.41e-03 |
RK4 | -1.37e-11 | -1.82e-02 | -7.63e-03 | -1.44e-03 |
We also compare the numerical solutions of the various schemes for long time integration using 100 periods. As was the case in 1D, the a priori slope-limited schemes use SSPRK3 for since RK4 is observed to result in excess numerical diffusion, while the a posteriori slope-limited solutions use RK4 for since it produces smaller violations (seen in Table 16 after one period). We observe that the most severe maximum principle violations of our slope-limited schemes occur, if at all, in the first few steps; does not significantly change after one period.
Figure 8 shows the numerical solutions of aPrioriMPP and aPosterioriB schemes as well as second-order MUSCL-Hancock after one and one-hundred periods of advection. Neither MUSCL-Hancock nor any of the aPrioriMPP schemes produce violations of the maximum principle. For the shorter time-scale, aPrioriMPP with produces numerical solutions with overall better quality than MUSCL-Hancock despite slight numerical artifacts appearing as increases. After 100 periods, these numerical artifacts dominate the numerical solution, and the solution quality worsens as increases for . For the discontinuous square, second-order MUSCL-Hancock shows stronger resilience to numerical diffusion than the high-degree, a priori slope-limited solutions.
The aPosterioriB schemes, on the other hand, behave much differently. At , this a posteriori scheme performs similarly to its a priori slope-limited counterpart and gives a numerical solution of lower quality than second-order MUSCL-Hancock. Despite that, the aPosterioriB schemes give the highest quality numerical solutions of the schemes presented in Figure 8. These numerical solution hardly change in profile between one and 100 periods, demonstrating an impressive resilience to numerical diffusion.
We clarify that the observed excessive long time-scale numerical diffusion from the high-degree a priori limited schemes are a consequence of the chosen resolution . By increasing , we can reduce the excessive diffusion of the a priori limited schemes. This comes with a significant computational cost, as shown in our later analysis.

Figures 9 and 10 show color maps of the numerical solutions of all four high-order schemes schemes at . with and , respectively. MUSCL-Hancock is also shown in both figures. When comparing the two MPP schemes in Figure 9, MUSCL-Hancock and aPrioriMPP (), it is evident that aPrioriMPP better preserves the sharp gradients of the square at its edges, despite the visibility of some numerical artifacts. When , we again see that the aPrioriMPP numerical solution is dominated by numerical diffusion and artifacts and is lower in quality than the MUSCL-Hancock solution. This degradation is reduced somewhat by using transverse flux reconstruction instead of the Gauss-Legendre quadrature, as is the case for aPrioriT, but this variation of scheme still exhibits large violations of the maximum principle.
Both aPosteriori and aPosterioriB show great solution quality compared to MUSCL-Hancock and the a priori slope limited schemes, giving generally better results as increases from 3 to 7. Aside from their maximum principle violations, both a posteriori slope limiting schemes greatly outperform MUSCL-Hancock in terms of solution quality. In both cases, aPosterioriB exhibits smaller maximum principle violations while also showing more numerical artifacts along the leading edge of the square.


4.4 Rotation of a slotted cylinder
We include the classical test of the two-dimensional rotation of a slotted disk with the initial condition
(50) |
defined on with a Dirichlet boundary fixed at 0 and a non-uniform velocity field . This test introduces additional complexity since the velocity is not uniform.
We again report the maximum principle violations of aPrioriMPP, aPrioriT, aPosteriori, and aPosterioriB schemes after one period of rotation for different polynomial degrees and Runge-Kutta methods. These results are provided in Table 17. aPrioriMPP gives very good MPP results at every from 1 to 7 and for the SSPRK2, SSPRK3, and RK4 Runge-Kutta methods. aPrioriT exhibits large violations in all cases. The a posteriori slope limited schemes violate the maximum principle in every case, but with a magnitude that is consistently reduced by using RK4 and blending the revised fluxes. For this experiment, the magnitude of the a posteriori slope-limiting violations do not strictly decrease by increasing or , nor by decreasing the time-step size.
Integrator | aPrioriMPP | aPrioriT | aPosteriori | aPosterioriB | |
---|---|---|---|---|---|
1 | SSPRK2 | -6.79e-11 | -8.82e-04 | -8.72e-03 | -4.14e-03 |
2 | SSPRK3 | -9.93e-11 | -1.34e-02 | -1.03e-02 | -1.85e-03 |
3 | SSPRK3 | -1.72e-12 | -1.34e-02 | -1.17e-02 | -2.09e-03 |
RK4 | -5.82e-11 | -1.47e-02 | -1.36e-03 | -3.13e-04 | |
4 | SSPRK3 | -9.43e-12 | -1.61e-02 | -1.30e-02 | -2.05e-03 |
RK4 | -8.00e-11 | -1.70e-02 | -2.33e-03 | -2.38e-04 | |
5 | SSPRK3 | -2.71e-11 | -1.61e-02 | -1.66e-02 | -3.43e-03 |
RK4 | -7.35e-12 | -1.72e-02 | -3.24e-03 | -4.06e-04 | |
6 | SSPRK3 | -5.69e-11 | -1.72e-02 | -1.48e-02 | -2.97e-03 |
RK4 | -2.19e-11 | -1.80e-02 | -6.70e-03 | -1.12e-03 | |
7 | SSPRK3 | -3.42e-11 | -1.72e-02 | -1.65e-02 | -3.41e-03 |
RK4 | -1.37e-11 | -1.82e-02 | -7.63e-03 | -1.44e-03 |
The slotted disk is also solved up to 10 periods of advection to explore the effect of long time integration. Our usual policy is implemented wherein a priori slope-limited schemes do not use higher-than-third order time integration (SSPRK3) while a posteriori slope-limited schemes use up to fourth-order time integration (RK4).
The numerical solutions of aPrioriMPP and aPosterioriB schemes with increasing polynomial degree , as well as MUSCL-Hancock, are shown after one and ten periods of advection in Figure 11. After one period, the a priori and a posteriori slope limited schemes at the same give numerical solutions that look quite similar, with slightly more numerical artifacts in the higher- aPrioriMPP solutions. At ten periods, the quality of aPrioriMPP significantly worsens as increases after around . aPosterioriB, on the other hand, gives generally better quality solutions as increases. Both high-order slope limited schemes at both time-scales outperform second-order MUSCL-Hancock in terms of numerical diffusion.
The numerical solutions of aPrioriMPP, aPrioriT, aPosteriori, and aPosterioriB are compared at with in Figure 12 and in Figure 13. At , aPrioriMPP and aPrioriT appear similar, with aPrioriMPP approximately preserving the maximum principle and aPrioriT causing large violations. The a posteriori slope-limited schemes give slightly less diffused results, with aPosterioriB giving a smaller violation of the maximum principle as well as more apparent numerical artifacts. This is also seen for aPosteriori and aPosterioriB at . At , the numerical artifacts in the aPrioriMPP and aPrioriT solutions are strong, while aPosteriori and aPosterioriB give improved results from the case. All four high-order schemes at both and exhibit less numerical diffusion than MUSCL-Hancock at the same resolution. As was the case with the 2D square experiment, the selection of ultimately determines the amount of numerical diffusion produced by the high-order schemes.



4.5 Cost analysis
The computational cost of a finite volume scheme depends largely on the choice of flux integral method. The transverse flux reconstruction requires the nodal reconstruction of only one point per cell face, while the Gauss-Legendre quadrature requires points. Each reconstructed node depends on a large matrix multiplication, and each node corresponds to a Riemann problem, which can be the most expensive step in the solution for non-linear conservation laws. The transverse reconstruction presents a clear advantage in terms of cost. However, it was shown to result in large maximum principle violations when used in conjunction with the a priori limiting method, so, in our opinion, only the a posteriori slope limiting method is allowed to benefit from the low-cost flux reconstruction.
GPUs, which are optimized for large matrix multiplication problems, could potentially mitigate the cost of the reconstructions required by the Gauss-Legendre quadrature. Therefore, we run this experiment on both CPU and GPU implementations. The CPU version of the code is written in standard Python and uses the NumPy library for optimized array multiplications. The GPU version includes the CuPy library which allows for these same multiplications to occur on a GPU. An NVIDIA A100 is used for this experiment and no parallelization over multiple GPUs was implemented.
A timing comparison was conducted for the 2D advection of a square for two different slope limiting methods: aPrioriMPP, the a priori slope limiting method using the Gauss-Legendre quadrature, and aPosterioriB, the a posteriori slope limiting method using transverse flux reconstruction. The adaptive time-step size of aPrioriMPP is turned off for this experiment and RK6 is used for the schemes with . Computational speed is reported as the number of cells in each Runge-Kutta stage updated per second, taken as an average over ten time-steps. Since the compute time increases linearly with the number of Runge-Kutta stages, variations in speed between Runge-Kutta methods are not visible with this metric; only the variation in speed of the different spatial discretization methods due to changes in are visible.
The results of this experiment are depicted in Figure 14. On the CPU, both the aPriori and aPosteriori schemes show an increase in cost with an increasing polynomial degree . However, the cost of the a priori limiting method escalates at a much faster rate with than that of the a posteriori limiting method due to the greater number of nodal reconstructions required by the Gauss-Legendre quadrature. It’s worth noting that the timing of even/odd pairs of the aPrioriMPP schemes—, , , and —appears to cluster together because the members of each pair use the same number of quadrature points. This clustering effect is not observed for the aPosterioriB schemes, which utilize a transverse flux reconstruction. Furthermore, the per-cell cost of both methods on the CPU increases as the size grows larger, as the computational overhead of handling large arrays becomes more significant.
Conversely, on the GPU, the per-cell cost of both methods decreases with the problem size until the threads of the GPU become saturated at about . At this size, the schemes are about two orders of magnitudes faster on GPU than on CPU. The disparity in cost between the a priori and a posteriori schemes is notably reduced on the GPU, highlighting the GPU’s efficiency in intensive matrix multiplication processes. Likewise, aPosterioriB does not become significantly more expensive with increasing on the GPU due to the reduced number of required matrix multiplications from the transverse flux reconstruction.
Even though the a posteriori limiting method avoids the expensive Gauss-Legendre quadrature at each face required by the a priori limiting method, it still comes with a significant cost of its own: the fallback scheme, which includes detecting troubled cells and revising their fluxes. At low spatial degree (), we find that the fallback scheme accounts for roughly 1/2 of the computational time while at a higher degree (), it accounts for 1/3.

5 Discussion
The results obtained from our numerical tests provide strong validation for the accuracy of our high-order finite volume methods and smooth extrema detection implementation. The advection test featuring a smooth sine wave showcases the high-order capabilities of our base finite volume scheme in two spatial dimensions. Notably, these results were achieved with a priori slope limiting enabled, confirming that our smooth extrema detection correctly disables slope limiting in smooth regions. Moreover, this success was achieved using either the Gauss-Legendre or transverse flux reconstructions. Nonetheless, lower errors were found with the transverse flux reconstruction at some even orders of accuracy.
In all conducted experiments, our implementation of Zhang & Shu’s a priori slope limiting method [1, 2] consistently demonstrated the absence of maximum principle violations when paired with forward Euler, SSPRK2, or SSPRK3. Recall that the latter two methods are equivalent to a convex combination of forward Euler steps, making them Strong Stability Preserving (SSP), and that Zhang & Shu’s spatial discretization is guaranteed to preserve a strict maximum principle when solved with such Runge-Kutta methods [1, 2].
RK4, on the other hand, is not SSP. However, it consistently demonstrated quasi-SSP behavior; For every scheme in our experiments that was MPP when solved with an SSP method, it was also MPP when solved with RK4. This quasi-SSP behavior has been described for RK4 (see [14]), but not for other non-SSP Runge-Kutta methods such as RK6. In fact we did not find RK6 to enable our slope-limited schemes to avoid maximum principle violations. Despite being quasi-SSP, RK4 is found to result in slightly more numerical diffusion than SSPRK3 for the a priori slope-limited schemes with large values of . We observe the opposite effect for the a posteriori slope-limited schemes.
We implemented modifications to the Zhang & Shu a priori slope limited scheme [1, 2] that maintain the Maximum Principle Preserving (MPP) property while reducing computational cost and complexity. For instance, the centroid set of points, employed in both one- and two-dimensional cases, proves to be a suitable substitute for the Gauss-Lobatto quadrature points when computing the a priori slope limiter . Additionally, our experiments revealed that the reduced CFL factor is unnecessary when using an adaptive time-step size of Huang et al [21].
In the 1D experiments, we determined that the a priori and a posteriori limited schemes give similar, high-quality numerical solutions when implemented at high-order. This is true even for long time integration. This is not the case for the 2D experiments, where we see a difference between the results after one period of advection and after many periods.
After a single period of advection, both the a priori and a posteriori limited solutions to the 2D problems exhibit good solution quality for all of the third-or-higher-order schemes shown () across all experiments featuring discontinuous initial conditions. Notably, the numerical solutions of second-order MUSCL-Hancock performed quite well for small time integration, outperforming our schemes for the composite profile and the discontinuous 2D square.
After many periods of advection (100 for the composite profile and discontinuous square and 10 for the slotted cylinder), we see a trade-off between the quality of high-order solutions and the magnitude of their maximum principle violations. For instance, the results of the aPrioriMPP schemes produce no maximum principle violations, but their numerical solutions suffer from significant diffusion as increases after about . At the largest value , the numerical solution of aPrioriMPP becomes dominated by oscillatory artifacts. The worst example of this is seen in the 2D advection of the square.
It was clarified that the excessive diffusion produced by the high-degree aPrioriMPP schemes in the 2D experiments are the consequence of the resolution chosen to demonstrate its contrast with the corresponding a posteriori limiting schemes. This numerical diffusion can always be reduced by increasing , but this comes with a particularly large computational cost for the high-order, a priori limited schemes.
So, to use an aPrioriMPP scheme, for problems with long time integration, we are compelled to choose the sweet spot value of or . On the other hand, the a posteriori limited schemes typically improve in quality at long time-scales as we increase . Of course, this comes at the cost of higher maximum principle violations.
An additional caveat with the a priori limiting method is that it produces large violations (¿1%) when used with transverse flux reconstruction. This observation is not unique to our work; McCorquodale & Colella [23] use an a priori limiter as well as transverse flux reconstruction and similar maximum principle violations on the order of ¿1% are observed when they advect a discontinuous square. Their limiter is not the Zhang & Shu limiter [1, 2], but is still conceptually similar.
We demonstrated that the magnitude of violations from a posteriori limited schemes can be reduced by applying Vilar and Abgrall’s convex blending of the corrected fluxes [16]. Additionally, the magnitude of these violations were consistently reduced when RK4 is used instead of SSPRK3. Interestingly, the a posteriori limited schemes that produce smaller violations of the maximum principle tend to exhibit greater numerical diffusion and more pronounced numerical artifacts. This highlights a fundamental trade-off where reducing maximum principle violations often comes at the cost of introducing other undesirable characteristics in the numerical solution.
In the case of strict positivity preservation, the magnitude of the maximum principle violation of a numerical scheme limits the dynamical range that can be captured for a given scalar. For example, suppose we are solving Euler’s equation. Our solver will fail for any value of the mass density . If we use an a posteriori slope limited scheme for which we expect the maximum principle violation to satisfy , the scheme will certainly fail if the density contrast is larger than since maximum principle violations will produce negative densities. However, if the density contrast remains smaller than , the magnitude of the maximum principle violations of our scheme will result in the positivity of the solution . Thus, a smaller of a given scheme allows for higher density contrasts.
While it is feasible to implement the a priori limiting method at high order and maintain a strict maximum principle, we demonstrate that this requires a more computationally expensive flux quadrature. Specifically, we find that the transverse reconstruction incurred significantly lower computational costs on a CPU. However, it is incompatible with a priori schemes due to substantial maximum principle violations resulting from this combination. On a GPU, the difference in cost between the two quadratures was mostly mitigated. This is because the additional matrix multiplications associated with the Gauss-Legendre quadrature, which contribute to its higher cost on a CPU, become relatively insignificant on a GPU due to its optimized performance for such tasks. We point out that a GPU implementation must solve problems of a sufficiently large size for the increase in speed to be worthwhile. For instance, our GPU code was only faster than the purely CPU code for roughly in 2D. This is due to the overhead cost of communicating arrays between the CPU and GPU, which is only insignificant when the arrays are large.
6 Conclusion
In this study, we develop a novel and experimental approach to compare a priori and a posteriori slope limiters for high-order finite volume schemes. Our a priori slope limiting schemes are based on the method developed by Zhang & Shu [1, 2], while our a posteriori schemes follow a flux revision procedure with a MUSCL fallback scheme [18]. To assess the relative performance of the two types of schemes, the linear-advection equation is solved in one- and two-dimensions for various benchmark problems at various spatial polynomial degree . In these experiments, the schemes are compared based on the following figures of merit:
-
1.
Ability to preserve the maximum principle or the positivity of the solution.
-
2.
Numerical solution quality for long time integration.
-
3.
Computational cost as it scales with the resolution and spatial polynomial degree .
In the one-dimensional case, we find that the implementations of the a priori limited schemes for achieve all three goals quite well. The a posteriori limited schemes result in similar quality, but consistently produce (small) maximum principle violations. We observe that RK4, despite not being a Strong Stability Preserving method, also strictly preserves the maximum principle when used with the a priori limited schemes in one- and two-dimensions.
In two dimensions, the conclusions are more nuanced due to the significant impact of computational cost, among other factors. The a priori limiting schemes lead to large maximum principle violations when using the cost-effective transverse flux reconstruction. This necessitates the use of the more expensive Gauss-Legendre quadrature, with a number of nodal reconstructions that grows linearly with . On the other hand, the numerical solution of the a posteriori limiting schemes do not exhibit a significant change between these flux reconstruction methods. Thus, these schemes can benefit from the low-cost transverse flux reconstruction, making them highly competitive against their a priori counterparts in terms of speed. This speed comparison is more relevant to implementations on classic CPU architecture; Timing experiments revealed that, for high enough resolutions, the cost difference between the two schemes is dramatically reduced when the computations are performed on GPUs.
The a priori schemes also suffer from another drawback: their solution quality deteriorates for long time integration as increases beyond approximately . When and there isn’t enough cell resolution, numerical artifacts from the high-degree interpolation polynomials begin to dominate the solution, resulting in excessive diffusion. In contrast, the a posteriori limited schemes exhibit remarkable resilience to numerical diffusion and generally yield better results as increases, taking full advantage of the steep gradients offered by the high-degree polynomials. We observe that at the same, modest resolution, the a posteriori scheme excels at long time-scales while the a priori scheme suffers from diffusion.
While the a posteriori schemes outperform their a priori counterparts in terms of solution quality for long time integration and cost, they still have the issue of maximum principle violations. In fact, the violations of the a posteriori schemes are typically greater in the two-dimensional than in the one-dimensional case. These violations persist irrespective of time-size , , or . While the convex blending of revised fluxes proposed by Vilar & Abgrall [16] can reduce these violations, it comes at the expense of a slight decrease in solution quality, mirroring the degradation observed in a priori limited solutions.
Our study indicates that a posteriori limiting is an excellent choice for problems where some amount of maximum principle violations can be tolerated. The combination of long time-scale solution quality and cost efficiency offered by these schemes are not matched by second-order MUSCL-Hancock or the a priori slope-limited schemes. In the case where maximum principle violations must be strictly bounded but long time-scale diffusion must be avoided, a priori slope-limited schemes are a suitable, albeit more expensive option. These schemes also come with the caveat that if they are implemented at too high of order () or with too low of a resolution , their numerical solutions might become dominated by artifacts for long integration times.
Future research directions could focus on exploring further modifications to a posteriori slope limiting methods aimed at reducing or preventing maximum principle violations entirely. Additionally, extending this work beyond the linear advection equation to encompass non-linear conservation laws, such as Euler’s equation, would provide valuable insights into the performance and applicability of these slope limiting schemes in broader contexts.
References
- [1] X. Zhang, C.-W. Shu, Maximum-principle-satisfying and positivity-preserving high-order schemes for conservation laws: survey and new developments, Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 467 (2134) (2011) 2752–2776.
- [2] X. Zhang, C.-W. Shu, On maximum-principle-satisfying high order schemes for scalar conservation laws, Journal of Computational Physics 229 (9) (2010) 3091–3120.
- [3] S. Clain, S. Diot, R. Loubère, A high-order finite volume method for systems of conservation laws—multi-dimensional optimal order detection (mood), Journal of computational Physics 230 (10) (2011) 4028–4050.
- [4] S. K. Godunov, I. Bohachevsky, Finite difference method for numerical computation of discontinuous solutions of the equations of fluid dynamics, Matematičeskij sbornik 47 (3) (1959) 271–306.
- [5] J. VonNeumann, R. D. Richtmyer, A method for the numerical calculation of hydrodynamic shocks, Journal of applied physics 21 (3) (1950) 232–237.
- [6] J. Donnert, H. Jang, P. Mendygral, G. Brunetti, D. Ryu, T. Jones, Weno–wombat: Scalable fifth-order constrained-transport magnetohydrodynamics for astrophysical applications, The Astrophysical Journal Supplement Series 241 (2) (2019) 23.
- [7] P. Colella, P. R. Woodward, The piecewise parabolic method (ppm) for gas-dynamical simulations, Journal of computational physics 54 (1) (1984) 174–201.
- [8] S. Premasuthan, C. Liang, A. Jameson, Computation of flows with shocks using the spectral difference method with artificial viscosity, i: basic formulation and application, Computers & Fluids 98 (2014) 111–121.
- [9] L. Lu, M. Nazarov, P. Fischer, Nonlinear artificial viscosity for spectral element methods, Comptes Rendus. Mathématique 357 (7) (2019) 646–654.
- [10] B. Van Leer, Towards the ultimate conservative difference scheme. v. a second-order sequel to godunov’s method, Journal of computational Physics 32 (1) (1979) 101–136.
- [11] P. K. Sweby, High resolution schemes using flux limiters for hyperbolic conservation laws, SIAM journal on numerical analysis 21 (5) (1984) 995–1011.
- [12] A. Harten, B. Engquist, S. Osher, S. R. Chakravarthy, Uniformly high order accurate essentially non-oscillatory schemes, iii, Journal of computational physics 131 (1) (1997) 3–47.
- [13] C. Hu, C.-W. Shu, Weighted essentially non-oscillatory schemes on triangular meshes, Journal of Computational Physics 150 (1) (1999) 97–127.
- [14] I. H. Sanz, Positivity properties for the classical fourth order runge-kutta method, Monografías de la Real Academia de Ciencias Exactas, Físicas, Químicas y Naturales de Zaragoza (33) (2010) 125–139.
- [15] L. Krivodonova, Limiters for high-order discontinuous galerkin methods, Journal of Computational Physics 226 (1) (2007) 879–896.
- [16] F. Vilar, R. Abgrall, A posteriori local subcell correction of high-order discontinuous galerkin scheme for conservation laws on two-dimensional unstructured grids, SIAM Journal on Scientific Computing 46 (2) (2024) A851–A883.
- [17] R. Loubere, M. Dumbser, S. Diot, A new family of high order unstructured mood and ader finite volume schemes for multidimensional systems of hyperbolic conservation laws, Communications in Computational Physics 16 (3) (2014) 718–763.
- [18] D. A. Velasco Romero, M. Han-Veiga, R. Teyssier, Spectral difference method with a posteriori limiting: application to the euler equations in one and two space dimensions, Monthly Notices of the Royal Astronomical Society 520 (3) (2023) 3591–3608.
- [19] Y. Liu, M. Vinokur, Z. J. Wang, Spectral difference method for unstructured grids i: Basic formulation, Journal of Computational Physics 216 (2) (2006) 780–801.
- [20] G. May, On the connection between the spectral difference method and the discontinuous galerkin method, Communications in Computational Physics 9 (4) (2011) 1071–1080.
- [21] L. Huang, Z. Jiang, X. Qin, X. Zhang, C. Yan, High-order positivity-preserving method in the flux reconstruction framework for the simulation of two-medium flow, Journal of Computational Physics 486 (2023) 112115.
- [22] P. Colella, M. D. Sekora, A limiter for ppm that preserves accuracy at smooth extrema, Journal of Computational Physics 227 (15) (2008) 7069–7076.
- [23] P. McCorquodale, P. Colella, A high-order finite-volume method for conservation laws on locally refined grids, Communications in Applied Mathematics and Computational Science 6 (1) (2011) 1–25.
- [24] K. G. Felker, J. M. Stone, A fourth-order accurate finite volume method for ideal mhd via upwind constrained transport, Journal of Computational Physics 375 (2018) 1365–1400.
- [25] D. Kuzmin, M. Quezada de Luna, D. I. Ketcheson, J. Grüll, Bound-preserving flux limiting for high-order explicit runge–kutta time discretizations of hyperbolic conservation laws, Journal of Scientific Computing 91 (1) (2022) 21.
- [26] A. M. Rueda-Ramírez, W. Pazner, G. J. Gassner, Subcell limiting strategies for discontinuous galerkin spectral element methods, Computers & Fluids 247 (2022) 105627.
- [27] C.-W. Shu, High order weighted essentially nonoscillatory schemes for convection dominated problems, SIAM review 51 (1) (2009) 82–126.
- [28] Y.-T. Zhang, C.-W. Shu, Eno and weno schemes, in: Handbook of numerical analysis, Vol. 17, Elsevier, 2016, pp. 103–122.
- [29] M. G. Crandall, A. Majda, Monotone difference approximations for scalar conservation laws, Mathematics of Computation 34 (149) (1980) 1–21.
- [30] S. Hippolyte, A. K. Richard, Order of the runge-kutta method and evolution of the stability region, Ural Mathematical Journal 5 (2 (9)) (2019) 64–71.
- [31] M. Ogunniran, O. Tayo, Y. Haruna, A. Adebisi, Linear stability analysis of runge-kutta methods for singular lane-emden equations, Journal of the Nigerian Society of Physical Sciences (2020) 134–140.
- [32] P. Moin, Fundamentals of engineering numerical analysis, Cambridge University Press, 2010.
- [33] Z. Sun, C.-w. Shu, Strong stability of explicit runge–kutta time discretizations, SIAM Journal on Numerical Analysis 57 (3) (2019) 1158–1182.
- [34] Y. Hadjimichael, C. B. Macdonald, D. I. Ketcheson, J. H. Verner, Strong stability preserving explicit runge–kutta methods of maximal effective order, SIAM Journal on Numerical Analysis 51 (4) (2013) 2149–2165.
- [35] S. Gottlieb, D. I. Ketcheson, C.-W. Shu, High order strong stability preserving time discretizations, Journal of Scientific Computing 38 (3) (2009) 251–289.
- [36] H. Luther, An explicit sixth-order runge-kutta formula, Mathematics of Computation 22 (102) (1968) 434–436.
- [37] A. Suresh, Positivity-preserving schemes in multidimensions, SIAM Journal on Scientific Computing 22 (4) (2000) 1184–1198.
- [38] G.-S. Jiang, C.-W. Shu, Efficient implementation of weighted eno schemes, Journal of computational physics 126 (1) (1996) 202–228.