An efficient swap algorithm for the lattice Boltzmann method

During the last decade, the lattice-Boltzmann method (LBM) as a valuable tool in computational fluid dynamics has been increasingly acknowledged. The widespread application of LBM is partly due to the simplicity of its coding. The most well-known algorithms for the implementation of the standard lattice-Boltzmann equation (LBE) are the two-lattice and two-step algorithms. However, implementations of the two-lattice or the two-step algorithm suffer from high memory consumption or poor computational performance, respectively. Ultimately, the computing resources available decide which of the two disadvantages is more critical. Here we introduce a new algorithm, called the swap algorithm, for the implementation of LBE. Simulation results demonstrate that implementations based on the swap algorithm can achieve high computational performance and have very low memory consumption. Furthermore, we show how the performance of its implementations can be further improved by code optimization.

[1]  O. Filippova,et al.  Grid Refinement for Lattice-BGK Models , 1998 .

[2]  L. Luo,et al.  Theory of the lattice Boltzmann method: From the Boltzmann equation to the lattice Boltzmann equation , 1997 .

[3]  C. P. Lowe,et al.  Efficiently using memory in lattice Boltzmann simulations , 2004, Future Gener. Comput. Syst..

[4]  Frisch,et al.  Lattice gas automata for the Navier-Stokes equations. a new approach to hydrodynamics and turbulence , 1989 .

[5]  Ernst Rank,et al.  Parallelization Strategies and Efficiency of CFD Computations in Complex Geometries Using Lattice Boltzmann Methods on High-Performance Computers , 2002 .

[6]  Cass T. Miller,et al.  A high-performance lattice Boltzmann implementation to model flow in porous media , 2003 .

[7]  Zanetti,et al.  Use of the Boltzmann equation to simulate lattice gas automata. , 1988, Physical review letters.

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

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

[10]  John G. Hagedorn,et al.  Multiscale modeling of fluid transport in heterogeneous materials using discrete Boltzmann methods , 2002 .

[11]  L. Luo,et al.  A priori derivation of the lattice Boltzmann equation , 1997 .

[12]  A. Hoekstra,et al.  Permeability of Three-Dimensional Random Fiber Webs , 1998 .

[13]  Bastien Chopard,et al.  An object oriented approach to lattice gas modeling , 2000, Future Gener. Comput. Syst..

[14]  Kenneth M. Bryden,et al.  A cache‐efficient implementation of the lattice Boltzmann method for the two‐dimensional diffusion equation , 2004, Concurr. Pract. Exp..

[15]  Christoph Zenger,et al.  High Performance Scientific and Engineering Computing: Proceedings of the 3rd International FORTWIHR Conference on HPSEC, Erlangen, March 12-14, 2001 , 2002 .

[16]  P. Lallemand,et al.  Momentum transfer of a Boltzmann-lattice fluid with boundaries , 2001 .

[17]  Paul Lavallée,et al.  Boundaries in lattice gas flows , 1991 .

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

[19]  Matthaeus,et al.  Recovery of the Navier-Stokes equations using a lattice-gas Boltzmann method. , 1992, Physical review. A, Atomic, molecular, and optical physics.

[20]  T. Abe Derivation of the Lattice Boltzmann Method by Means of the Discrete Ordinate Method for the Boltzmann Equation , 1997 .

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

[22]  Y. Pomeau,et al.  Lattice-gas automata for the Navier-Stokes equation. , 1986, Physical review letters.

[23]  Zhaoli Guo,et al.  Preconditioned lattice-Boltzmann method for steady flows. , 2004, Physical review. E, Statistical, nonlinear, and soft matter physics.

[24]  S. Turek,et al.  Benchmark computations based on Lattice-Boltzmann, Finite Element and Finite Volume Methods for laminar Flows , 2006 .

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

[26]  J. Boon The Lattice Boltzmann Equation for Fluid Dynamics and Beyond , 2003 .

[27]  Ulrich Rüde,et al.  Optimization and Profiling of the Cache Performance of Parallel Lattice Boltzmann Codes in 2 D and 3 D ∗ , 2003 .

[28]  William Gropp,et al.  Skjellum using mpi: portable parallel programming with the message-passing interface , 1994 .