Environmental Earth Sciences

, Volume 74, Issue 11, pp 7295–7305 | Cite as

GPU implementation of the 2D shallow water equations for the simulation of rainfall/runoff events

  • Asier Lacasta
  • Mario Morales-Hernández
  • Javier Murillo
  • Pilar García-Navarro
Thematic Issue


Hydrological processes that occur in catchments usually require large space resolution over long periods of time. The advance on numerical methods as well as the increasing power of computation are making possible the physically based simulation of these phenomena. In particular, the 2D shallow water equations can be used to provide distributions of water depth and velocity fields. The necessity of spatial resolution involves the use of a large number of elements hence increasing the computational time when simulating realistic scenarios for a long time period. This work deals with an efficient GPU implementation of the 2D shallow water equations on unstructured meshes analysing the influence of the mesh resolution both on the computational performance and the quality of the results to simulate a rainfall/runoff event. The numerical method to solve them has been developed and compared following three programming approaches: the sequential implementation and its adaptation to the multi-thread and many-core architectures. The particular detail of the influence of the mesh ordering when using unstructured triangular meshes is paid attention in this work to find the best strategy to further reduce the computational time in the context of GPU simulation. The resulting approach is efficient and can become very useful in environmental simulation of hydrological processes.


Shallow water equations GPU Unstructured meshes  Rainfall/runoff Wet/dry cells 


  1. Aubry R, Houzeaux G, Vázquez M, Cela JM (2011) Some useful strategies for unstructured edge-based solvers on shared memory machines. Int J Numer Methods Eng 85:537–561CrossRefGoogle Scholar
  2. Brodtkorb AR, Stra ML, Altinakar M (2012) Efficient shallow water simulations on GPUs: implementation, visualization, verification, and validation. Comput Fluids 55:1–12CrossRefGoogle Scholar
  3. Caviedes-Voullieme D, Garcia-Navarro P, Murillo J (2012) Influence of mesh structure on 2D full shallow water equations and SCS curve number simulation of rainfall/runoff events. J Hydrol 448:39–59CrossRefGoogle Scholar
  4. Castro MJ, Ortega S, De la Asuncion M, Mantas JM, Gallardo JM (2011) GPU computing for shallow water flow simulation based on finite volume schemes. Comptes Rendus Mcanique 339(2):165–184CrossRefGoogle Scholar
  5. Chandar DD, Sitaraman J, Mavriplis DJ (2013) A GPU-based incompressible Navier–Stokes solver on moving overset grids. Int J Comput Fluid Dyn 27(6–7):268–282CrossRefGoogle Scholar
  6. Cuthill E, McKee J (1969) Reducing the bandwidth of sparse symmetric matrices. In: Proceedings of the 24th national conference ACM, pp 157–172Google Scholar
  7. Esteves M, Faucher X, Galle S, Vauclin M (2000) Overland flow and infiltration modelling for small plots during unsteady rain: numerical results versus observed values. J Hydrol 228(3–4):265282Google Scholar
  8. Gibbs NE, Poole WG Jr, Stockmeyer PK (1976) A comparison of several bandwidth and profile reduction algorithms. ACM Trans Math Softw (TOMS) 2:322–330CrossRefGoogle Scholar
  9. Giles MB, Burgess DA (1997) Renumbering unstructured grids to improve the performance of codes on hierarchical memory machines. Adv Eng Softw 28:189–201CrossRefGoogle Scholar
  10. Hinkelmann R (2005) Efficient numerical methods and information-processing techniques for modeling hydro- and environmental systems., Lecture notes in applied and computational mechanicsSpringer-Verlag, BerlinGoogle Scholar
  11. Holwerda T (2007) Intel: software needs to heed Moore’s Law.
  12. Juez C, Murillo J, García-Navarro P (2014) A 2D weakly-coupled and efficient numerical model for transient shallow flow and movable bed. Adv Water Resour 71:93–109CrossRefGoogle Scholar
  13. Lacasta A, Garcia-Navarro P, Burguete J, Murillo J (2013) Preprocess static subdomain decomposition in practical cases of 2D unsteady hydraulic simulation. Comput Fluids 80:225–232CrossRefGoogle Scholar
  14. Lacasta A, Morales-Hernández M, Murillo J, Garcia-Navarro P (2014a) An optimized GPU implementation of a 2D free surface simulation model on unstructured meshes. Adv Eng Softw 78:1–15CrossRefGoogle Scholar
  15. Lacasta A, Morales-Hernández M, Murillo J, Garcia-Navarro, P (2014b) Implementation of a GPU 2D shallow water model on unstructured meshes. International conference on computational methods in water resources, Stuttgart (Germany)Google Scholar
  16. Lázaro JM, Navarro JS, Gil AG, Romero VE (2014) Sensitivity analysis of main variables present in flash flood processes. Application in two Spanish catchments: Ars and Aguiln. Environ Earth Sci 71(6):2925–2939CrossRefGoogle Scholar
  17. Morales-Hernández M, Murillo J, García-Navarro P (2013) The formulation of internal boundary conditions in unsteady 2D shallow water flows: application to flood regulation. Water Resour Res 49:471–487CrossRefGoogle Scholar
  18. Mueller C, Martin B, Lumsdaine A (2007) A comparison of vertex ordering algorithms for large graph visualization. Visualization, 2007. APVIS ’07. In: 2007 6th international Asia-Pacific symposium on, pp 141–148Google Scholar
  19. Murillo J, García-Navarro P, Burguete J (2009a) Time step restrictions for well-balanced shallow water solutions in non-zero velocity steady states. Int J Numer Methods Fluids 60:1351–1377CrossRefGoogle Scholar
  20. Murillo J, García-Navarro P, Burguete J (2009b) Conservative numerical simulation of multi-component transport in two-dimensional unsteady shallow water flow. J Comput Phys 228:5539–5573CrossRefGoogle Scholar
  21. Murillo J, Garcia-Navarro P (2010) Weak solutions for partial differential equations with source terms: application to the shallow water equations. J Comput Phys 229:4327–4368CrossRefGoogle Scholar
  22. Roe PL (1985) A basis for upwind differencing on the two-dimensional unsteady euler equations. Numerical methods for the Euler equations of fluid dynamics. SIAMGoogle Scholar
  23. Sanders BF, Schubert JE, Detwiller RL (2010) ParBreZo: a parallel, unstructured grid, Godunov-type, shallow-water code for high-resolution flood inundation modeling at the regional scale. Adv Water Resour 33:1456–1467CrossRefGoogle Scholar
  24. Serrano-Pacheco A (2009) Simulacion numrica bidemensional de procesos hidrolgicos e hidraulicos sobre lecho irregular deformable. PhD ThesisGoogle Scholar
  25. Sloan S (1986) An algorithm for profile and wavefront reduction of sparse matrices. Int J Numer Methods Eng 23:13151324CrossRefGoogle Scholar
  26. Smith LS, Liang Q (2013) Towards a generalised GPU/CPU shallow-flow modelling tool. Comput Fluids 88:334–343CrossRefGoogle Scholar
  27. Thibault JC, Senocak I (2009) CUDA implementation of a Navier–Stokes solver on multi-GPU desktop platforms for incompressible flows. In: Proceedings of the 47th AIAA aerospace sciences meeting, pp 2009–758Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Asier Lacasta
    • 1
  • Mario Morales-Hernández
    • 1
  • Javier Murillo
    • 1
  • Pilar García-Navarro
    • 1
  1. 1.LIFTECCSIC-Universidad ZaragozaZaragozaSpain

Personalised recommendations