Skip to main content
Log in

Lattice Boltzmann based PDE solver on the GPU

  • Original Article
  • Published:
The Visual Computer Aims and scope Submit manuscript

Abstract

In this paper, we propose a hardware-accelerated PDE (partial differential equation) solver based on the lattice Boltzmann model (LBM). The LBM is initially designed to solve fluid dynamics by constructing simplified microscopic kinetic models. As an explicit numerical scheme with only local operations, it has the advantage of being easy to implement and especially suitable for graphics hardware (GPU) acceleration. Beyond the Navier–Stokes equation of fluid mechanics, a typical LBM can be modified to solve the parabolic diffusion equation, which is further used to solve the elliptic Laplace and Poisson equations with a diffusion process. These PDEs are widely used in modeling and manipulating images, surfaces and volumetric data sets. Therefore, the LBM scheme can be used as an GPU-based numerical solver to provide a fast and convenient alternative to traditional implicit iterative solvers. We apply this method to several examples in volume smoothing, surface fairing and image editing, achieving outstanding performance on contemporary graphics hardware. It has the great potential to be used as a general GPU computing framework for efficiently solving PDEs in image processing, computer graphics and visualization.

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. http://www.openmp.org

  2. Bella, G., Filippone, S., Rossi, N., Ubertini, S.: Using openMP on a hydrodynamic lattice-Boltzmann code. In: Proceedings of the Fourth European Workshop on OpenMP, Roma (2002)

  3. Bhatnagar, P.L., Gross, E.P., Krook, M.: 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)

    MATH  Google Scholar 

  4. Bolz, J., Farmer, I., Grinspun, E., Schröder, P.: Sparse matrix solvers on the GPU: conjugate gradients and multigrid. ACM Trans. Graph. 22(3), 917–924 (2003)

    Article  Google Scholar 

  5. Boris, J.: New directions in computational fluid dynamics. Ann. Rev. Fluid Mechanics 21, 695 (1987)

    Google Scholar 

  6. Buick, J., Greated, C.: Gravity in a lattice Boltzmann model. Phys. Rev. E 51(5), 5307–5319 (2000)

    Article  Google Scholar 

  7. Chu, N., Tai, C.: Moxi: real-time ink dispersion in absorbent paper. ACM Trans. Graph. 24(3), 504–511 (2005)

    Article  Google Scholar 

  8. Desbrun, M., Meyer, M., Schröder, P., Barr, A.: Implicit fairing of irregular meshes using diffusion and curvature flow. In: Proceedings of SIGGRAPH, pp. 317–324. ACM Press, Los Angeles, CA (1999)

    Google Scholar 

  9. 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 

  10. Fan, Z., Qiu, F., Kaufman, A., Yoakum-Stover, S.: GPU cluster for high performance computing. In: Proceedings of ACM/IEEE Supercomputing Conference, pp. 47–59. IEEE Computer Society Press, Pittsburgh, PA (2004)

    Google Scholar 

  11. Gibson, S.: Using distance maps for accurate surface representation in sampled volumes. In: Proceedings of the IEEE Symposium on Volume Visualization, pp. 23–30. IEEE Computer Society Press, Research Triangle Park, NC (1998)

    Chapter  Google Scholar 

  12. Goodnight, N., Woolley, C., Lewin, G., Luebke, D., Humphreys, G.: A multigrid solver for boundary value problems using programmable graphics hardware. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware, pp. 102–111. Eurographics Association, San Diego, CA (2003)

    Google Scholar 

  13. Harris, M., Baxter, W., Scheuermann, T., Lastra, A.: Simulation of cloud dynamics on graphics harware. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware, pp. 92–101. Eurographics Association, San Diego, CA (2003)

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  15. Jawerth, B., Lin, P., Sinzinger, E.: Lattice Boltzmann models for anisotropic diffusion of images. J. Math. Imaging Vis. 11, 231–237 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  16. Jia, J., Sun, J., Tang, C., Shum, H.: Drag-and-drop pasting. In: Proceedings of SIGGRAPH, pp. 631–637. ACM Press, Boston, MA (2006)

    Google Scholar 

  17. Krüger, J., Westermann, R.: Linear algebra operators for GPU implementation of numerical algorithms. ACM Trans. Graph. 22(3), 908–916 (2003)

    Article  Google Scholar 

  18. Lefohn, A., Whitaker, R.: A GPU-based, three-dimensional level set solver with curvature flow. University of Utah technical report UUCS-02-017 (2002)

  19. Li, W., Fan, Z., Wei, X., Kaufman, A.: Flow Simulation with Complex Boundaries, chap. 47, pp. 747–764. GPU Gems 2. Addison-Wesley, Boston, MA (2005)

  20. Lorensen, W., Cline, H.: Marching cubes: A high resolution 3d surface construction algorithm. In: Proceedings of SIGGRAPH, pp. 163–169. ACM Press, Anaheim, CA (1987)

    Google Scholar 

  21. Massaioli, F., Amati, G.: Optimization and scaling of an open MP LBM code on IBM SP nodes. Scicomp06 Talk (2002)

  22. Museth, K., Breen, D., Whitaker, R., Barr, A.: Level set surface editing operators. In: Proceedings of SIGGRAPH, pp. 330–338. ACM Press, San Antonio, TX (2002)

    Chapter  Google Scholar 

  23. Neumann, L., Csebfálvi, B., Viola, I., Mlejnek, M., Gröller, E.: Feature-preserving volume filtering. In: Proceedings of the symposium on Data Visualisation 2002, pp. 105–114. Eurographics Association, Barcelona (2002)

    Google Scholar 

  24. Owens, J., Luebke, D., Govindaraju, N., Harris, M., Krüger, J., Lefohn, A., Purcell, T.: A survey of general-purpose computation on graphics hardware. In: Eurographics State of the Art Reports, pp. 21–51. Eurographics Association, Dublin (2005)

    Google Scholar 

  25. Perez, P., Gangnet, M., Blake, A.: Poisson image editing. In: Proceedings of SIGGRAPH, pp. 313–318. ACM Press, San Diego, CA (2003)

    Google Scholar 

  26. Perona, P., Malik, J.: Scale-space and edge detection using anisotropic diffusion. IEEE Trans. Pattern Anal. Machine Intell. 12(7), 629–639 (1990)

    Article  Google Scholar 

  27. Rodgman, D., Chen, M.: Volume Denoising for visualizing refraction. In: Scientific Visualization: The Visual Extraction of Knowledge from Data, pp. 163–185. Springer, Berlin (2006)

    Chapter  Google Scholar 

  28. Rumpf, M., Strzodka, R.: Nonlinear diffusion in graphics hardware. In: Proceedings of Eurographics/IEEE TCVG Symposium on Visualization, pp. 75–84 (2001)

  29. Sramek, M., Kaufman, A.: Alias-free voxelization of geometric objects. IEEE Trans. Vis. Comput. Graph. 5(3), 251–267 (1999)

    Article  Google Scholar 

  30. Stam, J.: Stable fluids. In: Proceedings of SIGGRAPH, pp. 121–128. ACM Press, Los Angeles, CA (1999)

    Google Scholar 

  31. Succi, S.: The Lattice Boltzmann Equation for Fluid Dynamics and Beyond. Numerical Mathematics and Scientific Computation. Oxford University Press, New York (2001)

    Google Scholar 

  32. Taubin, G.: A signal processing approach to fair surface design. In: Proceedings of SIGGRAPH, pp. 351–358. ACM Press, Los Angeles, CA (1995)

    Google Scholar 

  33. Thürey, N., Rüde, U.: Free surface lattice-Boltzmann fluid simulations with and without level sets. In: Proceedings of Workshop on Vision, Modeling, and Visualization (Stanford, CA), pp. 199–208. IOS Press, Amsterdam (2004)

    Google Scholar 

  34. van der Sman, R., Ernst, M.: Diffusion lattice Boltzmann scheme on orthorhombic lattice. J. Stat. Phys. 94(1–2), 203–216 (1999)

    Article  MATH  Google Scholar 

  35. Wang, S., Kaufman, A.: Volume-sampled 3D modeling. IEEE Comput. Graph. Appl. 14(5), 26–32 (1994)

    Article  Google Scholar 

  36. Wei, X., Zhao, Y., Fan, Z., Li, W., Qiu, F., Yoakum-Stover, S., Kaufman, A.: Lattice-based flow field modeling. IEEE Trans. Vis. Comput. Graph. 10(6), 719–729 (2004)

    Article  Google Scholar 

  37. Whitaker, R.: Reducing aliasing artifacts in iso-surface of binary volumes. In: Proceedings of the IEEE Symposium on Volume Visualization, pp. 23–32. IEEE Computer Society Press, Salt Lake City, UT (2000)

    Google Scholar 

  38. Wolf-Gladrow, D.: A lattice Boltzmann equation for diffusion. J. Stat. Phys. 79(5–6), 1023–1032 (1995)

    Article  MATH  Google Scholar 

  39. Zhao, Y., Han, Y., Fan, Z., Qiu, F., Kuo, Y.C., Kaufman, A., Mueller, K.: Visual simulation of heat shimmering and mirage. IEEE Trans. Vis. Comput. Graph. 13(1), 179–189 (2007)

    Article  Google Scholar 

  40. Zhao, Y., Qiu, F., Fan, Z., Kaufman, A.: Flow simulation with locally-refined LBM. In: Proceedings of ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, pp. 181–188. ACM Press, Seattle, WA (2007)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ye Zhao.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Zhao, Y. Lattice Boltzmann based PDE solver on the GPU. Visual Comput 24, 323–333 (2008). https://doi.org/10.1007/s00371-007-0191-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00371-007-0191-y

Keywords

Navigation