Parallel Lattice Boltzmann Methods for CFD Applications

  • Carolin Körner
  • Thomas Pohl
  • Ulrich Rüde
  • Nils Thürey
  • Thomas Zeiser
Part of the Lecture Notes in Computational Science and Engineering book series (LNCSE, volume 51)


The lattice Boltzmann method (LBM) has evolved to a promising alternative to the well-established methods based on finite elements/volumes for computational fluid dynamics simulations. Ease of implementation, extensibility, and computational efficiency are the major reasons for LBM’s growing field of application and increasing popularity. In this paper we give a brief introduction to the involved theory and equations for LBM, present various techniques to increase the single-CPU performance, outline the parallelization of a standard LBM implementation, and show performance results. In order to demonstrate the straightforward extensibility of LBM, we then focus on an application in material science involving fluid flows with free surfaces. We discuss the required extensions to handle this complex scenario, and the impact on the parallelization technique.


Processing Unit Cellular Automaton Cellular Automaton Lattice Boltzmann Method Cache Line 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    S. Ansumali, I. V. Karlin, and S. Succi. Kinetic Theory of Turbulence Modeling: Smallness Parameter, Scaling and Microscopic Derivation of Smagorinsky Model. Physica A, 338(3):379–394, 2004.MathSciNetCrossRefGoogle Scholar
  2. 2.
    R. Argentini, A. Bakker, and C. Lowe. Efficiently Using Memory in Lattice Boltzmann Simulations. Future Generation Computer Systems, 20(6):973–980, 2004.CrossRefGoogle Scholar
  3. 3.
    J. Bernsdorf, F. Durst, and M. Schäfer. Comparison of Cellular Automata and Finite Volume Techniques for Simulation of Incompressible Flows in Complex Geometries. Int. J. Numer. Meth. Fluids, 29(3):251–264, 1999.CrossRefGoogle Scholar
  4. 4.
    V. Bhandari. Detailed Investigations of Transport Properties in Complex Reactor Components. Master thesis, Lehrstuhl für Strömungsmechanik, Universität Erlangen-Nürnberg, Erlangen, Germany, 2002.Google Scholar
  5. 5.
    P. Bhatnagar, E. P. Gross, and M. K. Krook. A Model for Collision Processes in Gases. I. Small Amplitude Processes in Charged and Neutral One-Component Systems. Phys. Rev., 94(3):511–525, 1954.CrossRefGoogle Scholar
  6. 6.
    M. Bouzidi, M. Firdaouss, and P. Lallemand. Momentum Transfer of a Boltzmann Lattice Fluid with Boundaries. Phys. Fluids, 13(11):3452–3459, 2001.CrossRefGoogle Scholar
  7. 7.
    S. Chapman and T. G. Cowling. The Mathematical Theory of Non-Uniform Gases. Cambridge University Press, 1995.Google Scholar
  8. 8.
    H. Chen, S. Kandasamy, S. Orszag, R. Shock, S. Succi, and V. Yakhot. Extended Boltzmann Kinetic Equation for Turbulent Flows. Science, 301(5644):633–636, 2003.CrossRefGoogle Scholar
  9. 9.
    S. Chen and G. D. Doolen. Lattice Boltzmann Method for Fluid Flows. Annu. Rev. Fluid Mech., 30:329–364, 1998.MathSciNetCrossRefGoogle Scholar
  10. 10.
    S. Chen, G. D. Doolen, and K. G. Eggert. Lattice-Boltzmann Fluid Dynamics: A Versatile Tool for Multiphase and Other Complicated Flows. Los Alamos Science, 22:98–111, 1994.Google Scholar
  11. 11.
    S. Chen and D. Martinez. On Boundary Conditions in Lattice Boltzmann Methods. Phys. Fluids, 8(9):2527–2536, 1996.MathSciNetCrossRefGoogle Scholar
  12. 12.
    B. Chopard and M. Droz. Cellular Automata Modeling of Physical Systems. Cambridge University Press, 1998.Google Scholar
  13. 13.
    C. Denniston, E. Orlandini, and J. Yeomans. Lattice Boltzmann Simulations of Liquid Crystal Hydrodynamics. Phys. Rev. E, 63:056702_10, 2001.CrossRefGoogle Scholar
  14. 14.
    S. Donath. On Optimized Implementations of the Lattice Boltzmann Method on Contemporary High Performance Architectures. Bachelor thesis, Lehrstuhl für Informatik 10 (Systemsimulation), Universität Erlangen-Nürnberg, 2004.Google Scholar
  15. 15.
    A. Dupuis and B. Chopard. Theory and Applications of an Alternative Lattice Boltzmann Grid Refinement Algorithm. Phys. Rev. E, 67(6):066707_7, 2003.CrossRefGoogle Scholar
  16. 16.
    O. Filippova and D. Hänel. Grid Refinement for Lattice BGK Models. J. Comput. Phys., 147:219–228, 1998.CrossRefGoogle Scholar
  17. 17.
    U. Frisch, D. d’Humières, B. Hasslacher, P. Lallemand, Y. Pomeau, and J.-P. Rivet. Lattice Gas Hydrodynamics in Two and Three Dimensions. Complex Systems, 1:649–707, 1987.MathSciNetGoogle Scholar
  18. 18.
    S. Geller, M. Krafczyk, J. Tölke, S. Turek, and J. Hron. Benchmark Computations based on Lattice Boltzmann, Finite Element, and Finite Volume Methods for Laminar Flows. Submitted to Computers and Fluids, 2004. Also available as Ergebisbericht 274 des Fachbereichs Mathematik der Universtität Dortmund, Scholar
  19. 19.
    I. Ginzburg and P. M. Adler. Boundary Flow Condition Analysis for Three-Dimensional Lattice Boltzmann Model. J. Phys. II France, 4:191–214, 1994.CrossRefGoogle Scholar
  20. 20.
    I. Ginzburg and D. d’Humières. Multireflection Boundary Conditions for Lattice Boltzmann Models. Phys. Rev. E, 68(6):066614_30, 2003.CrossRefGoogle Scholar
  21. 21.
    A. S. Glassner. An Introduction to Ray Tracing. Harlekijn, 1989.Google Scholar
  22. 22.
    X. He and G. D. Doolen. Thermodynamic Foundations of Kinetic Theory and Lattice Boltzmann Models for Multiphase Flows. J. Stat. Phys., 107(1–2):309–328, 2002.CrossRefGoogle Scholar
  23. 23.
    X. He and L.-S. Luo. A Priori Derivation of the Lattice Boltzmann Equation. Phys. Rev. E, 55(6):R6333–R6336, 1997.CrossRefGoogle Scholar
  24. 24.
    F. Hülsemann, M. Kowarschik, M. Mohr, and U. Rüde. Parallel geometric multigrid. In A. M. Bruaset and A. Tveito, editors, Numerical Solution of Partial Differential Equations on Parallel Computers, volume 51 of Lecture Notes in Computational Science and Engineering, pages 165–208. Springer-Verlag, 2005.Google Scholar
  25. 25.
    K. Iglberger. Cache Optimizations for the Lattice Boltzmann Method in 3D. Studienarbeit, Lehrstuhl für Informatik 10 (Systemsimulation), Universität Erlangen-Nürnberg, 2003.Google Scholar
  26. 26.
    D. Kehrwald. Numerical Analysis of Immiscible Lattice BGK. PhD thesis, Fachbereich Mathematik, Universität Kaiserslautern, 2002.Google Scholar
  27. 27.
    M. Kowarschik. Data Locality Optimizations for Iterative Numerical Algorithms and Cellular Automata on Hierarchical Memory Architectures. PhD thesis, Universität Erlangen-Nürnberg, Technische Fakultät, 2004.Google Scholar
  28. 28.
    A. J. C. Ladd. Numerical Simulations of Particulate Suspensions via a Discrete Boltzmann Equation. Part 1. Theoretical Foundation. J. Fluid Mech., 271:285–309, 1994.zbMATHMathSciNetCrossRefGoogle Scholar
  29. 29.
    G. Marmitt, A. Kleer, I. Wald, H. Friedrich, and P. Slusallek. Fast and Accurate Ray-Voxel Intersection Techniques for Iso-Surface Ray Tracing. In Vision, Modelling, and Visualization 2003 (VMV), November 16–18, Stanford (CA), USA, 2004.Google Scholar
  30. 30.
    G. R. McNamara and G. Zanetti. Use of the Boltzmann Equation to Simulate Lattice Gas Automata. Phys. Rev. Lett., 61:2332–2335, 1988.CrossRefGoogle Scholar
  31. 31.
    W. Miller and S. Succi. A Lattice Boltzmann Model for Anisotropic Crystal Growth from Melt. J. Stat. Phys., 107(1–2):173–186, 2002.CrossRefGoogle Scholar
  32. 32.
    C. Pan, J. Prins, and C. T. Miller. A High-Performance Lattice Boltzmann Implementation to Model Flow in Porous Media. Comp. Phys. Com., 158(1):89–105, 2004.CrossRefGoogle Scholar
  33. 33.
    T. Pohl, F. Deserno, N. Thürey, U. Rüde, P. Lammers, G. Wellein, and T. Zeiser. Performance Evaluation of Parallel Large-Scale Lattice Boltzmann Applications on Three Supercomputing Architectures. In Supercomputing Conference, 2004.Google Scholar
  34. 34.
    T. Pohl, M. Kowarschik, J. Wilke, K. Iglberger, and U. Rüde. Optimization and Profiling of the Cache Performance of Parallel Lattice Boltzmann Codes. Parallel Processing Letters, 13(4):549–560, 2003.MathSciNetCrossRefGoogle Scholar
  35. 35.
    Y. H. Qian, D. d’Humières, and P. Lallemand. Lattice BGK Models for Navier-Stokes Equation. Europhys. Lett., 17(6):479–484, 1992.Google Scholar
  36. 36.
    D. H. Rothman and S. Zaleski. Lattice Gas Cellular Automata. Simple models of Complex Hydrodynamics. Cambridge University Press, 1997.Google Scholar
  37. 37.
    M. Schulz, M. Krafczyk, J. Tölke, and E. Rank. Parallelization Strategies and Efficiency of CFD Computations in Complex Geometries Using Lattice Boltzmann Methods on High Performance Computers. In M. Breuer, F. Durst, and C. Zenger, editors, High Performance Scientific and Engineering Computing, pages 115–122, Berlin, 2001. Springer.Google Scholar
  38. 38.
    P. Shirley and K. Sung. Graphics Gems III. Morgan Kaufmann, 1994.Google Scholar
  39. 39.
    S. Succi. The Lattice Boltzmann Equation — For Fluid Dynamics and Beyond. Clarendon Press, 2001.Google Scholar
  40. 40.
    I. Wald, C. Benthin, M. Wagner, and P. Slusallek. Interactive Rendering with Coherent Ray Tracing. In A. Chalmers and T.-M. Rhyne, editors, Computer Graphics Forum (Proceedings of EUROGRAPHICS 2001), volume 20. Blackwell Publishers, Oxford, 2001.Google Scholar
  41. 41.
    G. Wellein, T. Zeiser, S. Donath, and G. Hager. On the Single Processor Performance of Simple Lattice Boltzmann Kernels. Computers & Fluids, accepted, 2004.Google Scholar
  42. 42.
    J. Wilke. Cache Optimizations for the Lattice Boltzmann Method in 2D. Studienarbeit, Lehrstuhl für Informatik 10 (Systemsimulation), Universität Erlangen-Nürnberg, 2002.Google Scholar
  43. 43.
    J. Wilke, T. Pohl, M. Kowarschik, and U. Rüde. Cache Performance Optimization for Parallel Lattice Boltzmann Code in 2D. Technical Report 03-3, Lehrstuhl für Informatik 10 (Systemsimulation), Universität Erlangen-Nürnberg, 2003.Google Scholar
  44. 44.
    D. A. Wolf-Gladrow. Lattice Gas Cellular Automata and Lattice Boltzmann Models, volume 1725 of Lecture Notes in Mathematics. Springer, Berlin, 2000.Google Scholar
  45. 45.
    S. Wolfram. Cellular Automaton Fluids 1: Basic Theory. J. Stat. Phys., 3/4:471–526, 1986.MathSciNetCrossRefGoogle Scholar
  46. 46.
    D. Yu, R. Mei, L.-S. Luo, and W. Shyy. Viscous Flow Computations with the Method of Lattice Boltzmann Equation. Progr. Aero. Sci., 39:329–367, 2003.CrossRefGoogle Scholar
  47. 47.
    D. Yu, R. Mei, and W. Shyy. A Multiblock Lattice Boltzmann Method for Viscous Fluid Flows. Int. J. Numer. Meth. Fluids, 39(2):99–120, 2002.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Carolin Körner
    • 1
  • Thomas Pohl
    • 2
  • Ulrich Rüde
    • 2
  • Nils Thürey
    • 2
  • Thomas Zeiser
    • 3
  1. 1.Lehrstuhl Werkstoffkunde und Technologie der MetalleErlangenGermany
  2. 2.Lehrstuhl für SystemsimulationErlangenGermany
  3. 3.Regionales Rechenzentrum ErlangenErlangenGermany

Personalised recommendations