Skip to main content
Log in

Parallel Lattice Boltzmann Method with Blocked Partitioning

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

This paper presents and discusses a blocked parallel implementation of bi- and three-dimensional versions of the Lattice Boltzmann Method. This method is used to represent and simulate fluid flows following a mesoscopic approach. Most traditional parallel implementations use simple data distribution strategies to parallelize the operations on the regular fluid data set. However, it is well known that block partitioning is usually better. Such a parallel implementation is discussed and its communication cost is established. Fluid flows simulations crossing a cavity have also been used as a real-world case study to evaluate our implementation. The presented results with our blocked implementation achieve a performance up to 31% better than non-blocked versions, for some data distributions. Thus, this work shows that blocked, parallel implementations can be efficiently used to reduce the parallel execution time of the method.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Anderson J.D.: Computational Fluid Dynamics. McGraw-Hill, New York (1995)

    Google Scholar 

  2. Artoli A., Hoekstra A., Sloot P.: Optimizing Lattice Boltzmann simulations for unsteady flows. Comput. Fluids 35(2), 227–240 (2005)

    Article  Google Scholar 

  3. Batchelor G.K.: An Introduction to Fluid Dynamics. Cambridge University Press, Cambridge, MA (1987)

    Google Scholar 

  4. Buick, JM.: Lattice Boltzmann methods in interfacial wave modelling. Ph.D. Dissertation, University of Edinburgh, Fluid Dynamics Group, Feb. 1997

  5. Carter, J., Oliker, L.: Performance evaluation of Lattice-Boltzmann magnetohydrodynamics simulations on modern parallel vector systems. Lawrence Berkeley National Laboratory, Paper LBNL-59340, Jan. 2006

  6. Chen S., Doolen G.D.: Lattice Boltzmann method for fluid flows. Annu. Rev. Fluid Mech. 30, 329–364 (1998)

    Article  MathSciNet  Google Scholar 

  7. Chung T.: Computational Fluid Dynamics. Cambridge University Press, Cambridge (2003)

    Google Scholar 

  8. Desplat J.-C., Pagonabarraga I., Bladon P.: Ludwig: a parallel Lattice-Boltzmann code for complex fluids. Comput. Phys. Commun. 134(3), 273–290 (2001)

    Article  MATH  Google Scholar 

  9. Dongarra, J., Foster, I., Fox, G., Gropp, W., Kennedy, K., Torczon, L., White, A., (eds.): The Sourcebook of Parallel Computing. The Morgan Kaufmann Series in Computer Architecture and Design. Elsevier, Nov. 2002

  10. Dupuis, A.: From a Lattice Boltzmann model to a parallel and reusable implementation of a virtual river. Ph.D. Dissertation, University of Geneva, CUI, Computer Science Departement, University of Geneva (2002)

  11. Elmroth E., Gustavson F., Jonsson I., Kȧgström B.: Recursive blocked algorithms and hybrid data structures for dense matrix library software. SIAM Rev. 46(1), 3–45 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  12. Ferziger J.H., Peric M.: Computational Methods for Fluid Dynamics. Springer-Verlag, London (2002)

    MATH  Google Scholar 

  13. Flekkøy E.G.: Lattice Bhatnagar-Gross-Krook models for miscible fluids. Phys. Rev. E 47(6), 4247–4257 (1993)

    Article  Google Scholar 

  14. Foster I.: Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Addison Wesley, Reading, MA (1995)

    MATH  Google Scholar 

  15. Gropp W., Lusk E., Skjellum A.: Using MPI: Portable Parallel Programming with the Message Passing Interface. MIT Press, Cambridge, Massachusetts, USA (1994)

    Google Scholar 

  16. He X., Luo L.-S.: Lattice Boltzmann model for the incompressible Navier-Stokes equation. J. Stat. Phys. 88, 927–944 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  17. He X., Luo L.-S.: Theory of the Lattice Boltzmann equation: from Boltzmann equation to Lattice Boltzmann equation. Phys. Rev. E 56, 6811–6817 (1997)

    Article  Google Scholar 

  18. Jonsson I., Kȧgström B.: Recursive blocked algorithms for solving triangular systems—Part I: one-sided and coupled Sylvester-type matrix equations. ACM Trans. Math. Softw. 28(4), 392–415 (2002)

    Article  MATH  Google Scholar 

  19. Kandhai D., Koponen A., Hoekstra A., amd K.M., Timonen J., Sloot P.: Lattice-Boltzmann hydrodynamics on parallel systems. Comput. Phys. Commun. 111, 14–26 (1998)

    Article  MATH  Google Scholar 

  20. Körner, C., Pohl, T., Rüde, U., Thürey, N., and Zeiser, T.: Parallel Lattice Boltzmann methods for CFD applications. In: Bruaset, A., Tveito, A. (eds.) Numerical Solution of Partial Differential Equations on Parallel Computers, vol. 51 of Lecture Notes for Computational Science and Engineering, Chap. 5, pp. 439–465. Springer-Verlag, London (2005). ISBN 3-540-29076-1

  21. Lam, M.D., Rothberg, E.E., Wolf, M.E.: The cache performance and optimizations of blocked algorithms. In ASPLOS-IV: Proceedings of the 4th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 63–74. ACM Press, New York, NY, USA (1991)

  22. McNamara G., Zanetti G.: Use of the Boltzmann equation to simulate Lattice-Gas Automata. Phys. Rev. Lett. 61, 2332–2335 (1988)

    Article  Google Scholar 

  23. Pan C., Prins J.F., Miller C.T.: A high-performance Lattice Boltzmann implementation to model flow in porous media. Comput. Phys. Commun. 158(2), 89–105 (2004)

    Article  Google Scholar 

  24. Pohl, T., Thürey, N., Deserno, F., Rüde, U., Lammers, P., Wellein, G., Zeiser, T.: Performance Evaluation of Parallel Large-Scale Lattice Boltzmann Applications on Three Supercomputing Architectures. Supercomputing (2004)

  25. Snir M., Otto S., Huss-Lederman S., Walker D., Dongarra J.: MPI: the Complete Reference, vol. 1 and 2. The MIT Press, Cambridge, MA (1998)

    Google Scholar 

  26. Succi S.: The Lattice Boltzmann Equation for Fluid Dynamics and Beyond. Oxford University Press, New York, USA (2001)

    MATH  Google Scholar 

  27. Wilkinson B., Allen M.: Parallel Programming: Using Networked Workstations and Parallel Computers. Prentice Hall, USA (1998)

    Google Scholar 

  28. Wolf-Gladrow D.A.: Lattice-Gas Cellular Automata and Lattice Boltzmann Models: an Introduction. Springer, Berlin (2000)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nicolas Maillard.

Additional information

This article was supported by CNPq.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Schepke, C., Maillard, N. & Navaux, P.O.A. Parallel Lattice Boltzmann Method with Blocked Partitioning. Int J Parallel Prog 37, 593–611 (2009). https://doi.org/10.1007/s10766-009-0113-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-009-0113-x

Keywords

Navigation