Abstract
Convolving the output of Discontinuous Galerkin (DG) computations using spline filters can improve both smoothness and accuracy of the output. At domain boundaries, these filters have to be one-sided for non-periodic boundary conditions. Recently, position-dependent smoothness-increasing accuracy-preserving (PSIAC) filters were shown to be a superset of the well-known one-sided RLKV and SRV filters. Since PSIAC filters can be formulated symbolically, PSIAC filtering amounts to forming linear products with local DG output and so offers a more stable and efficient implementation.
The paper introduces a new class of PSIAC filters NP0 that have small support and are piecewise constant. Extensive numerical experiments for the canonical hyperbolic test equation show NP0 filters outperform the more complex known boundary filters. NP0 filters typically reduce the L∞ error in the boundary region below that of the interior where optimally superconvergent symmetric filters of the same support are applied. NP0 filtering can be implemented as forming linear combinations of the data with short rational weights. Exact derivatives of the convolved output are easy to compute.
Keywords: Discontinuous Galerkin, spline filter, shifted convolution, SIAC filtering, boundary filter, symbolic representation
AMS subject classifications: 65M12, 65D07
1. Introduction
The output of Discontinuous Galerkin (DG) computations often captures higher order moments of the true solution [ML78]. Therefore post-processing DG output by convolution with splines can improve both smoothness and accuracy [BS77, CLSS03, JvRV14]. In the interior of the domain of computation, symmetric smoothness increasing accuracy conserving (SIAC) spline filters have been demonstrated to provide optimal accuracy [CLSS03]. To accommodate non-periodic boundary data, such symmetric filters need to be complemented by one-sided filters. The point-wise error and stability, of the pioneering Ryan-Shu boundary filters [RS03] have been noticeably improved upon, during the last decade [SRV11, MRK12, RLKV15, LRKV16].
Most recently these boundary filters have been simplified and improved by replacing numerical approximation with symbolic formulas, both in the uniform symmetric case [MRK15] and in the general case [Pet15]. For general knot sequences, [NP16] introduced a factored symbolic characterization of spline filters that identified the existing boundary filters as position-dependent SIAC spline filters (PSIAC filters). While in earlier formulations, the rule for each convolved value had to be derived numerically by Gauss quadrature, PSIAC prototype filters can be precomputed and then easily scaled and shifted to fit the boundary region as required. PSIAC filtering then amounts to forming a linear combination of the local DG output with simple weights that are polynomial in the position. The coefficients of these polynomial expressions are rational numbers for rational knot sequences. Remarkably [NP16, Theorem 4.2] PSIAC-filtered DG output lies on a single polynomial over the boundary region, where the filter is deployed. RLKV-filtered and SRV-filtered DG output is therefore infinitely differentiable and derivatives of PSIAC-filtered DG output need not be approximated [Tho77, RSA05, RC09, LRKV16] but have an explicit, easily-evaluated expression.
This paper introduces a new piecewise constant PSIAC filter, that we will refer to as the NP0 filter. On variants of the canonical hyperbolic test equation (2.2), the simple NP0 filter outperforms, on different aspects, both the SRV and the RLKV filter. Applied to the DG output, NP0 is more stable than the superconvergent, but larger-support SRV filter [SRV11] – SRV requires quadruple precision to produce reliable results when the DG polynomials are of degree d > 2 [RLKV15]; and NP0-filtered output converges faster than that of the small-support, stable but suboptimal RLKV filter [RLKV15]. Fig. 1 shows results for four different x-mesh spacings. The RLKV-error in the boundary region exceeds the error in the interior where the symmetric SIAC filter is applied; and for large mesh spacing, the pointwise RLKV error in Fig. 1a even exceeds that of the unfiltered DG error in Fig. 1c. By contrast Fig. 1b shows NP0 consistently reducing the error in [0‥λ+], the boundary regionaugmented by the transition region to symmetric SIAC filter, even below the error of the symmetric SIAC filter. This message is condensed in Fig. 1d. Here the maximal error of the symmetric SIAC filter of degree d in the interior is displayed as dashed lines and the error near the left and right boundary by ▷, respectively ◁.
Fig. 1.
Pointwise errors e(x, T = 2/3) of the filtered output (a), (b) of the DG solution of degree d = 3 for the canonical partial differential equation uτ + ux = 0 computed up to fixed final time T = 2/3 (cf. (2.2)). The unfiltered error is shown in (c) and (d) summarizes the result. Each subfigure shows in order, from top to bottom, the graph for mesh-size
(red),
(blue),
(green) and
(purple). (a, b) The growing interior, bordered by vertical dashed lines of the color of the graph, is post-processed by the symmetric SIAC filter. The graph for the interior is therefore identical in (a) and (b). The left boundary region [0‥λ] is to the left of the left dashed line and and the right boundary region is to the right of the right line. The RLKV and NP0 error are computed on ever smaller boundary regions [0‥λ] and [1 − λ‥1] since λ shrinks with h (see (a)). (a) Errors after convolving the data of the boundary regions with the one-sided RLKV filters [RLKV15] and the interior with the symmetric SIAC filter. This graph is identical to [RLKV15, Figure 5, top-right] but is computed with the symbolic formulation. (b) Errors after convolving the data of the boundary regions with the new least-degree PSIAC filters NP0 and the interior with the symmetric SIAC filter. (c) Original errors of the degree d = 3 DG output. (d) The error in [0‥λ+], i.e. the left boundary region augmented by the transition to the inner symmetric SIAC filter region, is indicated by ▷. The error on the right by ◁. The error of the symmetric SIAC filter applied in the interior is indicated by −−. The error of the new PSIAC filter NP0 is lower or on par with the optimally superconvergent symmetric SIAC filter in the interior.
Let d be the polynomial degree of the DG output and k the degree of the spline filters. The theory of [JvRV14] guarantees a convergence order of d+1+k for the NPk filter. However, extensive numerical experiments, presented in detail in the Appendix B, indicate optimal super-convergence of order 2d+1 for the NP0 filter (k = 0) applied to the canonical hyperbolic equation uτ + ux = 0 for a range of final times T of the DG computation. Yet, this paper does not aim to establish this super-convergence or sharp theoretical convergence bounds. Rather it establishes properties and practical formulas that make it easy to apply the NP0 filter, e.g. explicit formulas for stably computing the convolution with the data based on a symbolic formula provided by [NP16]. PSIAC-filtering of DG output at a point x in the left boundary region [0‥λ] amounts to forming a linear combination of the vector of DG coefficients u[x] whose functions have support at x:
| (1.1) |
By Eq. (2.11) of Theorem 2.5 of this paper,
| (1.2) |
where is a matrix with rational entries that depend only on the space of DG polynomials and on the space of filter kernels, not on x. For efficient implementation, the local DG coefficient vector is therefore multiplied with the matrix in advance yielding a vector of size 3d + 1 to be multiplied with λx. The central four entries 𝒱̅x of 𝒱x are its largest in absolute value. For the NP0 and the SRV filter (in PSIAC form), d = 3 and x = 0, the four entries are respectively
| (1.3) |
While the fractions of integers have at most 5 digits for NP0, the fractions of the SRV filters have up to 17 digits and their absolute value is much larger: Fig. 2 shows that for d = 3 the alternating coefficients of the SRV filter are two orders of magnitude larger than those of the NP0 filter.
Fig. 2.
Size of the entries of for filtering d = 3 DG output at a boundary point x = 0. Note the 100-fold difference in scale between (a) and (b).
In summary,
-
▷
applying the PSIAC boundary filter NP0 is efficient: one multiplies the boundary DG data with the matrix Qλ and then forms, for each x, hence λx, the dot product between the two short vectors;
-
▷
numerical experiments in double floating point precision on the canonical wave equation indicate that NP0 has a convergence rate of 2d+1, where d is the piecewise degree of the DG output.
Organization
Section 2 introduces notation, spline convolution and the canonical test equations, followed by a review of the literature in more detail. Section 3 focuses on the new NP0 filter and compares it to the existing SRV and RLKV filters in their improved symbolic PSIAC form. Equation (3.11) and Appendix A provide explicit Qλ for degree d ∈ {1, 2, 3}. Section 4 compares the SRV, RLKV, NP0 and the symmetric SIAC filters numerically on three variants of the canonical hyperbolic equation.
2. Notation and Definitions
This section establishes the notation for filters and DG output, exhibits the canonical test problem, the DG method, and reproducing filters and reviews one-sided and position-dependent SIAC filters in the literature.
We denote by f * g the convolution of a function f with a function g, i.e.
for every x where the integral exists. Filtering means convolving a function f with a kernel g.
2.1. Sequences, Splines, and Reproduction
The goal of SIAC filtering is to spatially smooth out the DG output u(x, τ) by convolution in x with a linear combination of B-splines. Typically filtering is applied after the last time step when τ = T. Specifically, we will focus on piecewise polynomial SIAC spline kernels f : ℝ → ℝ such that convolution of f with monomials (·)δ reproduces the monomials up to degree r. Let 𝒥 ≔ (0, …, jr) be a sequence of strictly increasing integers between 0 and jr, abbreviate the sequences of consecutive integers as
Let B(x|tj:j+k+1) denote the unit integral B-spline with (non-decreasing) knot sequence tj:j+k+1 (see [dB02]) related to the recursively defined B-spline N(t|ti:i+k+1) by . Then a SIAC spline kernel of degree k and reproduction degree r with index sequence 𝒥 and knot sequence t0:n is a spline
of degree k with coefficients fj chosen so that
| (2.1) |
We reserve the following symbols:
| d | degree of the DG output; |
| m | number of intervals of the DG output; |
| s0:m | prototype increasing break point sequence, typically integers; |
| the break sequence of the DG output is hs0:m; | |
| k | degree of the filter kernel; |
| r + 1 | number of filter coefficients |
| for reproduction of polynomials up to degree r; | |
| 𝒥 ≔ (0, …, jr) | index sequence; |
| if the B-splines of the filter are consecutive, then jr = r; | |
| n | number of knot intervals spanned by the filter; |
| n = jr + k + 1; | |
| t ≔ t0:n | prototype (integer) knot sequence of the filter; |
| the input knot sequence of the filter is ht0:n + ξ | |
| where ξ is the shift and h scales. |
This notation is illustrated by the following example.
Example 2.1
A linear DG output sequence on 200 uniform segments of the interval [−1‥1] implies d = 1, m = 200, and s0:m = −100 : 100. A degree-one spline filter defined over the knot sequence t ≔ 0 : 6 and associated with the index set 𝒥 ≔ {0, 3, 4} corresponds to k = 1, n = 6, r = 2 and jr = 4. The two B-splines defined over the knot sequences 1 : 3 and 2 : 4 are skipped.
2.2. The canonical test problem and the Discontinuous Galerkin method
To demonstrate the performance of the filters on a concrete example, [RS03] used the following univariate hyperbolic partial differential wave equation:
| (2.2) |
subject to periodic boundary conditions, u(a, τ) = u(b, τ), or Dirichlet boundary conditions u(e, τ) = u0(τ) where, depending on the sign of κ(x, τ), e is either a or b. Subsequent work [RS03, SRV11, RLKV15] adopted the same differential equation to test their new one-sided filters and to compare to the earlier work. Eq. (2.2) is therefore considered the canonical test problem. We note, however, that SIAC filters apply more widely, for example to FEM and elliptic equations [BS77].
In the DG method, the domain [a‥b] is partitioned into intervals by a sequence hs0:m of break points a ≕ hs0, …, hsm ≔ b. Assuming that the sequence is rational, scaling by h will later allow us to consider a prototype sequence s0:m of integers. Let be the linear space of all piecewise polynomials with break points hs0:m and of degree less than or equal to d. We use modal or nodal scalar-valued basis functions ϕi(․ ; hs0:m) 0 ≤ i ≤ m of that are linearly independent and satisfy the scaling relations
| (2.3) |
Relation (2.3) is typically used for refinement in FEM, DG or Iso-parametric PDE solvers. Examples of basis functions ϕi are Bernstein-Bézier basis functions [dB05], Lagrange polynomials dependent on Legendre-Gauss-Lobatto quadrature points [HW07], and Legendre polynomials.
The DG method approximates the time-dependent solution of Eq. (2.2) by
| (2.4) |
Multiplying the two sides of Eq. (2.4) with a test function υ and integrating by parts yields the weak form of Eq. (2.2):
| (2.5) |
Substituting u on the left of Eq. (2.5) by (2.4), treating the rightmost, non-integral term of Eq. (2.5) as a numerical flux, and choosing υ(x) ≔ ϕj(x ; hs0:m), yields a system of ordinary differential equations in τ with the coefficients ui(τ), 0 ≤ i ≤ m, as unknowns. This system can be solved by, e.g., a standard fourth-order four stage explicit Runge-Kutta method (ERK) [HW07, Section 3.4].
2.3. A synopsis of DG filtering
Since convolution with a symmetric SIAC kernel of a function g at x requires g to be defined in a two-sided neighborhood of x, near boundaries, Ryan and Shu [RS03] proposed convolving the DG output with a kernel whose support is shifted to one side of the origin: for x near the left domain endpoint a, the one-sided SIAC kernel is defined over (x−a)+h(−(3d+1), −3d, …, 0) where d is the degree of the DG output. The Ryan-Shu x-position-dependent one-sided kernel yields optimal L2-convergence, but its point-wise error near a can be larger than that of the DG output.
In [SRV11], Slingerland-Ryan-Vuik improved the one-sided kernel by increasing its monomial reproduction from degree r = 2d to degree r = 4d. This one-sided kernel reduces the boundary error when d = 1 but the kernel support is increased by 2d additional knot intervals and numerical roundoff requires quadruple precision calculations to determine the kernel's coefficients. ([SRV11] additionally required quadruple precision for computing the DG output.) Indeed, the coefficients of the boundary filters [RS03, SRV11, MRK12, RLKV15, MRK15] are computed by inverting a matrix whose entries are determined by Gaussian quadrature; and, as pointed out in [RLKV15], SRV filter matrices are close to singular.
Ryan-Li-Kirby-Vuik [RLKV15] therefore suggested an alternative one-sided position-dependent kernel that has the same support size as the symmetric kernel and has reproduction degree higher by one, enriching the spline space by one B-spline. This RLKV kernel is stably computed, as has been verified numerically, in double precision, up to input data degree d = 4 and joins the symmetric SIAC filter, applied in the interior, without a jump in error. However, the error of the RLKV kernel at the boundaries can be higher than that of the symmetric SIAC filter and the L2 and L∞ superconvergence rates are sub-optimal [RLKV15] (c.f. Fig. 9,10,11). [LRKV16] additionally states that RLKV has a poorer derivative approximation than SRV filters.
Fig. 9.
Convergence rates Test 4.1 (constant wave-speed, periodic boundary condition). L2- and L∞ convergence of the convolved DG data in the left, respectively right boundary region. Rows 1, 2, 3 show rates for degree d = 1, 2, 3. Upper, dotted grey: symmetric SIAC filter; lower dash-dotted: DG rate. The graphs have the same indicative colors and styles as those in Fig. 6, 7 and 8.
Fig. 10.
Convergence rates Test 4.2 (constant wave-speed, Dirichlet boundary condition). L2- and L∞ convergence of the convolved DG data in the left, respectively right boundary region. Rows 1, 2, 3 show rates for degree d = 1, 2, 3. Upper, dotted grey: symmetric SIAC filter; lower dash-dotted: DG rate.
Fig. 11.
Convergence rates Test 4.3 (variable wave-speed, periodic boundary condition). L2- and L∞ convergence of the convolved DG data in the left, respectively right boundary region. Rows 1, 2, 3 show rates for degree d = 1, 2, 3. Upper, dotted grey: symmetric SIAC filter; lower dash-dotted: DG rate.
[NP16] reinterprets the published one-sided filters in an explicit, symbolic form as position-dependent PSIAC spline filters. Symbolic expression of coefficients for spline filters have recently been developed in [MRK15] for uniform knot sequences and in [Pet15] for general knot sequences. Reinterpretation of the published filters in symbolic form improves their numerical stability.
2.4. Symbolic formulation of the filters
We split the DG data at any known discontinuities and treat the domains separately. Then convolution can be applied throughout a given closed interval [a‥b]. A SIAC spline kernel with knot sequence t0:r+k+1 is symmetric (about the origin in ℝ) if tℓ+tr+k+1−ℓ = 0 for ℓ = 0 : ⌈(r+k+ 1)/2⌉. Note that, unlike the (position-independent) classical symmetric SIAC filter, the position-dependent boundary kernel coefficients have to be determined afresh for each point x.
Lemma 2.1 (SIAC coefficients [NP16])
The vector f ≔ [f0, …, fr]t ∈ ℝr+1 of B-spline coefficients of the SIAC filter with index sequence 𝒥 ≔ (0, …, jr) and knot sequence t0:n is
| (2.6) |
This characterization yields the following formula for the filter coefficients.
Theorem 2.2 (Scaled and shifted SIAC coefficients are polynomial [NP16])
The SIAC filter coefficients fξ;ℓ associated with the knot sequence ht0:n+ξ are polynomials of degree r in ξ:
| (2.7) |
The following corollary implies that the kernel coefficients fξ;ℓ, can be pre-computed stably, as scaled integers.
Corollary 2.3 (Coefficient polynomials fξ;ℓ have rational coefficients [NP16])
If the knots t0:n are rational, then the filter coefficients fξ;ℓ are polynomials in ξ and h with rational coefficients.
We can now define the PSIAC kernel.
Definition 2.4 (PSIAC kernel)
A PSIAC kernel with index sequence 𝒥 = (0, …, jr) and knot sequence ht0:n + x has the form
| (2.8) |
The DG output is convolved with a PSIAC kernel fx−hλ(s) of reproduction degree r, associated with an index sequence 𝒥 and defined over shifted knots ht0:n + x − hλ − where the constant hλ adjusts the filter kernel to the left or right boundary. Example 2.2 illustrates the simple explicit form of the PSIAC coefficients according to Theorem 2.2 and verifies that the corresponding PSIAC filter reproduces as predicted by the derivation.
Example 2.2 (Reproduction by PSIAC filtering)
Let h = 1, k = 0 and fx be the least degree PSIAC filter with t0:n = {−2, −1, 0}, r = 1, 𝒥 = (0, 1). According to (2.8) of Definition 2.4:
| (2.9) |
where χ[α,β] denotes the indicator function of the domain [α, β]. Equation (2.7) of Theorem 2.2 provides the formula
| (2.10) |
This choice of filter coefficients fx;0 and fx;1 satisfies Eq. (2.1). For δ = 0:
Leveraging Theorem 2.2, we can efficiently compute the convolution as follows.
Theorem 2.5 (Efficient PSIAC filtering of DG output [NP16])
Let fx(s) be a PSIAC kernel of reproduction degree r with index sequence 𝒥 = (0, …, jr) and knot sequence ht0:n + x − hλ. Let , x ∈ [a, b] and τ ≥ 0, be the DG output. Let ℐ be the set of indices of basis functions ϕi(․ ; hs0:m) with support overlapping h[λ − tn, λ − t0]. Then the filtered DG approximation is a polynomial in x of degree r:
| (2.11) |
| (2.12) |
A is the reversal matrix with 1 on the antidiagonal and zero else.
The factored representation implies that instead of recomputing the filter coefficients afresh for each point x of the convolved output as was the practice prior to [NP16], we simply pre-compute the coefficients corresponding to one prototype knot sequence t and, at runtime, pre-multiply with the data and post-multiply with the vector of shifted monomials scaled by h according to Eq. (2.11).
Increased multiplicity of an inner knot of the symmetric, position-independent SIAC kernel reduces its smoothness, and this, in turn, reduces the smoothness of the filtered output. By contrast, Theorem 2.5 shows that when the PSIAC knots are shifted along evaluation points x then PSIAC convolution yields a polynomial, i.e. the representation near the boundary is infinitely smooth regardless of the knot multiplicity. That is, we may view position-dependent filtering as a form of polynomial approximation. For example, the RLKV-filtered output is a single polynomial over the boundary region where it applies.
Example 2.3 (Coefficients of the RLKV-filtered DG output polynomial)
Let d = k = 3. Consider the canonical partial differential equation uτ + ux = 0 of (2.2) for x ∈ [0, 1] at final time T = 1 for mesh-sizes hi ≔ 2−i/10, i = 1, 2, 3. The analytical solution of this equation is ue(x) = sin 2π(x − T). Let λL,i ≔ 5hi, λR,i ≔ 1 − 5hi and fL,i,x be the RLKV filters with respect to the left boundary regions. Applying the RLKV-filter to the DG output uhi computed for mesh size hi yields a polynomial in x as predicted by Theorem 2.5:
| (2.13) |
where
Analogously, by symmetry, the filtered data of the right boundary region is
Fig. 3a plots the polynomials PL,i and PR,i, the difference between the polynomials and the exact solution (note the scale 10−5 in Fig. 3b) and the error in log scale Fig. 3c. Fig. 3c matches the error graphs of [RLKV15, Figure 5, top-right] that were pointwise computed numerically.
Fig. 3.
RLKV-filtered boundary region of the DG output for d=3 of Example 2.3. The graphs in red, green, and blue correspond to i=1, 2, 3 respectively, i.e. to N=20, 40, 80 DG segments. (a) Three segments of degree 7 partially cover one another, representing the RLKV-filtered output, superimposed with the exact solution (black dashed). At this resolution all four are visually indistin-guishable where their domain overlaps (the x-domain of the boundary filter halves with doubling N). (b) Fine sampling of difference between the filtered output and the exact solution. (c) The canonical log scale display of the absolute error left: |PL,i(x) − ue(x)|, x∈[0, λL,i] and right: |PR,i(x) − ue(x)|, x∈[λR,i, 1] at computational resolution 6N. If the sampling were as fine as (b), the arches would reach down to zero.
Fig. 5.
Example graphs from Fig. 6a,b for L∞ error ‖e(x, T)‖∞,X vs final time for Test 4.1 (constant wave-speed, periodic boundary condition), d = 1, T = [0‥1]. The L∞-error of PSIAC filters RLKV (red), SRV (green), NP0 (blue) is computed only over the respective region: [0‥λ+] in (a) and [1 − λ+, 1] in (b). The top-most grey dash-dotted graphs in (a) and (b) are identical and represent e[0‥1](T) for the raw DG output for N = 160 x-segments. The dotted grey graph in the middle is e[λ+‥1−λ+](T) for symmetric SIAC filter over the interior. Graphs for boundary filter errors are dashed when the overall partition is N = 80 and solid for N = 160. Each point on the abscissa therefore represents one final time 0 ≤ T ≤ 1 and each ordinate represents a maximal absolute error over the domain for that final time.
The polynomial characterization directly provides a symbolic expression for the derivatives of the convolved DG output.
Corollary 2.6 (Derivatives of PSIAC-filtered DG output [NP16])
| (2.14) |
2.5. Boundary filters as PSIAC filters
The symmetric knot sequence of the symmetric kernel of degree d is
| (2.15) |
On [a‥b], this symmetric kernel can only be applied at evaluation points x where
| (2.16) |
The boundary SIAC kernels RS [RS03] and SRV [SRV11] of reproduction degree r + 1 are of degree k = d, the degree of the DG output. Their index sequence 𝒥 is consecutive, and they are defined over the shifted knots
| (2.17) |
that form a symmetric support about the origin when ξ = λ*,d. The two kernels differ in their degree: r(RS) = 2d and r(RV) = 4d. Explicit forms of the matrix Gλ, that is defined in Theorem 2.5 to efficiently construct the filter, are presented in [NP16].
The index sequence 𝒥 of the boundary kernel RLKV [RLKV15] is non-consecutive. The left and right kernels are of degree 2d + 1 and are defined over the shifted knots, symmetric about the origin:
| (2.18) |
| (2.19) |
Explicit forms of the matrix Gλ, that is defined in Theorem 2.5 to efficiently construct the filter, are presented in [NP16].
Theorem 2.5 shows that a PSIAC filter need not have the same degree as the sym- metric SIAC filter and it shows that PSIAC filters may have multiple knots without reducing the continuity of the filtered DG output. To illustrate this, [NP16] introduced filters with multiple interior knots. This class of filters is denoted NPk and has knot sequences
| (2.20) |
3. New least-degree DG filters
The symbolic formulation (2.11) applies to kernels of degree different from the degree d of the DG output. We may therefore consider a piecewise-constant (k = 0) PSIAC filter. The NP0 filter has a consecutive index sequence 𝒥 and is defined over the shifted knots
| (3.1) |
Therefore the piecewise constant NP0 filter has reproduction degree r + 1 = 3d + 1 and the same support size as the symmetric kernel. (Numerical experiments show that a filter with 2d + 1 constant pieces still achieves optimal superconvergence – albeit with a larger error than using 3d + 1 pieces. We choose 3d + 1 since this is the number of pieces that the symmetric SIAC filter of the interior uses).
While the smoothness of the filtered output of position-independent filters, e.g. symmetric SIAC filters, depends on the filter degree, position-dependent PSIAC filters yield maximally smooth output regardless of their degree: by Theorem 2.5, the DG output filtered by a PSIAC filter is a polynomial over the respective boundary region independent of the degree or smoothness of the PSIAC filter. That is, even our piecewise constant NP0 PSIAC filter increases the smoothness to infinity in the boundary region. Example 3.1 illustrates the remarkable fact that PSIAC filtering yields a single polynomial. This is in contrast to the finite smoothness at break points of data filtered with position-independent SIAC filters.
Example 3.1 (PSIAC-filtering yields polynomial output)
Let h = 1, χ[α,β] be the indicator function of [α, β] and
the discontinuous DG output. Convolving uh0 (x) at x in the interior region [2, 5] of Ω with the symmetric (position-independent) SIAC filter of reproduction degree r = 1,
yields
| (3.2) |
That is, convolving with 𝒦 yields a C0 output, as predicted by the SIAC theory developed by Ryan et al. [RS03, SRV11].
By contrast, at x in the left boundary region [0, 2] of Ω, convolving uh0 (x) with the left-sided least-degree position-dependent PSIAC filter fx defined in Example 2.2 yields
| (3.3) |
The equality Eq. (3.3) holds because when 0 ≤ x ≤ 2 and −2 + x ≤ s ≤ 0 + x then 0 ≤ x − s ≤ 2. Hence uh0 (x − s) = χ[0,1](x − s). As Theorem 2.5 predicts , x ∈ [0, 2], is a polynomial over the boundary region [0, 2].
Fig. 4 graphs instances of the SRV, RLKV and NP0 kernels. Note that the NP0 filter remains piecewise constant, while the degree of the other two filters increases with the degree d of the DG data.
Fig. 4.
Graphs of the three kernels defined at the left boundary x = a. By construction the degree of [SRV11] and [RLKV15] increases with d while the degree of the new NP0 kernel remains piecewise constant. The NP0 kernel (blue) has the same support as the RLKV kernel (red), shorter than the SRV kernel (green).
3.1. Symbolic form
We reduce the convolution of the DG data with the NP0 kernels to an inner product of two short vectors. The inverse of the SIAC reproduction matrix Mt,𝒥 and the matrix Gλ*, of the formulation (2.11) in Theorem 2.5, are explicitly derived for NP0 based on the following two propositions.
Proposition 3.1. (SIAC reproduction matrix for degree k = 0)
The SIAC reproduction matrix for least degree filters with index sequence 𝒥 ≔ (0, …, jr) and knot sequence t0:n is
| (3.4) |
If the knot sequence t0:n is uniform, i.e. h1 ≔ tj+1 − tj, then
| (3.5) |
Proof
Since k = 0, each entry of Mt0:n,𝒥 given by Eq. (2.6) is the sum of all monomials in tj+1 and tj of total degree δ, and hence of the form (3.4). Eq. (3.5) is a direct consequence of Eq. (3.4).
Proposition 3.2 (Gλ* for degree k = 0 and uniform DG intervals)
Assume that the DG break point sequence s0:m is uniform, hence after scaling consists of consecutive integers. Without loss of generality, the DG output on each interval [si, si+1] is defined in terms of Bernstein-Bézier polynomials of degree d, where the superscript i indicates the interval and ℓ = 0 : d, i.e.
| (3.6) |
Let I be the 3d + 1 identity matrix and 1 the (d + 1) column vector of ones. The matrix GλL for the left-sided kernel and the matrix GλR for the right-sided kernel defined by Eq. (2.11) are
| (3.7) |
Proof
First we derive Eq. (3.7) for GλL. In Eq. (2.12), we change to the variable t = s − λL + tn. Since the B-splines are translation invariant and k = 0 (hence n = jr + 1)
| (3.8) |
Consequently, Eq. (2.12) can be rewritten as
| (3.9) |
Since , the one-sided condition implies that the first point of the sequence of translated DG break points s0:m − λL + tn equals 0, i.e., s0 − λL + tn = 0. Since the break points are consecutive integers starting from 0 and the B-splines B(t | j : j+1) are supported over [0, 3d+1], the relevant DG break points are 0 : 3d+1.
We re-write the basis functions ϕj(s ; s0:m − λL + tn), that are supported on an interval [i‥i + 1], in terms of DG output Bernstein-Bézier basis functions , ℓ = 0‥d. Since each B-spline B(t | j : j + 1) is supported on [j, j + 1] and each is supported on [i, i + 1], the entries of GλL are non-trivial only if i = j. Therefore
| (3.10) |
The second last equality in Eq. (3.10) holds since and the integral of over [i, i + 1] equals [dB02]. Eq. (3.10) shares the entries of Eq. (3.7) for GλL.
A similar argument for deriving GλR but starting with the substitution t := −(s − λR + t0) proves Eq. (3.7) for GλR.
We note that GλL = GλR uniquely holds for the piecewise constant one-sided filter and not for any of the higher-degree filters in the literature.
Formula (3.7) of Proposition 3.2 makes it easy to explicitly list the matrix for computing the filtered DG output for meshsize h and DG-degree d at x (cf. Eq. (1.1)). For d = 1,
| (3.11) |
The Appendix A lists for d = 2 and d = 3.
3.2. Filter transition
Let ℒx * uh denote the DG output uh filtered by the left boundary PSIAC filter ℒx and 𝒦 * uh the DG output filtered by the symmetric SIAC filter 𝒦 of the interior. These two filtered outputs overlap on the interval [a1, a2] = a + cL + [0‥2h] where cL separates the interior and left boundary. Without loss of generality, after substituting z ≔ (x − a1)/(a2 − a1), we may assume that a1 := 0, a2 := 1. [SRV11] suggests a smoothness-preserving transition filtering scheme that we state succinctly as
| (3.12) |
where are Bernstein-Bézier polynomials of degree 2ρ defined over the unit interval [0‥1]. The Bernstein-Bézier representation guarantees that Hermite-interpolates both filtered DG output up to order ρ. The degree 2ρ need not be twice the minimum degree of the boundary filter and the symmetric SIAC filter but can be chosen to further smooth out the transition. That is, one may choose ρ = 2 even though d = k = ds = 1. The transition for ρ = 2 is less abrupt at 0 and 1 than for ρ = 1.
4. Numerical Comparison of the SRV, RLKV, NP0 and the symmetric SIAC filter
This section compares numerical results on post-filtering DG output for (2.2) using the new NP0 filters as well as the state-of-the-art filters, SRV [SRV11] and RLKV [RLKV15]. We implemented SRV and RLKV in their PSIAC form [NP16] and verified that the output of our RLKV implementation matches that of a numerical code provided by the authors [RLKV15]. Our measurements compare the absolute error e(x, T) as a function of domain points x and final times T. DG output is computed until time T before the filters are applied. Fig. 1a.b.c showed graphs for T-slices of e(x, T) for fixed T = 0.7 and x ∈ X = [0‥1]. The graphs of the Appendix display, as functions of T, the Lp norm of the slices
That is, each point on the graphs succinctly represents the max-norm or L2-norm error over the support X of the filter. Denote by [0‥λ+] the left boundary region [0‥λ] plus the transition region. Then for each boundary filter the graphs show e[0‥λ+](T) on the left and e[1−λ+‥1](T) on the right and replicate in both left and right e[λ+‥1−λ+](T) for the symmetric SIAC filter and e[0‥1](T) for DG. The graphs in the Appendix B summarize ca. 15,000 measurements, some of which are graphed as T-slices in the technical addendum [NPdf]. (Showing all T-slices would fill 100 pages in the compressed display format of [NPdf]).
The graphs plot errors for three instances of the canonical problem (2.2),
The filters are applied at time T for final times T ∈ [0‥1] for Test 4.1 and for final times T ∈ [0‥2π] for the other two Test problems.
Test 4.1 (Constant wave-speed, periodic boundary conditions)
Consider the specializations of Eq. (2.2):
| (4.1) |
a ≔ 0, b ≔ 1, periodic boundary conditions, u0(x) ≔ sin(2πx). The exact solution at the final time T is u(x, T) = sin(2π(x − T)).
Test 4.2 (Constant wave-speed, Dirichlet boundary conditions)
Consider Eq. (2.2) with specializations (4.1), but a ≔ 0, b ≔ 2π, Dirichlet boundary conditions, u0(x) ≔ sin(x), u(0, τ) := −sin(τ). The exact solution is at the final time T is u(x, T) = sin(x − T).
Test 4.3 (Variable wave-speed, periodic boundary conditions)
Consider Eq. (2.2) with the specializations
| (4.2) |
a ≔ 0, b ≔ 2π, and periodic boundary conditions, u0(x) ≔ sin(x). The exact solution at the final time T is u(x, T) = sin(x − T).
The comparison of the filters yields broadly the same qualitative results for all three test scenarios.
Fig. 6, 7 and 8 juxtapose the maximal point-wise errors ‖e(x, T)‖∞,X for each final time T on the abcissa and resolutions of [0‥2π] into N = 80 segments (dashed) and N = 160 segments (solid) for d = 1, 2 and half the N-resolution for d = 3. The region X for the DG output is the whole domain, the left, respectively right boundary and transition regions for the boundary filters SRV, RLKV, NP0, and the interior [λ+‥1 − λ+] for symmetric SIAC filter. In Fig. 5 (a copy of Fig. 6a,b) the filter error for Test 4.1 and the left boundary regions is plotted in (a) and the right boundary regions in (b). For example, for N = 160 and Test 4.2 solved up to final time T = 1/3 before filters were applied, we can read off in (a) the maximal absolute error of the left RLKV-filter as approximately 10−4, less that the top grey dotted DG-error and the error of the SRV-filter, the NP0 and the symmetric SIAC filter as approximately 10−6. (The numbers for DG, RLKV and NP0 match those of of the graphs in Section 1.1, Ex.1 of [NPdf] for fixed T = 1/3.).
Fig. 6.
L∞ error vs final time Test 4.1 (constant wave-speed, periodic boundary condition). Abscissa: final time T at which the DG output was computed. Ordinate: maximum point-wise errors. Red (RLKV), green (SRV), blue (NP0) dashed graphs correspond to N = 80 in (a−d) and to N = 40 in (e, f). All other graphs correspond to N = 160 in (a−d) and to N = 80 in (e, f), with top dot-dashed grey (DG output) and lower dotted grey (symmetric SIAC filter).
Fig. 7.
L∞ error vs final time Test 4.2 (constant wave-speed, Dirichlet boundary condition). Abscissa: final time T at which the DG output was computed. Ordinate: maximum point-wise errors. Red (RLKV), green (SRV), blue (NP0) dashed graphs correspond to N = 80 in (a−d) and to N = 40 in (e, f). All other graphs correspond to N = 160 in (a−d) and to N = 80 in (e, f), with top dot-dashed grey (DG output) and lower dotted grey (symmetric SIAC filter).
Fig. 8.
L∞ error vs final time Test 4.3 (variable wave-speed, periodic boundary condition). Abscissa: final time T at which the DG output was computed. Ordinate: maximum point-wise errors. Red (RLKV), green (SRV), blue (NP0) dashed graphs correspond to N = 80 in (a−d) and to N = 40 in (e, f). All other graphs correspond to N = 160 in (a−d) and to N = 80 in (e, f), with top dot-dashed grey (DG output) and lower dotted grey (symmetric SIAC filter).
Fig. 9, 10 and 11 display, for various final times T on the abscissa, the convergence rate
| (4.3) |
for the L2 and the L∞ norm, for the left boundary region and the right boundary region, and for several h = 1/N where N is the sampling of the spatial domain. Fig. 9 and Fig. 10 each show ⧣(degrees×norms×boundary regions×final times×filter types or DG output ×refinements) = (3×2×2×50×5×2) = 6000 convergence rates. Fig. 11, with 30 final times, shows 3600 convergence rates. The graphs help us spot that convergence rates are higher for some isolated T than in general.
For d = 1, Fig. 6 of the Appendix B shows for all final times T that both SRV and NP0 filtering result in lower errors than RLKV-filtering. For d = 2, 3, Fig. 7 and for d = 3, Fig. 8 point to the instability of the SRV filter at double precision: for certain final times T, the SRV-error even increases above that of the raw DG output. Instability also causes the SRV-error to exceed that of the NP0 filter in Fig. 6. For d = 1, 2, the maximal point-wise errors of the RLKV filter are noticeably larger than those of the SRV filter and the NP0 filter. The point-wise errors of the NP0 filter are on par with the symmetric SIAC filter (in gray).
We note the consistency between L2 and L∞ convergence and therefore clearly higher rates for SRV, NP0 and the symmetric SIAC filters over RLKV. When d = 1 and d = 2, the NP0 and SRV filters show optimal L2 and L∞ super-convergence rates of order 2d + 1 in the boundary region. The convergence rate of 2 for the boundary regions for RLKV and d = 1 has been verified also with the original RLKV code. Fig. 12 in Appendix B compares the convergence orders for different end times T and DG input of degree d = 1, 2, 3.
Fig. 12.
L2 error and convergence rates for the left boundary region for (top) end times T ∈ {1/3, 2/3} and periodic boundary constraints Test 4.1 and (bottom) T ∈ {2π/3, 4π/3} for Dirichlet constraints Test 4.2. The ordinate measures the L2 error on the transition and boundary region, the abcissa counts the number of input DG pieces for the total interval [0‥1]. Only a constant fraction of these pieces is used by the boundary filters and hence to compute the L2 norm. The grey downward lines in each graph indicate the slopes for optimal super-convergence order 2d + 1 that are attained by symmetric SIAC filter of DG degree d that is applied in the interior: from top to bottom they correspond to d = 1, 2, 3. The larger, black symbols indicate the (typically larger) error for RLKV: The smaller, red symbols indicate the error and rate for NP0. The symbols are for d = 1 ‘◦’, for d = 2 ‘+’ and for d = 3 ‘∇’. The graphs for the L∞ error look alike. Individual pointwise error, i.e. error-vs-x graphs are available at [NPdf].
For d = 3 the point-wise errors and convergence rates of all filters oscillate since calculations are close to machine precision. However, the point-wise errors and convergence rates of the NP0 filter are on par with that of the symmetric SIAC filter, while the errors of the SRV filters are notably higher and convergence rates become sub-optimal, and even lower than d + 1 for some T when d = 3. Fig. 2 helps explain the instability of the SRV filters. Plotting the alternating entries of the convolution vector 𝒱 = Qλλ at a boundary point x (e.g., x = 0 when a = 0), we find the entries of the SRV filters to be two orders of magnitude larger than those of NP0.
5. Conclusion
PSIAC NP0 filters enjoy three positive properties. First, explicit tabulated integer-based formulas make the computation of the NP0 filters and their application for convolution more stable and efficient. Second, on canonical test equations, applying NP0 filters reduces the errors of the DG output to that of optimal symmetric SIAC filters. Third, the support of the NP0 filters matches that of the symmetric SIAC filter, making them naturally compatible.
Acknowledgments
This work was supported in part by NSF grant CCF-1117695 and NIH grant R01 LM011300-01. Jennifer Ryan kindly provided her group’s RLKV-code to allow us to confirm correctness of our PSIAC implementation of the RLKVfilter.
Appendix A
Explicit filter matrix Qλ for NP0
For d = 1, is listed in (3.11). For d = 2,
For d = 3,
Appendix B
Numerical experiments - Error Graphs and Convergence Rates
Our measurements compare the absolute error e(x, T) as a function of domain points x and final times T. DG output is computed until time T before the filters are applied. Fig. 1a.b.c showed graphs for T-slices of e(x, T) for fixed T = 0.7 and x ∈ X = [0‥1]. The graphs of the Appendix display, as functions of T, the Lp norm of the slices
That is, each point on the graphs succinctly represents the max-norm or L2-norm error over the support X of the filter. Denote by [0‥λ+] the left boundary region [0‥λ] plus the transition region. Then for each boundary filter the graphs show e[0‥λ+](T) on the left and e[1−λ+‥1](T) on the right and replicate in both left and right e[λ+‥1−λ+](T) for the symmetric SIAC filter and e[0‥1](T) for DG. Fig. 9, 10 and 11 show L∞ and L2 convergence rates of filtered DG output plotted against the final time T.
The errors in Fig. 6, 7, and 8 are computed for DG output of degree d = 1, 2, 3 and for uniform partitions of the x-domain into intervals of length h ≔ 1/N. A fixed number of points, depending on d but not N, in the boundary regions are the result of PSIAC-filtering with one of SRV, RLKV, NP0. (We verified correctness of RLKV by comparison with a certified numerical RLKV implementation.) We emphasize that all boundary filters are measured only in the boundary regions inclusive of the transition region. Errors of the symmetric filter are computed only for the interior exclusive of the transition region. With increasing N the interior converges to the full domain and symmetric SIAC filter contributes an increasing number of values. The number of values generated by boundary filters does not increase with N but stays fixed. Regardless of the choice of boundary filter, the L2 error over the full domain is dominated by the symmetric SIAC filter. Therefore errors and rates for the boundary filters are not combined with those of the symmetric filter.
The L∞ errors in (Test 4.1, Test 4.2, Test 4.3) have been computed for (50, 50, 30) different final times T in ([0, 1], [0, 2π], [0, 2π]) respectively. (Due to scaling by 2π, the test problems have different final times T.) For example, the value of the RLKV error for Test 4.1 for N = 80 and DG element degree d = 1 (dashed red graph in Fig. 6a) at final time T = 0.4 is ca. 0.0002. This value is obtained by solving Test 4.1 using DG of degree d = 1 up to time T = 0.4 and then convolving with the RLKV filter to obtain s = 6 samples per boundary region interval for a total of 3s error samples. The maximum absolute sampled value is 0.0002. The error of the symmetric SIAC filter is computed from the remaining interior N − 2 * 3s samples. The s samples within the intervals are uniformly distributed. Sampling instead at Gauss-Legendre points does not noticeably change the outcome.
All graphs share the same color and style assignments. In Fig. 6, 7, and 8, the raw DG output for N = 160 in (a−d) and N = 80 in (e,f) is the top-most dash-dotted graph (largest error). In Fig. 9, 10 and 11 the DG convergence-rate is at the bottom. The dotted grey graph represents symmetric SIAC filter for N = 160 in (a−d) and N = 80 in (e,f). The boundary filters are RLKV (red), SRV(green) and NP0 filter (blue). Dashed graphs correspond to N = 80 in (a−d) and N = 40 in (e,f) and solid graphs to N = 160 in (a−d) and N = 80 in (e,f), halving the interval length h.
Fig. 9 for Test 4.1 and Fig. 10 for Test 4.2, and Fig. 11 for Test 4.3 display the L∞ and the L2 convergence rates of the filtered DG outputs. All computations are performed in double precision.
Footnotes
This work was supported in part by NSF grant CCF-1117695 and NIH grant R01 LM011300-01
References
- Bramble JH, Schatz AH. Higher order local accuracy by averaging in the finite element method. Math Comput. 1977 Jan;31(137):94–111. [Google Scholar]
- Cockburn B, Luskin Ml, Shu C-W, Süli E. Enhanced accuracy by post-processing for finite element methods for hyperbolic equations. Math Comput. 2003;72(242):577–606. [Google Scholar]
- de Boor CW. B-spline Basics. In: Kim M, Farin G, Hoschek J, editors. Handbook of Computer Aided Geometric Design. Elsevier; 2002. [Google Scholar]
- de Boor CW. Divided differences. Surveys in Approximation Theory. 2005;1:46–69. [Google Scholar]
- Hesthaven JS, Warburton T. Nodal Discontinuous Galerkin methods: algorithms, analysis, and applications. Springer Science & Business Media; 2007. [Google Scholar]
- Ji Liangyue, van Slingerland Paulien, Ryan Jennifer, Vuik Kees. Superconvergent error estimates for position-dependent smoothness-increasing accuracy-conserving (SIAC) post-processing of Discontinuous Galerkin solutions. Math Comput. 2014;83(289):2239–2262. [Google Scholar]
- Li X, Ryan JK, Kirby RM, Vuik C. Smoothness-increasing accuracy-conserving (SIAC) filters for derivative approximations of Discontinuous Galerkin (DG) solutions over nonuniform meshes and near boundaries. J Comput Appl Math. 2016;294:275–296. [Google Scholar]
- Mock MS, Lax PD. The computation of discontinuous solutions of linear hyperbolic equations. Commun Pur Appl Math. 1978;31(4):423–430. [Google Scholar]
- Mirzaee H, Ryan JK, Kirby RM. Efficient implementation of smoothness-increasing accuracy-conserving (SIAC) filters for Discontinuous Galerkin solutions. SIAM J Sci Comput. 2012;52(1):85–112. [Google Scholar]
- Mirzargar M, Ryan JK, Kirby RM. Smoothness-increasing accuracy-conserving (SIAC) filtering and quasi-interpolation: A unified view. SIAM J Sci Comput. 2015:1–25. [Google Scholar]
- Nguyen Dang-Manh, Peters Jörg. Nonuniform discontinuous galerkin filters via shift and scale. SIAM Journal on Numerical Analysis. 2016;54(3):1401–1422. [Google Scholar]
- Nguyen Dang-Manh, Peters Jörg. More measurements: Effective least-degree boundary kernels for Discontinuous Galerkin. https://www.cise.u.edu/research/SurfLab/15lsiac.pdf.
- Peters J. General spline filters for Discontinuous Galerkin solutions. Comp Math Appl. 2015;70(5):1046–1050. doi: 10.1016/j.camwa.2015.06.034. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Ryan JK, Cockburn B. Local derivative post-processing for the Discontinuous Galerkin method. J Comput Phys. 2009;228(23):8642–8664. [Google Scholar]
- Ryan JK, Li X, Kirby RM, Vuik K. One-sided position-dependent smoothness-increasing accuracy-conserving (SIAC) filtering over uniform and non-uniform meshes. SIAM J Sci Comput. 2015;64(3):773–817. [Google Scholar]
- Ryan JK, Shu C-W. On a one-sided post-processing technique for the Discontinuous Galerkin methods. Methods and Applications of Analysis. 2003;10(2):295–308. [Google Scholar]
- Ryan JK, Shu C-W, Atkins H. Extension of a post processing technique for the Discontinuous Galerkin method for hyperbolic equations with application to an aeroacoustic problem. SIAM J Sci Comput. 2005;26(3):821–843. [Google Scholar]
- Slingerland Pv, Ryan JK, Vuik C. Position-dependent smoothness-increasing accuracy-conserving (SIAC) filtering for improving Discontinuous Galerkin solutions. SIAM J Sci Comput. 2011;33(2):802–825. [Google Scholar]
- Thomée V. High order local approximations to derivatives in the finite element method. Math Comput. 1977;31(139):652–660. [Google Scholar]












