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.
Similar content being viewed by others
References
http://www.openmp.org
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)
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)
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)
Boris, J.: New directions in computational fluid dynamics. Ann. Rev. Fluid Mechanics 21, 695 (1987)
Buick, J., Greated, C.: Gravity in a lattice Boltzmann model. Phys. Rev. E 51(5), 5307–5319 (2000)
Chu, N., Tai, C.: Moxi: real-time ink dispersion in absorbent paper. ACM Trans. Graph. 24(3), 504–511 (2005)
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)
Desplat, J.C., Pagonabarraga, I., Bladon, P.: LUDWIG: A parallel Lattice–Boltzmann code for complex fluids. Comput. Phys. Commun. 134(3), 273–290 (2001)
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)
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)
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)
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)
He, X., Luo, L.: Lattice Boltzmann model for the incompressible Navier-Stokes equation. J. Stat. Phys. 88(3/4), 927–944 (1997)
Jawerth, B., Lin, P., Sinzinger, E.: Lattice Boltzmann models for anisotropic diffusion of images. J. Math. Imaging Vis. 11, 231–237 (1999)
Jia, J., Sun, J., Tang, C., Shum, H.: Drag-and-drop pasting. In: Proceedings of SIGGRAPH, pp. 631–637. ACM Press, Boston, MA (2006)
Krüger, J., Westermann, R.: Linear algebra operators for GPU implementation of numerical algorithms. ACM Trans. Graph. 22(3), 908–916 (2003)
Lefohn, A., Whitaker, R.: A GPU-based, three-dimensional level set solver with curvature flow. University of Utah technical report UUCS-02-017 (2002)
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)
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)
Massaioli, F., Amati, G.: Optimization and scaling of an open MP LBM code on IBM SP nodes. Scicomp06 Talk (2002)
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)
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)
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)
Perez, P., Gangnet, M., Blake, A.: Poisson image editing. In: Proceedings of SIGGRAPH, pp. 313–318. ACM Press, San Diego, CA (2003)
Perona, P., Malik, J.: Scale-space and edge detection using anisotropic diffusion. IEEE Trans. Pattern Anal. Machine Intell. 12(7), 629–639 (1990)
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)
Rumpf, M., Strzodka, R.: Nonlinear diffusion in graphics hardware. In: Proceedings of Eurographics/IEEE TCVG Symposium on Visualization, pp. 75–84 (2001)
Sramek, M., Kaufman, A.: Alias-free voxelization of geometric objects. IEEE Trans. Vis. Comput. Graph. 5(3), 251–267 (1999)
Stam, J.: Stable fluids. In: Proceedings of SIGGRAPH, pp. 121–128. ACM Press, Los Angeles, CA (1999)
Succi, S.: The Lattice Boltzmann Equation for Fluid Dynamics and Beyond. Numerical Mathematics and Scientific Computation. Oxford University Press, New York (2001)
Taubin, G.: A signal processing approach to fair surface design. In: Proceedings of SIGGRAPH, pp. 351–358. ACM Press, Los Angeles, CA (1995)
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)
van der Sman, R., Ernst, M.: Diffusion lattice Boltzmann scheme on orthorhombic lattice. J. Stat. Phys. 94(1–2), 203–216 (1999)
Wang, S., Kaufman, A.: Volume-sampled 3D modeling. IEEE Comput. Graph. Appl. 14(5), 26–32 (1994)
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)
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)
Wolf-Gladrow, D.: A lattice Boltzmann equation for diffusion. J. Stat. Phys. 79(5–6), 1023–1032 (1995)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-007-0191-y