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.
















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
Abgrall, R.: A genuinely multidimensional Riemann solver, Research Report RR-1859, INRIA, 20 p (1993) https://hal.inria.fr/inria-00074814
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)
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)
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)
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)
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)
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)
Balsara, D.S.: Multidimensional HLLE Riemann solver: application to Euler and magnetohydrodynamic flows. J. Comput. Phys. 229, 1970–1993 (2010)
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)
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)
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)
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)
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)
Barnett, S.: Leverrier’s algorithm: A new proof and extensions. SIAM J. Matrix Anal. Appl. 10(4), 551–556 (1989)
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)
Bermúdez, A., Vázquez, M.E.: Upwind methods for hyperbolic conservative laws with source terms. Comput. Fluids 23, 1049–1071 (1994)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Casulli, V.: Semi-implicit finite difference methods for the two-dimensional shallow water equations. J. Comput. Phys. 86, 56–74 (1990)
Casulli, V.: A high-resolution wetting and drying algorithm for free-surface hydrodynamics. Int. J. Numer. Methods Fluids 60, 391–408 (2009)
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)
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)
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)
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)
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)
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)
EDANYA web, https://edanya.uma.es/hysea
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)
Einfeldt, B.: On Godunov-type methods for gas dynamics. SIAM J. Numer. Anal. 25, 294–318 (1988)
Fey, M.: Multidimensional upwinding. Part I. The method of transport for solving the Euler equations. J. Comput. Phys. 143, 159–180 (1998)
Fey, M.: Multidimensional upwinding. Part II. Decomposition of the Euler equations into advection equations. J. Comput. Phys. 143, 181–199 (1998)
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)
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)
Gilquing, H., Laurens, J., Rosier, C.: Multidimensional Riemann problems for linear hyperbolic systems. Part II. Notes Numer. Fluid Mech. 43, 284–290 (1993)
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)
Golub, G.H., Van Loan, C. F.: Matrix Computations (3rd Ed.), Johns Hopkins University Press, (1996)
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)
Hirsch, C.: Numerical Computation of Internal and External Flows: The Fundamentals of Computational Fluid Dynamics, 2nd ed., Elsevier, (2007)
Harten, A., Lax, P., van Leer, B.: On upstream differencing and Godunov-type schemes for hyperbolic conservation laws. SIAM Rev. 25, 35–61 (1983)
Kaczorek, T.: Polynomial and Rational matrices. Applications in Dynamical Systems Theory, Communications and Control Engineering. Springer-Verlag, London (2007)
Käppeli, R., Mishra, S.: Well-balanced schemes for the Euler equations with gravitation. J. Comput. Phys. 259, 199–219 (2014)
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)
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)
Lax, P., Liu, X.: Solution of two-dimensional Riemann problems of gas dynamics by positive schemes. SIAM J. Sci. Comput. 19, 319–340 (1998)
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)
LeVeque, R.J.: Wave propagation algorithms for multidimensional hyperbolic systems. J. Comput. Phys. 131, 327–353 (1997)
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)
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)
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)
dal Maso, G., LeFloch, P.G., Murat, F.: Definition and weak stability of nonconservative products. J. Math. Pures Appl. 74, 483–548 (1995)
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)
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)
NVIDIA, CUDA home page, http://www.nvidia.com/object/cuda_home_new.html
NVIDIA, CUDA toolkit documentation, https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html
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)
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)
Parés, C.: Numerical methods for nonconservative hyperbolic systems: a theoretical framework. SIAM J. Num. Anal. 44, 300–321 (2006)
Roe, P.L.: Multidimensional upwinding, In: Handbook of Numerical Analysis, vol. 18. Ed. by Elsevier. Amsterdam, 53-80 (2017)
Sætra, M.L.: Shallow waters simulations on graphics hardware, PhD Thesis, University of Oslo, (2014)
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)
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)
Sweby, P.K.: High resolution schemes using flux limiters for hyperbolic conservation laws. SIAM J. Numer. Anal. 21, 995–1011 (1984)
Toro, E.F.: Shock-Capturing Methods for Free-Surface Shallow Flows. J. Wiley & Sons (2001)
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)
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)
Volpert, A.I.: Spaces BV and quasilinear equations. Math. USSR Sbornik 73, 255–302 (1967)
Wendroff, B.: A two-dimensional HLLE Riemann solver and associated Godunov.type difference scheme for gas dynamics. Comput. Math. Appl. 38, 175–185 (1999)
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)
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
Corresponding author
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
About this article
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
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10915-022-01880-1