High performance lattice Boltzmann algorithms for fluid flows
Weibin Guo, Cheqing Jin, Jianhua Li
Department of Computer Science and Engineering East China University of Science and Technology Shanghai, 200237, China e-mail: email@example.com
Abstract—While the lattice Boltzmann method (LBM) has attracted much attentionin the area of CFD in recent years, it has also been recognized that it is both computationally demanding and memory intensive. Extensive studies on improving the performance of LBM have been carried out. In this work, various efficient implementation algorithms of LBM are investigated in terms of computational performance and memory consumptions. More precisely, we consider four types highperformance LB algorithms: efficient grid refinement, parallel, cache optimization and GPU-based algorithms. Keywords-Lattice Boltzmann method; Fluid flow; High performance algorithm; Performance analysis
problems, especially for 3D problems. There is a strong need to develop techniques for improving the LBM performance. The high performance computing (HPC) technologies andenvironment provide an efficient, promising and reliable solver for fluid simulations. It is therefore clear that HPC is the only possibility to fulfill the large computational requirements for simulating complex flows. The purpose of this paper is to investigate various efficient implementation algorithms of LBM, so as to compare their computational performance and memory consumptions. The paper isorganized as follows. Section 2 includes a very short exposition of LBM. The different high performance algorithms for LBM are discussed in Section 3. Finally, some conclusions are drawn in Section 4. II. LATTICE BOLTZMANN METHOD
There are two usual approaches towards solving CFD problems: top-down method and bottom-up method. The former computes macroscopic fluid dynamic properties bydiscretizing the continuum governing equations, such as the Navier-Stokes equations and other related models. While the latter focuses on the underlying microscopic dynamics of the physical system investigated, in which molecules are viewed as the solution component. It depicts the fluid system with molecules, and establishes molecule dynamic equations. In contrast, lattice Boltzmann method (LBM) is arather new mesoscopic approach and a well established scheme in CFD that uses simple microscopic models to simulate macroscopic behavior of transport phenomena [1,2]. The main idea behind LBM is the mapping of the average motion of the fluid particles on the lattice. The success of the method can be partly attributed to the particle based approach which is directly inherited from its predecessor, thelattice gas automata (LGA). Unlike LGA, the LBM simulates a flow system by tracking the evolution of particle distributions instead of tracking single particles. For this reason, it overcomes some of inherent limitations of the LGA, such as the statistical noise, nonGalilean invariance. Employing LBM you model flows on computer, it often involve many complex mathematics and physics problems such asanomalistic structures, non-linear dynamics systems, active boundary, and strict restrict conditions, etc. Hence, these give rise to a significant computational cost in terms of memory and speed. Depending on the specific application, simulations may be hampered by an excessive computing time or by high memory requirements [3,4]. This is also a serious bottleneck and places practical limitationsupon the range and scope of the
978-0-7695-3494-7/08 $25.00 © 2008 IEEE DOI 10.1109/ISISE.2008.182 33
The simplest and currently the most widely used LBM is the so-called lattice-BGK model (LBGK), in which the collision process is represented to be a single-time relaxation to the local equilibrium distribution . In LBGK, the state of the system is defined by singleparticle distribution...