Skip to main content
Log in

Hexagonal Smoothness-Increasing Accuracy-Conserving Filtering

  • Published:
Journal of Scientific Computing Aims and scope Submit manuscript

    We’re sorry, something doesn't seem to be working properly.

    Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.

Abstract

Discontinuous Galerkin (DG) methods are a popular class of numerical techniques to solve partial differential equations due to their higher order of accuracy. However, the inter-element discontinuity of a DG solution hinders its utility in various applications, including visualization and feature extraction. This shortcoming can be alleviated by postprocessing of DG solutions to increase the inter-element smoothness. A class of postprocessing techniques proposed to increase the inter-element smoothness is SIAC filtering. In addition to increasing the inter-element continuity, SIAC filtering also raises the convergence rate from order \(k + 1\) to order \(2k + 1\). Since the introduction of SIAC filtering for univariate hyperbolic equations by Cockburn et al. (Math Comput 72(242):577–606, 2003), many generalizations of SIAC filtering have been proposed. Recently, the idea of dimensionality reduction through rotation has been the focus of studies in which a univariate SIAC kernel has been used to postprocess a two-dimensional DG solution (Docampo-Sánchez et al. in Multi-dimensional filtering: reducing the dimension through rotation, 2016. arXiv preprint arXiv:1610.02317). However, the scope of theoretical development of multidimensional SIAC filters has never gone beyond the usage of tensor product multidimensional B-splines or the reduction of the filter dimension. In this paper, we define a new SIAC filter called hexagonal SIAC (HSIAC) that uses a nonseparable class of two-dimensional spline functions called hex splines. In addition to relaxing the separability assumption, the proposed HSIAC filter provides more symmetry to its tensor-product counterpart. We prove that the superconvergence property holds for a specific class of structured triangular meshes using HSIAC filtering and provide numerical results to demonstrate and validate our theoretical results.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. In spline theory, the first-order central B-spline is often denoted as \(b_0(x)\).

  2. The scaling of the HSIAC filter in this case does not change since the underlying hexagonal mesh has not changed.

References

  1. Adjerid, S., Baccouch, M.: The discontinuous Galerkin method for two-dimensional hyperbolic problems. part I: superconvergence error analysis. J. Sci. Comput. 33(1), 75–113 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  2. Adjerid, S., Baccouch, M.: The discontinuous Galerkin method for two-dimensional hyperbolic problems part II: a posteriori error estimation. J. Sci. Comput. 38(1), 15–49 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  3. Archibald, R., Gelb, A., Gottlieb, S., Ryan, J.K.: One-sided post-processing for the discontinuous Galerkin method using ENO type stencil choosing and the local edge detection method. J. Sci. Comput. 28(2–3), 167–190 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  4. Bramble, J.H., Schatz, A.H.: Higher order local accuracy by averaging in the finite element method. Math. Comput. 31(137), 94–111 (1977)

    Article  MATH  MathSciNet  Google Scholar 

  5. Cangiani, A., Dong, Z., Georgoulis, E.H., Houston, P.: hp-version discontinuous Galerkin methods for advection–diffusion–reaction problems on polytopic meshes. ESAIM Math. Model. Numer. Anal. 50(3), 699–725 (2016)

    Article  MATH  MathSciNet  Google Scholar 

  6. Cockburn, B., Fu, G., Sayas, F.: Superconvergence by M-decompositions. part I: general theory for HDG methods for diffusion. Math. Comput. 86, 1609–1641 (2016)

    Article  MATH  MathSciNet  Google Scholar 

  7. Cockburn, B., Luskin, M., Shu, C.W., Süli, E.: Enhanced accuracy by post-processing for finite element methods for hyperbolic equations. Math. Comput. 72(242), 577–606 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  8. Cohen, E., Riesenfeld, R.F., Elber, G.: Geometric Modeling with Splines—An Introduction. A K Peters, Natick (2001)

    MATH  Google Scholar 

  9. de Boor, C., Höllig, K., Riemenschneider, S.: Box Splines. Springer, New York (1993)

    Book  MATH  Google Scholar 

  10. Docampo-Sánchez, J., Ryan, J.K., Mirzargar, M., Kirby, R.M.: Multi-dimensional filtering: reducing the dimension through rotation (2016). arXiv preprint arXiv:1610.02317

  11. Entezari, A.: Optimal Sampling Lattices and Trivariate Box Splines. Ph.D. thesis, Simon Fraser University, Burnaby, BC, Canada, Canada (2007)

  12. Jallepalli, A., Docampo-Sánchez, J., Ryan, J.K., Haimes, R., Kirby, R.M.: On the treatment of field quantities and elemental continuity in fem solutions. IEEE Trans. Vis. Comput. Graph. (2017) (accepted)

  13. Ji, L., van Slingerland, P., Ryan, J.K., Vuik, K.: Superconvergent error estimates for a position-dependent Smoothness-Increasing Accuracy-Conserving filter for DG solutions. Math. Comput. 83, 2239–2262 (2014)

    Article  MATH  Google Scholar 

  14. Ji, L., Van Slingerland, P., Ryan, J.K., Vuik, K.: Superconvergent error estimates for position-dependent Smoothness-Increasing Accuracy-Conserving (SIAC) post-processing of discontinuous Galerkin solutions. Math. Comput. 83(289), 2239–2262 (2014)

    Article  MATH  MathSciNet  Google Scholar 

  15. Ji, L., Xu, Y., Ryan, J.K.: Accuracy enhancement of the linear convection–diffusion equation in multiple dimensions. Math. Comput. 81, 1929–1950 (2012)

    Article  MATH  Google Scholar 

  16. Ji, L., Xu, Y., Ryan, J.K.: Negative-order norm estimates for nonlinear hyperbolic conservation laws. J. Sci. Comput. 54(2–3), 531–548 (2013)

    Article  MATH  MathSciNet  Google Scholar 

  17. King, J., Mirzaee, H., Ryan, J.K., Kirby, R.M.: Smoothness-Increasing Accuracy-Conserving (SIAC) filtering for discontinuous Galerkin solutions: improved errors versus higher-order accuracy. J. Sci. Comput. 53(1), 129–149 (2012)

    Article  MATH  MathSciNet  Google Scholar 

  18. Meng, X., Ryan, J.K.: Discontinuous Galerkin methods for nonlinear scalar hyperbolic conservation laws: divided difference estimates and accuracy enhancement. Numer. Math. 136, 27–73 (2016)

    Article  MATH  MathSciNet  Google Scholar 

  19. Meng, X., Ryan, J.K.: Divided difference estimates and accuracy enhancement of discontinuous Galerkin methods for nonlinear symmetric systems of hyperbolic conservation laws. IMA J. Numer. Anal. (2016). doi:10.1093/imanum/drw072

  20. Mirzaee, H.: Smoothness-Increasing Accuracy-Conserving filters (SIAC) for Discontinuous Galerkin Solutions. Ph.D. thesis, University of Utah, Salt Lake City, Utah, USA (2012)

  21. Mirzaee, H., Ji, L., Ryan, J.K., Kirby, R.M.: Smoothness-Increasing Accuracy-Conserving (SIAC) postprocessing for discontinuous Galerkin solutions over structured triangular meshes. SIAM J. Numer. Anal. 49(5), 1899–1920 (2011)

    Article  MATH  MathSciNet  Google Scholar 

  22. Mirzaee, H., King, J., Ryan, J.K., Kirby, R.M.: Smoothness-Increasing Accuracy-Conserving filters for discontinuous Galerkin solutions over unstructured triangular meshes. SIAM J. Sci. Comput. 35(1), A212–A230 (2013)

    Article  MATH  MathSciNet  Google Scholar 

  23. Mirzaee, H., Ryan, J.K., Kirby, R.M.: Quantification of errors introduced in the numerical approximation and implementation of Smoothness-Increasing Accuracy-Conserving (SIAC) filtering of discontinuous Galerkin (DG) fields. J. Sci. Comput. 45(1–3), 447–470 (2010)

    Article  MATH  MathSciNet  Google Scholar 

  24. Mirzaee, H., Ryan, J.K., Kirby, R.M.: Efficient implementation of Smoothness-Increasing Accuracy-Conserving (SIAC) filters for discontinuous Galerkin solutions. J. Sci. Comput. 52(1), 85–112 (2012)

    Article  MATH  MathSciNet  Google Scholar 

  25. Mirzaee, H., Ryan, J.K., Kirby, R.M.: Smoothness-Increasing Accuracy-Conserving (SIAC) filters for discontinuous Galerkin solutions: application to structured tetrahedral meshes. J. Sci. Comput. 58(3), 690–704 (2014)

    Article  MATH  MathSciNet  Google Scholar 

  26. Mirzargar, M.: A Reconstruction Framework for Common Sampling Lattices. Ph.D. thesis, University of Florida, Gainesville, Florida, USA (2012)

  27. Mirzargar, M., Entezari, A.: Voronoi splines. IEEE Trans. Signal Process. 58(9), 4572–4582 (2010)

    Article  MathSciNet  Google Scholar 

  28. Mirzargar, M., Entezari, A.: Quasi interpolation with voronoi splines. IEEE Trans. Vis. Comput. Graph. 17(12), 1832–1841 (2011)

    Article  Google Scholar 

  29. Mirzargar, M., Ryan, J.K., Kirby, R.M.: Smoothness-Increasing Accuracy-Conserving (SIAC) filtering and quasi-interpolation: a unified view. J. Sci. Comput. 67(1), 237–261 (2016)

    Article  MATH  MathSciNet  Google Scholar 

  30. Nektar++ (2016). http://www.nektar.info

  31. Ryan, J.K., Cockburn, B.: Local derivative post-processing for the discontinuous Galerkin method. J. Comput. Phys. 228(23), 8642–8664 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  32. Ryan, J.K., Shu, C.W.: One-sided post-processing technique for the discontinuous Galerkin methods. Methods Appl. Anal. 10(2), 295–308 (2003)

    MATH  MathSciNet  Google Scholar 

  33. Senechal, M.: Quasicrystals and Geometry. CUP Archive, Cambridge (1996)

    MATH  Google Scholar 

  34. Steffen, M., Curtis, S., Kirby, R.M., Ryan, J.K.: Investigation of Smoothness-Increasing Accuracy-Conserving filters for improving streamline integration through discontinuous fields. IEEE Trans. Vis. Comput. Graph. 14(3), 680–692 (2008)

    Article  Google Scholar 

  35. Van De Ville, D., Blu, T., Unser, M., Philips, W., Lemahieu, I., Van de Walle, R.: Hex-splines: a novel spline family for hexagonal lattices. IEEE Trans. Image Process. 13(6), 758–772 (2004)

    Article  MathSciNet  Google Scholar 

  36. Walfisch, D., Ryan, J.K., Kirby, R.M., Haimes, R.: One-sided Smoothness-Increasing Accuracy-Conserving filtering for enhanced streamline integration through discontinuous fields. J. Sci. Comput. 38(2), 164–184 (2009)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Acknowledgements

This work was sponsored in part by the Air Force Office of Scientific Research (AFOSR), Computational Mathematics Program (Program Manager: Dr. Jean-Luc Cambier), under Grant Nos. FA9550-12-1-0428 (first and fourth author), FA8655-13-1-3017 (third author). The second and fourth authors are sponsored in part by the Army Research Office (Program manager: Dr. Mike Coyle) under Grant No. W911NF-15-1-0222. In addition, the authors would like to acknowledge the anonymous reviewers for providing comments that improved the manuscript.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mahsa Mirzargar.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

In honor of Prof. Chi-Wang Shu’s 60th Birthday.

Appendix

Appendix

In this appendix, we provide some details for the box-spline-based formulation of hex splines. This formulation provides a compact and efficient mechanism to evaluate and study the properties of higher order hex splines. We start the discussion with a brief introduction to box splines as one of the most generic spline functions.

A box spline \(\mathbb {R}^d\) is defined by a set of n vectors \(\xi _1, \ldots , \xi _n \in \mathbb {R}^d\). Geometrically, a box spline is the shadow of a hypercube in \(\mathbb {R}^n\) that has been projected onto \(\mathbb {R}^d\) where \( n > d\). Each \(\xi \) denotes the shadow of an edge of the hypercube in \(\mathbb {R}^n\). The simplest box spline in \(\mathbb {R}^d\) corresponds to the case where \(d=n\). In this case, a box spline is defined as the (normalized) indicator function of the parallelepiped formed by the d vectors in \(\mathbb {R}^d\).

$$\begin{aligned} M_{\varXi }(\mathbf {x}) = \left\{ \begin{array}{l l} \frac{1}{|\det (\varXi )|} &{} \quad \mathbf {x} = {\sum }_{i=1}^d t_i \xi _i \text { for } 0 \le t_i \le 1 \\ 0 &{} \quad \text {otherwise} \end{array} \right. , \end{aligned}$$
(30)

where \(\varXi :=[\xi _1, \ldots , \xi _n]\) denotes the matrix of directions. For \(n > d\), a box spline can be defined recursively as

$$\begin{aligned} M_{\varXi \cup \xi _k} (\mathbf {x}) = \int _0^1 M_{\varXi }(\mathbf {x}-t \mathbf {\xi }) dt, \end{aligned}$$
(31)

where \(\varXi \cup \xi _k\) denotes the addition of \(\xi _k\) to the matrix of direction \( \varXi \cup \xi _k := [\xi _1,\cdots , \xi _n, \xi _k] \). The convolution in the relation above can be considered as smearing the original box spline \(M_{\varXi }\) along the new direction \(\xi _k\). Consequently, the support of the new box spline \(M_{\varXi \cup \xi _k}\) can be considered as the Minkowski sum of the vectors in \(\varXi \cup \xi _k\). Figure 13 demonstrates the idea behind the convolution in Eq. 31 graphically. Similarly, the convolution of two box splines together results in a new box spline

$$\begin{aligned} M_{\varXi _1} *M_{\varXi _2} = M_{[\varXi _1 \cup \varXi _2]}. \end{aligned}$$
(32)
Fig. 13
figure 13

The support of \(M_{[\xi _1, \xi _2]}\) (a). The support of \(M_{[\xi _1, \xi _2, \xi _3]}\) can be considered as smearing the support of \(M_{[\xi _1, \xi _2]}\) along \(\xi _3\) (b). The support of \(M_{[\xi _1, \xi _2, \xi _3]}\) can be considered as the Minkowski sum of \(\xi _1, \xi _2\), and \(\xi _3\) (c)

Note that the vectors can appear with some multiplicity in the matrix of directions of a box spline.

Fig. 14
figure 14

First-order hex spline can be decomposed into three box splines

The matrix of directions fully specifies all the properties of \(M_{\varXi }\) but the order of the vectors in \(\varXi \) does not have any effect on its properties. For instance, let \(\kappa \) denote the minimum number of directions whose removal from \(\varXi \) makes the remaining directions not span \(\mathbb {R}^d\). The value of \(\kappa \) specifies the order of continuity of a box spline. That is, a box spline formed by \(\varXi \) is \(C^{\kappa -2}\) continuous [9]. A box spline is a piecewise polynomial function and can be efficiently evaluated using the recursive definition in Eq. 30 or using a Fourier transform analysis [9]. It is worth mentioning that the derivatives of \(M_{\varXi }\) in any direction \(Z \in \varXi \) can be exactly evaluated using a differencing operator

$$\begin{aligned} D_{Z} M_{\varXi } = \partial _{Z} M_{\varXi \backslash Z} \text { for } Z \subseteq \varXi , \end{aligned}$$
(33)

where \(\varXi \backslash Z\) denotes removal of direction Z from the matrix of direction and \(\partial _{Z}\) denotes a backward difference operator in the direction of Z. In general, the derivative of \(M_{\varXi }\) in any arbitrary direction can still be rewritten in terms of (a linear combination of) the derivatives in the direction Z where \(Z \in \varXi \) [9, Lemma 34]. The interested reader can consult [9] for a thorough discussion of box splines and it properties.

Both B-splines and hex splines can be written in terms of box splines. For example, the first-order hex spline can be written and evaluated as a summation of the indicator function of three parallelepipeds that constitute the Voronoi cell of the hexagonal lattice (i.e., the hexagon presented in Fig. 1b). Each parallelepiped can be represented using a box spline

$$\begin{aligned} \eta _1 = \frac{1}{3}\big (M_{[\xi _1, \xi _2]} + M_{[\xi _1, \xi _3]} + M_{[\xi _2, \xi _3]} \big ), \end{aligned}$$
(34)

where \(\xi _i\) represents the \(i^{th}\) column of matrix \(\mathbf {H}_3\). Figure 14 demonstrates the decomposition of the first-order hex spline into three box splines. We can now use the box spline convolution rule in order to write the higher order hex splines as

$$\begin{aligned} \eta _{n} = \big ( \eta _1 \big )^{*n} = \frac{1}{3^n} \big ( M_{[\xi _1, \xi _2]} + M_{[\xi _1, \xi _3]} + M_{[\xi _2, \xi _3]} \big )^{*n}, \end{aligned}$$
(35)

where \(( \eta _1)^{*n}\) is a short-hand notation for n-times self-convolution.

For example, the second-order hex spline can be written in terms of six box splines

$$\begin{aligned} \begin{aligned} \eta _2&= \frac{1}{3^2} \big ( M_{[\xi _1, \xi _2]} + M_{[\xi _1, \xi _3]} + M_{[\xi _2, \xi _3]} \big )^{*2} \\&= \frac{1}{9} \big ( M_{[\xi _1, \xi _1, \xi _2, \xi _2]} + M_{[\xi _1, \xi _1, \xi _3, \xi _3]} + M_{[\xi _2, \xi _2, \xi _3, \xi _3]} \big ) \\&\quad + \frac{2}{9} \big ( M_{[\xi _1, \xi _1, \xi _2, \xi _3]} + M_{[\xi _1, \xi _2, \xi _2, \xi _3]} + M_{[\xi _1, \xi _2, \xi _3, \xi _3]} \big ). \end{aligned} \end{aligned}$$
(36)

Not that unlike B-splines, the derivatives of a hex spline cannot be written in terms of lower order hex splines. However, the derivatives of hex splines can be written compactly in terms of the derivative of its constituent box splines (see Eq. 33), and be exactly evaluated using difference operators [9, Lemma 34].

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mirzargar, M., Jallepalli, A., Ryan, J.K. et al. Hexagonal Smoothness-Increasing Accuracy-Conserving Filtering. J Sci Comput 73, 1072–1093 (2017). https://doi.org/10.1007/s10915-017-0517-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10915-017-0517-5

Keywords

Navigation