A Lattice-Boltzmann solver for 3D fluid simulation on GPU

Abstract A three-dimensional Lattice-Boltzmann fluid model with nineteen discrete velocities was implemented using NVIDIA Graphic Processing Unit (GPU) programing language “Compute Unified Device Architecture” (CUDA). Previous LBM GPU implementations required two steps to maximize memory bandwidth due to memory access restrictions of earlier versions of CUDA toolkit and hardware capabilities. In this work, a new approach based on single-step algorithm with a reversed collision–propagation scheme is developed to maximize GPU memory bandwidth, taking advantage of the newer versions of CUDA programming model and newer NVIDIA Graphic Cards. The code was tested on the numerical calculation of lid driven cubic cavity flow at Reynolds number 100 and 1000 showing great precision and stability. Simulations running on low cost GPU cards can calculate 400 cell updates per second with more than 65% hardware bandwidth.

[1]  Gérard Y. Vichniac Cellular-Automata Fluids , 1989 .

[2]  Marcelo J. Vénere,et al.  Cellular automata algorithm for simulation of surface flows in large plains , 2007, Simul. Model. Pract. Theory.

[3]  Q. Zou,et al.  On pressure and velocity boundary conditions for the lattice Boltzmann BGK model , 1995, comp-gas/9611001.

[4]  Hui Zhang,et al.  Immersed boundary method and lattice Boltzmann method coupled FSI simulation of mitral leaflet flow , 2010 .

[5]  Uwe Küster,et al.  Recent Performance Results of the Lattice Boltzmann Method , 2007 .

[6]  Christian Obrecht,et al.  LBM based flow simulation using GPU computing processor , 2010, Comput. Math. Appl..

[7]  Matthaeus,et al.  Lattice Boltzmann model for simulation of magnetohydrodynamics. , 1991, Physical review letters.

[8]  Y. Qian,et al.  Lattice BGK Models for Navier-Stokes Equation , 1992 .

[9]  Massimo Tessarotto,et al.  On boundary conditions in the Lattice-Boltzmann method , 2004 .

[10]  Jean-Pierre Rivet,et al.  Lattice Gas Hydrodynamics , 1987 .

[11]  Jaw-Yen Yang,et al.  Implicit Weighted ENO Schemes for the Three-Dimensional Incompressible Navier-Stokes Equations , 1998 .

[12]  G. M. Crisci,et al.  The simulation model SCIARA: the 1991 and 2001 lava flows at Mount Etna , 2004 .

[13]  Ye Zhao,et al.  Lattice Boltzmann based PDE solver on the GPU , 2008, The Visual Computer.

[14]  P. Bhatnagar,et al.  A Model for Collision Processes in Gases. I. Small Amplitude Processes in Charged and Neutral One-Component Systems , 1954 .

[15]  B. Shi,et al.  An extrapolation method for boundary conditions in lattice Boltzmann method , 2002 .

[16]  Jens Harting,et al.  Implementation of on-site velocity boundary conditions for D3Q19 lattice Boltzmann simulations , 2008, 0811.4593.

[17]  Gerhard Wellein,et al.  On the single processor performance of simple lattice Boltzmann kernels , 2006 .

[18]  Jonas Tölke,et al.  Implementation of a Lattice Boltzmann kernel using the Compute Unified Device Architecture developed by nVIDIA , 2009, Comput. Vis. Sci..

[19]  S. Wolfram Cellular automaton fluids 1: Basic theory , 1986 .

[20]  Skordos,et al.  Initial and boundary conditions for the lattice Boltzmann method. , 1993, Physical review. E, Statistical physics, plasmas, fluids, and related interdisciplinary topics.

[21]  Shiyi Chen,et al.  LATTICE BOLTZMANN METHOD FOR FLUID FLOWS , 2001 .