GPU-enhanced Finite Volume Shallow Water solver for fast flood simulations

Abstract In this paper a parallelization of a Shallow Water numerical scheme suitable for Graphics Processor Unit (GPU) architectures under the NVIDIA™'s Compute Unified Device Architecture (CUDA) framework is presented. In order to provide robust and accurate simulations of real flood events, the system features a state-of-the-art Finite Volume explicit discretization technique which is well balanced, second order accurate and based on positive depth reconstruction. The model is based on a Cartesian grid and boundary conditions are implemented by means of the implicit local ghost cell approach, which enables the discretization of a broad spectrum of boundary conditions including inflow/outflow conditions. A novel and efficient Block Deactivation Optimization procedure has also been adopted, in order to increase the efficiency of the numerical scheme in the presence of wetting-drying fronts. This led to speedups of two orders of magnitude with respect to a single-core CPU. The code has been validated against several severe benchmark test cases, and its capability of producing accurate fast simulations (with high ratios between physical and computing times) for different real world cases has been shown.

[1]  José Miguel Mantas,et al.  An MPI-CUDA implementation of an improved Roe method for two-layer shallow water systems , 2012, J. Parallel Distributed Comput..

[2]  Brett F. Sanders,et al.  ParBreZo: A parallel, unstructured grid, Godunov-type, shallow-water code for high-resolution flood inundation modeling at the regional scale , 2010 .

[3]  Paul D. Bates,et al.  How much physical complexity is needed to model flood inundation? , 2012 .

[4]  Emmanuel Audusse,et al.  A Fast and Stable Well-Balanced Scheme with Hydrostatic Reconstruction for Shallow Water Flows , 2004, SIAM J. Sci. Comput..

[5]  Randima Fernando,et al.  The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics , 2003 .

[6]  B. V. Leer,et al.  Towards the ultimate conservative difference scheme V. A second-order sequel to Godunov's method , 1979 .

[7]  E. Toro Riemann Solvers and Numerical Methods for Fluid Dynamics , 1997 .

[8]  Benedict D. Rogers,et al.  Mathematical balancing of flux gradient and source terms prior to using Roe's approximate Riemann solver , 2003 .

[9]  J. Greenberg,et al.  A well-balanced scheme for the numerical processing of source terms in hyperbolic equations , 1996 .

[10]  Steven J. Burian,et al.  Assessment of GPU computational enhancement to a 2D flood model , 2011, Environ. Model. Softw..

[11]  Valerio Caleffi,et al.  Finite volume method for simulating extreme flood events in natural channels , 2003 .

[12]  Yao Zhang,et al.  Parallel Computing Experiences with CUDA , 2008, IEEE Micro.

[13]  B. Sanders,et al.  Unstructured grid finite-volume algorithm for shallow-water flow and scalar transport with wetting and drying , 2006 .

[14]  Qiuhua Liang,et al.  Adaptive quadtree simulation of shallow flows with wet-dry fronts over complex topography , 2009 .

[15]  R. Lamb,et al.  A fast two-dimensional floodplain inundation model , 2009 .

[16]  R. LeVeque Finite Volume Methods for Hyperbolic Problems: Characteristics and Riemann Problems for Linear Hyperbolic Equations , 2002 .

[17]  Marc de la Asunción,et al.  Efficient GPU implementation of a two waves TVD-WAF method for the two-dimensional one layer shallow water system on structured meshes , 2013 .

[18]  José Miguel Mantas,et al.  Two-Dimensional Compact Third-Order Polynomial Reconstructions. Solving Nonconservative Hyperbolic Systems Using GPUs , 2011, J. Sci. Comput..

[19]  Jean-Antoine Désidéri,et al.  Upwind schemes for the two-dimensional shallow water equations with variable depth using unstructured meshes , 1998 .

[20]  Pilar García-Navarro,et al.  Flux difference splitting and the balancing of source terms and flux gradients , 2000 .

[21]  José M. Mantas,et al.  GPU computing for shallow water flow simulation based on finite volume schemes , 2011 .

[22]  Paul D. Bates,et al.  A new method for moving–boundary hydrodynamic problems in shallow water , 1999, Proceedings of the Royal Society of London. Series A: Mathematical, Physical and Engineering Sciences.

[23]  F. Aureli,et al.  A weighted surface-depth gradient method for the numerical integration of the 2D shallow water equations with topography , 2008 .

[24]  B. Rogers,et al.  GPUs, a New Tool of Acceleration in CFD: Efficiency and Reliability on Smoothed Particle Hydrodynamics Methods , 2011, PloS one.

[25]  Andrea Defina,et al.  Two‐dimensional shallow flow equations for partially dry areas , 2000 .

[26]  M. Vázquez-Cendón Improved Treatment of Source Terms in Upwind Schemes for the Shallow Water Equations in Channels with Irregular Geometry , 1999 .

[27]  Shahrouz K. Aliabadi,et al.  Hybrid numerical methods to solve shallow water equations for hurricane induced storm surge modeling , 2013, Environ. Model. Softw..

[28]  Martin Lilleeng Sætra,et al.  Shallow Water Simulations on Multiple GPUs , 2010, PARA.

[29]  P. Bates,et al.  A simple raster-based model for flood inundation simulation , 2000 .

[30]  P. García-Navarro,et al.  On numerical treatment of the source terms in the shallow water equations , 2000 .

[31]  Alfredo Bermúdez,et al.  Upwind methods for hyperbolic conservation laws with source terms , 1994 .

[32]  Alessandro Valiani,et al.  Divergence Form for Bed Slope Source Term in Shallow Water Equations , 2006 .

[33]  Miguel Lastra,et al.  Simulation of shallow-water systems using graphics processing units , 2009, Math. Comput. Simul..

[34]  Randall J. LeVeque,et al.  Balancing Source Terms and Flux Gradients in High-Resolution Godunov Methods , 1998 .

[35]  D. Causon,et al.  The surface gradient method for the treatment of source terms in the shallow-water equations , 2001 .

[36]  Alfio Quarteroni,et al.  Finite element approximation of Quasi-3D shallow water equations , 1999 .

[37]  Mustafa S. Altinakar,et al.  Efficient shallow water simulations on GPUs: Implementation, visualization, verification, and validation , 2012 .

[38]  A. Balzano,et al.  Evaluation of methods for numerical simulation of wetting and drying in shallow water flow models , 1998 .

[39]  Gareth Pender,et al.  Benchmarking of 2D hydraulic modelling packages , 2010 .

[40]  Scott F. Bradford,et al.  Finite-Volume Model for Shallow-Water Flooding of Arbitrary Topography , 2002 .

[41]  José Miguel Mantas,et al.  Simulation of one-layer shallow water systems on multicore and CUDA architectures , 2010, The Journal of Supercomputing.

[42]  Benedict D. Rogers,et al.  Accurate particle splitting for smoothed particle hydrodynamics in shallow water with shock capturing , 2012 .

[43]  John D. Owens,et al.  GPU Computing , 2008, Proceedings of the IEEE.

[44]  Martin Lilleeng Sætra,et al.  Graphics processing unit (GPU) programming strategies and trends in GPU computing , 2013, J. Parallel Distributed Comput..

[45]  Vincenzo Casulli,et al.  Semi-implicit finite difference methods for the two-dimensional shallow water equation , 1990 .

[46]  Horritt,et al.  Modelling Wetting and Drying Processes in Hydraulic Models , 2005 .

[47]  Paul D. Bates,et al.  A comparison of three parallelisation methods for 2D flood inundation models , 2010, Environ. Model. Softw..

[48]  W. Thacker Some exact solutions to the nonlinear shallow-water wave equations , 1981, Journal of Fluid Mechanics.

[49]  Q. Liang,et al.  Numerical resolution of well-balanced shallow water equations with complex source terms , 2009 .