Development of An Overset Grid Computational Fluid Dynamics Solver on Graphical Processing Units

General Purpose computation on Graphics Processing Units (GPGPUs) has gained popularity recently. Graphics Processing Units (GPUs) are being used for computationally intensive and data intensive problems to obtain orders of magnitude speed up in wide range of domains like molecular dynamics, bio-physics, geo-physics and CFD [1–4]. In this paper we discuss the development of a two-dimensional overset grid CFD solver on GPUs for moving body problems and demonstrate orders of magnitude speed-up on single GPU unit as compared to C/FORTRAN solver on a single CPU core. The two-dimensional overset grid CFD solver consists of three modules. A near-body solver module which solves the fluid conservation laws on structured and unstructured mesh systems, an off-body solver module which solves the fluid-conservation laws on an isotropic Cartesian mesh, and the domain connectivity module which manages the interaction between these two mesh systems. The GPU acceleration is extended to all the three modules. We expect this work to be the fore-runner for future development efforts for full three-dimensional Navier–Stokes solutions capable of executing in a heterogeneous parallel environment. Here “heterogeneous parallelism” refers to combination of Message Passing Interface (MPI) based communication for distributed memory systems, and large scale multi-threading using GPUs for shared memory systems.

[1]  Stuart E. Rogers,et al.  PEGASUS 5: An Automated Preprocessor for Overset-Grid Computational Fluid Dynamics , 2003 .

[2]  Hossein Saberi,et al.  Application of the Helios Computational Platform to Rotorcraft Flowfields , 2010 .

[3]  V. Parthasarathy,et al.  A fully automated Chimera methodology for multiple moving body problems , 2000 .

[4]  J. Bonet,et al.  An alternating digital tree (ADT) algorithm for 3D geometric searching and intersection problems , 1991 .

[5]  Paulius Micikevicius,et al.  3D finite difference computation on GPUs using CUDA , 2009, GPGPU-2.

[6]  P. Roe Approximate Riemann Solvers, Parameter Vectors, and Difference Schemes , 1997 .

[7]  A. Jameson ANALYSIS AND DESIGN OF NUMERICAL SCHEMES FOR GAS DYNAMICS, 2: ARTIFICIAL DIFFUSION AND DISCRETE SHOCK STRUCTURE , 1994 .

[8]  D. Quinlan,et al.  Overture: object-oriented tools for overset grid applications , 1999 .

[9]  Davy M. Belk,et al.  Automated assembly of structured grids for moving body problems , 1995 .

[10]  Stuart E. Rogers,et al.  Pegasus 5: An Automated Pre-Processor for Overset-Grid Cfd , 2013 .

[11]  Koji Morinishi,et al.  A finite difference solution of the Euler equations on non-body-fitted Cartesian grids☆ , 1992 .

[12]  R. Lewis,et al.  Low-storage, Explicit Runge-Kutta Schemes for the Compressible Navier-Stokes Equations , 2000 .

[13]  Andrew M. Wissink,et al.  Parallel domain connectivity algorithm for unsteady flow computations using overlapping and adaptive grids , 2010, J. Comput. Phys..

[14]  Ralph Noack,et al.  SUGGAR: A General Capability for Moving Body Overset Grid Assembly , 2005 .

[15]  V. Vatsa,et al.  Navier-Stokes computations of a prolate spheroid at angle of attack , 1989 .

[16]  Jostein R. Natvig,et al.  Solving the Euler Equations on Graphics Processing Units , 2006, International Conference on Computational Science.

[17]  Michael J. Flynn,et al.  Some Computer Organizations and Their Effectiveness , 1972, IEEE Transactions on Computers.

[18]  N. Anders Petersson,et al.  An Algorithm for Assembling Overlapping Grid Systems , 1999, SIAM J. Sci. Comput..

[19]  Eric Darve,et al.  Large calculation of the flow over a hypersonic vehicle using a GPU , 2008, J. Comput. Phys..