Skip to main content
Log in

Efficient GPU Implementation of Multidimensional Incomplete Riemann Solvers for Hyperbolic Nonconservative Systems: Applications to Shallow Water Systems with Topography and Dry Areas

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

Abstract

This paper deals with a class of efficient, genuinely two-dimensional Riemann solvers for hyperbolic nonconservative systems. A particularity of these solvers is that only a bound on the maximal propagation speeds in the coordinate directions is needed. The amount of numerical diffusion is easily controlled by an appropriate choice of the numerical viscosity matrix. Special attention has been given to applications to the one-layer and two-layer shallow water systems, including topography and dry areas. The purpose of the paper is two-fold. On the one hand, we describe an extension of the numerical schemes previously introduced in Schneider et al. (J Comput Phys 444:110547, 2021) to correctly handle the existence of wet-dry transition in the computational domain, maintaining at the same time the well-balancing properties of the schemes. On the other hand, we propose an efficient implementation of the schemes in Graphical Processing Units (GPUs), making the schemes highly competitive when confronted with challenging problems. The performances of the schemes have been tested with some numerical experiments, showing that they are, in general, more efficient than their \(\hbox {1d}\times \hbox {1d}\) versions.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Data Availability

The code and datasets employed in the current paper are available from the authors on reasonable request.

References

  1. Abgrall, R.: A genuinely multidimensional Riemann solver, Research Report RR-1859, INRIA, 20 p (1993) https://hal.inria.fr/inria-00074814

  2. Audusse, E., Bouchut, F., Bristeau, M.-O., Klein, R., Perthame, B.: A fast and stable well-balanced scheme with hydrostatic reconstruction for shallow water flows. SIAM J. Sci. Comput. 25, 2050–2065 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  3. de la Asunción, M.: Desarrollo de software numérico de simulación de flujos geofísicos basado en volúmenes finitos usando hardware gráfico, PhD Thesis, University of Granada, (2012)

  4. de la Asunción, M., Mantas, J.M., Castro, M.J.: Programming CUDA-based GPUs to simulate two-layer shallow water flows, In: Lectures Notes in Compute Science. Ed. by P. D’Ambra, M. Guarracino and D. Talia. Vol. 6272, Euro-Par 2010 – Parallel Processing. Springer, Berlin, Heidelberg, (2010)

  5. de la Asunción, M., Mantas, J.M., Castro, M.J.: Simulation of one-layer shallow water systems on multicore and CUDA architetures. J. Supercomput. 58(2), 206–214 (2011)

    Article  Google Scholar 

  6. de la Asunción, M., Mantas, J.M., Castro, M.J., Fernández-Nieto, E.D.: An MPI-CUDA implementation of an improved Roe method for two-layer shallow water systems, Journal of Parallel and Distributed Computing, Special Issue on Accelerators for High-Performance. Computing 72(9), 1065–1072 (2012)

    Google Scholar 

  7. de la Asunción, M., Castro, M.J., Mantas, J.M., Ortega, S.: Numerical simulation of tsunamis generated by landslides on multiple GPUs. Advances in Eng. Softw. 99, 59–72 (2016)

    Article  Google Scholar 

  8. Balsara, D.S.: Multidimensional HLLE Riemann solver: application to Euler and magnetohydrodynamic flows. J. Comput. Phys. 229, 1970–1993 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  9. Balsara, D.S.: A two-dimensional HLLC Riemann solver for conservation laws: application to Euler and magnetohydrodynamic flows. J. Comput. Phys. 231, 7476–7503 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  10. Balsara, D.S., Dumbser, M., Abgrall, R.: Multidimensional HLLC Riemann solver for unstructured meshes - With application to Euler and MHD flows. J. Comput. Phys. 261, 172–208 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  11. Balsara, D.S.: Multidimensional Riemann problem with self-similar internal structure - Part I - Application to hyperbolic conservation laws on structured meshes. J. Comput. Phys. 277, 163–200 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  12. Balsara, D.S., Dumbser, M.: Multidimensional Riemann problem with Self-similar internal structure - Part II - Application to hyperbolic conservation laws on unstructured meshes. J. Comput. Phys. 287, 269–292 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  13. Balsara, D.S., Nkonga, B.: Multidimensional Riemann problem in self-similar internal structure - Part III - A multidimensional analogue of the HLLI Riemann solver for conservation hyperbolic systems. J. Comput. Phys. 346, 25–48 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  14. Barnett, S.: Leverrier’s algorithm: A new proof and extensions. SIAM J. Matrix Anal. Appl. 10(4), 551–556 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  15. Batten, P., Clarke, W., Lambert, C., Causon, D.M.: On the choice of wavespeeds for the HLLC Riemann solver. SIAM J. Sci. Comput. 18, 1553–1570 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  16. Bermúdez, A., Vázquez, M.E.: Upwind methods for hyperbolic conservative laws with source terms. Comput. Fluids 23, 1049–1071 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  17. Berthon, C., Chalons, C.: A fully well-balanced, positive and entropy-satisfying Godunov-type method for the shallow water equations. Math. Comput. 85, 1281–1307 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  18. Brio, M., Zakharian, A.R., Webb, G.M.: Two dimensional Riemann solver for Euler equations of gas dynamics. J. Comput. Phys. 167, 177–195 (2001)

    Article  MATH  Google Scholar 

  19. Brodtkorb, A.R., Hagen, T.R., Sætra, M.L.: Graphics processing unit (GPU) programming strategies and trends in GPU computing. J. Parallel Distrib. Comput. 73(1), 4–13 (2013)

    Article  Google Scholar 

  20. Brufau, P., Vázquez-Cendón, M.E., García-Navarro, P.: A numerical model for the flooding and drying of irregular domains. Intern. J. for Numerical Methods in Fluids 39(3), 247–275 (2002)

    Article  MATH  Google Scholar 

  21. Busto, S., Dumbser, M.: A staggered semi-implicit hybrid finite volume / finite element scheme for the shallow water equations at all Froude numbers. Appl. Numer. Math. 175, 108–132 (2022)

    Article  MathSciNet  MATH  Google Scholar 

  22. Castro, M.J., Fernández-Nieto, E.D.: A class of computationally fast first order finite volume solvers: PVM methods. SIAM J. Sci. Comput. 34, A2173–A2196 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  23. Castro, M.J., Fernández-Nieto, E.D., Ferreiro, A.M., García-Rodríguez, J.A., Parés, C.: High order extension of Roe schemes for two dimensional nonconservative hyperbolic systems. J. Sci. Comput. 39, 67–114 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  24. Castro, M.J., Ferreiro Ferreiro, A.M., García-Rodríguez, J.A., González-Vida, J.M., Macías, J., Parés, C., Vázquez-Cendón, M.E.: The numerical treatment of wet-dry fronts in shallow flows: Application to one-layer and two-layer systems. Math. and Computer Modelling 42, 419–439 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  25. Castro, M., Gallardo, J.M., López-García, J.A., Parés, C.: Well-balanced high order extensions of Godunov’s method for semilinear balance laws. SIAM J. Numer. Anal. 46, 1012–1039 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  26. Castro, M.J., Gallardo, J.M., Marquina, A.: A class of incomplete Riemann solvers based on uniform rational approximations to the absolute value function. J. Sci. Comput. 60, 363–389 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  27. Castro, M.J., Gallardo, J.M., Marquina, A.: Jacobian-free approximate solvers for hyperbolic systems: Application to relativistic magnetohydrodynamics. Comput. Phys. Commun. 219, 108–120 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  28. Castro, M.J., Gallardo, J.M., Parés, C.: High order finite volume schemes based on reconstruction of states for solving hyperbolic systems with nonconservative products. Applications to shallow water systems. Math. Comput. 75, 1103–1134 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  29. Castro, M.J., García, J.A., González, J.M., Parés, C.: A parallel 2d finite volume scheme for solving systems of balance laws with nonconservative products: Application to shallow flows. Comput. Methods in Appl. Mech. Eng. 195(19–22), 2788–2815 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  30. Castro, M.J., Morales de Luna, T., Parés, C.: Well-balanced schemes and path-conservative numerical methods, In: Handbook of Numerical Analysis, vol. 18. Ed. by Elsevier. Amsterdam, 131-175 (2017)

  31. Castro, M.J., Pardo, A., Parés, C., Toro, E.F.: On some fast well-balanced first order solvers for nonconservative systems. Math. Comput. 79, 1427–1472 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  32. Casulli, V.: Semi-implicit finite difference methods for the two-dimensional shallow water equations. J. Comput. Phys. 86, 56–74 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  33. Casulli, V.: A high-resolution wetting and drying algorithm for free-surface hydrodynamics. Int. J. Numer. Methods Fluids 60, 391–408 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  34. Chandrashekar, P., Nkonga, B., Meena, A.K., Bhole, A.: A path conservative finite volume method for a shear shallow water model. J. Comput. Phys. 413, 109457 (2020)

    Article  MathSciNet  MATH  Google Scholar 

  35. Chandrashekar, P., Klingenberg, C.: A second order well-balanced finite volume scheme for Euler equations with gravity. SIAM J. Sci. Comput. 37(3), B382–B402 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  36. Desveaux, V., Zenk, M., Berthon, C., Klingenberg, C.: Well-balanced schemes to capture non-explicit steady states: Ripa model. Math. of Comput. 85(300), 1571–1602 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  37. Dudzinski, M., Lukáčová-Medvid’ová, M.: Well-balanced bicharacteristic-based scheme for multilayer shallow water flows including wet-dry fronts. J. Comput. Phys. 235, 82–113 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  38. Dumbser, M., Balsara, D.S.: A new efficient formulation of the HLLEM Riemann solver for general conservative and non-conservative hyperbolic systems. J. Comput. Phys. 304, 275–319 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  39. Dumbser, M., Castro, M.J., Parés, C., Toro, E.F.: ADER schemes on structured meshes for nonconservative hyperbolic systems: Applications to geophysical flows. Computer & Fluids 38, 1731–1748 (2009)

    Article  MATH  Google Scholar 

  40. EDANYA web, https://edanya.uma.es/hysea

  41. Escalante, C., Morales de Luna, T., Castro, M.J.: Non-hydrostatic pressure flows: GPU implementation using finite volume and finite difference scheme. Appl. Math. Comput. 338, 631–659 (2018)

    MathSciNet  MATH  Google Scholar 

  42. Einfeldt, B.: On Godunov-type methods for gas dynamics. SIAM J. Numer. Anal. 25, 294–318 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  43. Fey, M.: Multidimensional upwinding. Part I. The method of transport for solving the Euler equations. J. Comput. Phys. 143, 159–180 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  44. Fey, M.: Multidimensional upwinding. Part II. Decomposition of the Euler equations into advection equations. J. Comput. Phys. 143, 181–199 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  45. Gallardo, J.M., Schneider, K.A., Castro, M.J.: On a class of two-dimensional incomplete Riemann solvers. J. Comput. Phys. 386, 541–567 (2019)

    Article  MathSciNet  MATH  Google Scholar 

  46. Gallardo, J.M., Ortega, S., de la Asunción, M., Mantas, J.M.: Two-dimensional third-order polynomial reconstructions. Solving nonconservative hyperbolic systems using GPUs. J. Sci. Comput. 48, 141–163 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  47. Gilquing, H., Laurens, J., Rosier, C.: Multidimensional Riemann problems for linear hyperbolic systems. Part II. Notes Numer. Fluid Mech. 43, 284–290 (1993)

    Google Scholar 

  48. Greenberg, J.M., Leroux, A.Y.: A Well-Balanced Scheme for the Numerical Processing of Source Terms in Hyperbolic Equations. SIAM J. on Numer. Analysis 33(1), 1–16 (1996)

    Article  MathSciNet  Google Scholar 

  49. Golub, G.H., Van Loan, C. F.: Matrix Computations (3rd Ed.), Johns Hopkins University Press, (1996)

  50. Gosse, L.: A well-balanced scheme using non-conservative products designed for hyperbolic systems of conservation laws with source terms. Math. Models. and Methods in Applied Sci. 11(02), 339–365 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  51. Hirsch, C.: Numerical Computation of Internal and External Flows: The Fundamentals of Computational Fluid Dynamics, 2nd ed., Elsevier, (2007)

  52. Harten, A., Lax, P., van Leer, B.: On upstream differencing and Godunov-type schemes for hyperbolic conservation laws. SIAM Rev. 25, 35–61 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  53. Kaczorek, T.: Polynomial and Rational matrices. Applications in Dynamical Systems Theory, Communications and Control Engineering. Springer-Verlag, London (2007)

    MATH  Google Scholar 

  54. Käppeli, R., Mishra, S.: Well-balanced schemes for the Euler equations with gravitation. J. Comput. Phys. 259, 199–219 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  55. Krvavica, N., Tuhtan, M., JeleniV̀, G.: Analytical implementation of Roe solver for two-layer shallow water equations with accurate treatment of loss of hyperbolicity. Advances in Water Resources 122, 187–205 (2018)

    Article  Google Scholar 

  56. Kurganov, A., Petrova, G.: A second-order well-balanced positivity preserving central-upwind scheme for the Saint-Venant system. Commun. Math. Sci 5(1), 133–160 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  57. Lax, P., Liu, X.: Solution of two-dimensional Riemann problems of gas dynamics by positive schemes. SIAM J. Sci. Comput. 19, 319–340 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  58. Lastra, M., Castro Díaz, M.J., Ureña, C., de la Asunción, M.: Efficient multilayer shallow-water simulation system based on GPUs. Math. and Computers in Simul. 148, 48–65 (2018)

    Article  MathSciNet  MATH  Google Scholar 

  59. LeVeque, R.J.: Wave propagation algorithms for multidimensional hyperbolic systems. J. Comput. Phys. 131, 327–353 (1997)

    Article  MATH  Google Scholar 

  60. LeVeque, R.J.: Balancing source terms and flux gradients in high-resolution Godunov methods: the quasi-steady wave-propagation algorithm. J. Comput. Phys. 146, 346–365 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  61. Lukácová-Medvid’ová, M., Morton, K.W., Warnecke, G.: Finite volume evolution Galerkin methods for Euler equations of gas dynamics. Int. J. Numer. Methods in Fluids 40(3–4), 425–434 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  62. Mantas, J.M., de la Asunción, M., Castro, M.J.: An introduction to GPU computing for numerical simulation. In: Numerical Simulations in Physics and Engineering. Ed. by I. Higueras, T. Roldán and J. Torrens. Vol. 9. SEMA SIMAI Springer Series. Springer, Cham, (2016)

  63. dal Maso, G., LeFloch, P.G., Murat, F.: Definition and weak stability of nonconservative products. J. Math. Pures Appl. 74, 483–548 (1995)

    MathSciNet  MATH  Google Scholar 

  64. Morales, T., Castro, M.J., Parés, C.: Relation between PVM schemes and simple Riemann solvers. Numer. Meth. Part. D. E. 30, 1315–1341 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  65. Noelle, S., Pankratz, N., Puppo, G., Natvig, J.R.: Well-balanced finite volume schemes of arbitrary order of accuracy for shallow water flows. J. Comput. Phys. 213, 474–499 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  66. NVIDIA, CUDA home page, http://www.nvidia.com/object/cuda_home_new.html

  67. NVIDIA, CUDA toolkit documentation, https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html

  68. Ortega, S.: Esquemas de volúmenes finitos de alto orden: implementación en GPUs y aplicación a la simulación de flujos geofísicos, PhD Thesis, University of Málaga, (2016)

  69. Parés, C., Castro, M.: On the well-balance property of Roe’s method for nonconservative hyperbolic systems. Applications to shallow-water systems. ESAIM: M2AN 38, 821–852 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  70. Parés, C.: Numerical methods for nonconservative hyperbolic systems: a theoretical framework. SIAM J. Num. Anal. 44, 300–321 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  71. Roe, P.L.: Multidimensional upwinding, In: Handbook of Numerical Analysis, vol. 18. Ed. by Elsevier. Amsterdam, 53-80 (2017)

  72. Sætra, M.L.: Shallow waters simulations on graphics hardware, PhD Thesis, University of Oslo, (2014)

  73. Schneider, K.A., Gallardo, J.M., Balsara, D.S., Nkonga, B., Parés, C.: Multidimensional approximate Riemann solvers for hyperbolic nonconservative systems. Applications to shallow water systems. J. Comput. Phys. 444, 110547 (2021)

    Article  MathSciNet  MATH  Google Scholar 

  74. Schijf, J.B., Schonfeld, J.C.: Theoretical considerations on the motion of salt and fresh water. In: Proceedings of the Minn. Int. Hydraulics Conv., 321–333. Joint meeting IAHR and Hyd. Div. ASCE, September (1953)

  75. Sweby, P.K.: High resolution schemes using flux limiters for hyperbolic conservation laws. SIAM J. Numer. Anal. 21, 995–1011 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  76. Toro, E.F.: Shock-Capturing Methods for Free-Surface Shallow Flows. J. Wiley & Sons (2001)

  77. Toro, E.F., Müller, L.O., Siviglia, A.: Bounds for wave speeds in the Riemann problem: Direct theoretical estimates. Computer and Fluids 209, 104640 (2020)

    Article  MathSciNet  MATH  Google Scholar 

  78. Vides, J., Nkonga, B., Audit, E.: A simple two-dimensional extension of the HLL Riemann solver for hyperbolic systems of conservation laws. J. Comput. Phys. 280, 643–675 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  79. Volpert, A.I.: Spaces BV and quasilinear equations. Math. USSR Sbornik 73, 255–302 (1967)

    MathSciNet  Google Scholar 

  80. Wendroff, B.: A two-dimensional HLLE Riemann solver and associated Godunov.type difference scheme for gas dynamics. Comput. Math. Appl. 38, 175–185 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  81. Xing, Y., Shu, C.-W.: High order well-balanced finite volume WENO schemes and discontinuous Galerkin methods for a class of hyperbolic systems with source terms. J. Comput. Phys. 214, 567–598 (2006)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

We would like to thank Marc de la Asunción for his valuable comments and stimulating discussions about GPU programming.

Funding

This research has been partially supported by the Spanish Government Research project RTI2018-096064-B-C21.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kleiton A. Schneider.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

The numerical computations have been performed at the Laboratory of Numerical Methods of the University of Málaga.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Schneider, K.A., Gallardo, J.M. & Escalante, C. Efficient GPU Implementation of Multidimensional Incomplete Riemann Solvers for Hyperbolic Nonconservative Systems: Applications to Shallow Water Systems with Topography and Dry Areas. J Sci Comput 92, 30 (2022). https://doi.org/10.1007/s10915-022-01880-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10915-022-01880-1

Keywords

Navigation