Skip to main content

Advertisement

Log in

Real-time smoke simulation based on vorticity preserving lattice Boltzmann method

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

Abstract

It is crucial to achieve high efficiency and to preserve fine-grid details in 3D interactive smoke simulation. In this paper, we present a vorticity preserving lattice Boltzmann method (VPLBM) to simulate high-resolution motion of smoke in real time. We design the method based on lattice Boltzmann method (LBM), which is parallelism-friendly, to ensure the efficiency on parallel computing devices such as graphic processing units (GPUs). To resolve the vorticity dissipation issue in LBM, we further propose an LBM-based vorticity transport method which tracks the magnitude of vorticity during the simulation. We apply vorticity confinement according to the tracked vorticity, and therefore, our method can preserve the detailed motion of smoke. Our method is forward-iterative and contains three weakly dependent distribution functions: two for thermal LBM and one for vorticity tracking. Finally, we show an implementation of a parallel smoke simulator integrating VPLBM method on a dual-GPU platform. Using a fast ray marching method, the simulator shows realistic visual effect and achieves 157.3 frames per second on a \(64 \times 64 \times 128\) fine grid.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

References

  1. Alim, U.R.: The lattice-Boltzmann model for the visual simulation of smoke. Ph.D. thesis, Rochester Institute of Technology (2007)

  2. Alim, U.R., Entezari, A., Moller, T.: The lattice-Boltzmann method on optimal sampling lattices. IEEE Trans. Vis. Comput. Graph. 15, 630–641 (2009)

    Article  Google Scholar 

  3. Angelidis, A., Neyret, F.: Simulation of smoke based on vortex filament primitives. In: Proceedings of the 2005 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, ACM, pp. 87–96 (2005)

  4. Angelidis, A., Neyret, F., Singh, K., Nowrouzezahrai, D.: A controllable, fast and stable basis for vortex based smoke simulation. In: Proceedings of the 2006 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, Eurographics Association, pp. 25–32 (2006)

  5. Azevedo, V.C., Oliveira, M.M.: Efficient smoke simulation on curvilinear grids. Comput. Graph. Forum Wiley Online Libr. 32, 235–244 (2013)

    Article  Google Scholar 

  6. Bailey, P., Myre, J., Walsh, S.D., Lilja, D.J., Saar, M.O.: Accelerating lattice Boltzmann fluid flow simulations using graphics processors. In: International Conference on Parallel Processing, 2009. ICPP’09, IEEE, pp. 550–557 (2009)

  7. Bender, J., Koschier, D.: Divergence-free smoothed particle hydrodynamics. In: Proceedings of the 14th ACM SIGGRAPH/Eurographics Symposium on Computer Animation, ACM, pp. 147–155 (2015)

  8. Bernaschi, M., Fatica, M., Melchionna, S., Succi, S., Kaxiras, E.: A flexible high-performance lattice Boltzmann gpu code for the simulations of fluid flows in complex geometries. Concurr. Comput. Pract. Exp. 22, 1–14 (2010)

    Article  Google Scholar 

  9. Bolz, J., Farmer, I., Grinspun, E., Schröoder, P.: Sparse matrix solvers on the GPU: conjugate gradients and multigrid. In: ACM Transactions on Graphics (TOG), ACM, vol 22, pp. 917–924 (2003)

  10. Brochu, T., Keeler, T., Bridson, R.: Linear-time smoke animation with vortex sheet meshes. In: Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, Eurographics Association, pp. 87–95 (2012)

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

    Article  MathSciNet  MATH  Google Scholar 

  12. Chen, S., Chen, H., Martnez, D., Matthaeus, W.: Lattice Boltzmann model for simulation of magnetohydrodynamics. Phys. Rev. Lett. 67, 3776 (1991)

    Article  Google Scholar 

  13. d’Humieres, D.: Generalized lattice-Boltzmann equations. Progr. Astronaut. Aeronaut. 159, 450–450 (1994)

    Google Scholar 

  14. Dixit, H., Babu, V.: Simulation of high rayleigh number natural convection in a square cavity using the lattice Boltzmann method. Int. J. Heat Mass Transf. 49, 727–739 (2006)

    Article  MATH  Google Scholar 

  15. Fedkiw, R., Stam, J., Jensen, H.W.: Visual simulation of smoke. In: Proceedings of the 28th Annual Conference On Computer Graphics And Interactive Techniques, ACM, pp. 15–22 (2001)

  16. Feichtinger, C., Habich, J., Köstler, H., Hager, G., Rüde, U., Wellein, G.: A flexible patch-based lattice Boltzmann parallelization approach for heterogeneous GPU-CPU clusters. Parallel Comput. 37, 536–549 (2011)

    Article  MathSciNet  Google Scholar 

  17. He, S., Lau, R.W.: Synthetic controllable turbulence using robust second vorticity confinement. Comput. Graph. Forum Wiley Online Libr. 32, 27–35 (2013)

    Article  Google Scholar 

  18. He, S., Wong, H.C., Pang, W.M., Wong, U.H.: Real-time smoke simulation with improved turbulence by spatial adaptive vorticity confinement. Comput. Anim. Virtual Worlds 22(2–3), 107–114 (2011)

    Article  Google Scholar 

  19. He, X., Chen, S., Doolen, G.D.: A novel thermal model for the lattice Boltzmann method in incompressible limit. J. Comput. Phys. 146, 282–300 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  20. Huang, R., Keyser, J.: Automated sampling and control of gaseous simulations. Vis. Comput. 29(6–8), 751–760 (2013)

    Article  Google Scholar 

  21. Jami, M., Moufekkir, F., Mezrhab, A., Fontaine, J.P., Bouzidi, M.: New thermal MRT lattice Boltzmann method for simulations of convective flows. Int. J. Therm. Sci. 100, 98–107 (2016)

    Article  Google Scholar 

  22. Kim, B., Liu, Y., Llamas, I., Rossignac, J.R.: Flowfixer: using BFECC for fluid simulation. Tech. rep. Georgia Institute of Technology (2005)

  23. Koelman, J.: A simple lattice Boltzmann scheme for Navier–Stokes fluid flow. EPL (Europhys. Lett.) 15, 603 (1991)

    Article  Google Scholar 

  24. Kuznik, F., Obrecht, C., Rusaouen, G., Roux, J.J.: LBM based flow simulation using GPU computing processor. Comput. Math. Appl. 59, 2380–2392 (2010)

    Article  MATH  Google Scholar 

  25. Lallemand, P., Luo, L.S.: Theory of the lattice Boltzmann method: dispersion, dissipation, isotropy, Galilean invariance, and stability. Phys. Rev. E 61, 6546 (2000)

    Article  MathSciNet  Google Scholar 

  26. Li, W., Wei, X., Kaufman, A.: Implementing lattice Boltzmann computation on graphics hardware. Vis. Comput. 19, 444–456 (2003)

    Article  Google Scholar 

  27. Li, X., Liu, L., Wu, W., Liu, X., Wu, E.: Dynamic BFECC characteristic mapping method for fluid simulations. Vis. Comput. 30(6–8), 787–796 (2014)

    Article  Google Scholar 

  28. Li, X., Duan, J., Xiao, B.: GMRES polynomial pretreatment algorithm to optimize the smoke simulation solution of the Navier–Stokes equations. In: Advanced Information Management, Communicates, Electronic and Automation Control Conference (IMCEC), 2016 IEEE, IEEE, pp 1757–1760 (2016)

  29. Losasso, F., Gibou, F., Fedkiw, R.: Simulating water and smoke with an octree data structure. In: ACM Transactions on Graphics (TOG), ACM, vol 23, pp 457–462 (2004)

  30. Mei, R., Shyy, W., Yu, D., Luo, L.S.: Lattice Boltzmann method for 3-D flows with curved boundary. J. Comput. Phys. 161, 680–699 (2000)

    Article  MATH  Google Scholar 

  31. Meng, Z., Weixin, S., Yinling, Q., Hanqiu, S., Jing, Q., Heng, P.A.: Vortex filaments in grids for scalable, fine smoke simulation. IEEE Comput. Graph. Appl. 35, 60–68 (2015)

    Article  Google Scholar 

  32. Mezrhab, A., Moussaoui, M.A., Jami, M., Naji, H., Bouzidi, M.: Double MRT thermal lattice Boltzmann method for simulating convective flows. Phys. Lett. A 374, 3499–3507 (2010)

    Article  MATH  Google Scholar 

  33. Mohamad, A., Kuzmin, A.: A critical evaluation of force term in lattice Boltzmann method, natural convection problem. Int. J. Heat Mass Transf. 53, 990–996 (2010)

    Article  MATH  Google Scholar 

  34. Mohamad, A.A.: Lattice Boltzmann Method: Fundamentals and Engineering Applications with Computer Codes. Springer, Berlin (2011)

    Book  MATH  Google Scholar 

  35. Müller, M., Charypar, D., Gross, M.: Particle-based fluid simulation for interactive applications. In: Proceedings of the 2003 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, Eurographics Association, pp. 154–159 (2003)

  36. Obrecht, C., Kuznik, F., Tourancheau, B., Roux, J.J.: A new approach to the lattice Boltzmann method for graphics processing units. Comput. Math. Appl. 61, 3628–3638 (2011)

    Article  MATH  Google Scholar 

  37. Obrecht, C., Kuznik, F., Tourancheau, B., Roux, J.J.: Multi-GPU implementation of the lattice Boltzmann method. Comput. Math. Appl. 65, 252–261 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  38. Pfaff, T., Thuerey, N., Gross, M.: Lagrangian vortex sheets for animating fluids. ACM Trans. Graph. (TOG) 31, 112 (2012)

    Article  Google Scholar 

  39. Qian, Y., d’Humières, D., Lallemand, P.: Lattice BGK models for Navier–Stokes equation. EPL (Europhys. Lett.) 17, 479 (1992)

    Article  MATH  Google Scholar 

  40. Rasmussen, N., Nguyen, D.Q., Geiger, W., Fedkiw, R.: Smoke simulation for large scale phenomena. In: ACM Transactions on Graphics (TOG), ACM, vol. 22, pp. 703–707 (2003)

  41. Rinaldi, P.R., Dari, E., Vénere, M.J., Clausse, A.: A lattice-Boltzmann solver for 3D fluid simulation on GPU. Simul. Modell. Pract. Theory 25, 163–171 (2012)

    Article  Google Scholar 

  42. Rüde, U., Thürey, N.: Free surface lattice-Boltzmann fluid simulations with and without level sets. In: Proceedings of Vision, Modeling and Visualization, p. 199 (2004)

  43. Sato, S., Dobashi, Y., Yue, Y., Iwasaki, K., Nishita, T.: Incompressibility-preserving deformation for fluid flows using vector potentials. Vis. Comput. 31(6–8), 959–965 (2015)

    Article  Google Scholar 

  44. Schönherr, M., Kucher, K., Geier, M., Stiebler, M., Freudiger, S., Krafczyk, M.: Multi-thread implementations of the lattice Boltzmann method on non-uniform grids for CPUS and GPUS. Comput. Math. Appl. 61, 3730–3743 (2011)

    Article  Google Scholar 

  45. Selle, A., Rasmussen, N., Fedkiw, R.: A vortex particle method for smoke, water and explosions. In: ACM Transactions on Graphics (TOG), ACM, vol. 24, pp. 910–914 (2005)

  46. Selle, A., Fedkiw, R., Kim, B., Liu, Y., Rossignac, J.: An unconditionally stable maccormack method. J. Sci. Comput. 35, 350–371 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  47. Setaluri, R., Aanjaneya, M., Bauer, S., Sifakis, E.: SPGrid: a sparse paged grid structure applied to adaptive smoke simulation. ACM Trans. Graph. (TOG) 33, 205 (2014)

    Article  Google Scholar 

  48. Solenthaler, B., Pajarola, R.: Predictive-corrective incompressible SPH. In: ACM Transactions on Graphics (TOG), ACM, vol. 28, p. 40 (2009)

  49. Stam, J.: Stable fluids. In: Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques, ACM Press/Addison-Wesley Publishing Co., pp. 121–128 (1999)

  50. Steinhoff, J., Underhill, D.: Modification of the euler equations for vorticity confinement: application to the computation of interacting vortex rings. Phys. Fluids 6, 2738–2744 (1994)

    Article  MATH  Google Scholar 

  51. Thürey, N., Rüde, U.: Stable free surface flows with the lattice Boltzmann method on adaptively coarsened grids. Comput. Vis. Sci. 12, 247–263 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  52. Tölke, J.: Implementation of a lattice Boltzmann kernel using the compute unified device architecture developed by nVIDIA. Comput. Vis. Sci. 13, 29 (2010)

    Article  Google Scholar 

  53. Wei, X., Li, W., Mueller, K., Kaufman, A.E.: The lattice-Boltzmann method for simulating gaseous phenomena. IEEE Trans. Vis. Comput. Graph. 10, 164–176 (2004)

    Article  Google Scholar 

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

    Article  Google Scholar 

  55. Wu, X., Yang, X., Yang, Y.: A novel projection technique with detail capture and shape correction for smoke simulation. Comput. Graph. Forum Wiley Online Libr. 32, 389–397 (2013)

    Article  Google Scholar 

  56. Xian, W., Takayuki, A.: Multi-GPU performance of incompressible flow computation by lattice Boltzmann method on GPU cluster. Parallel Comput. 37, 521–535 (2011)

    MathSciNet  Google Scholar 

  57. Yoon, J.C., Kam, H.R., Hong, J.M., Kang, S.J., Kim, C.H.: Procedural synthesis using vortex particle method for fluid simulation. Comput. Graph. Forum Wiley Online Libr. 28, 1853–1859 (2009)

    Article  Google Scholar 

  58. Zhang, G., Zhu, D., Qiu, X., Wang, Z.: Skeleton-based control of fluid animation. Vis. Comput. 27(3), 199–210 (2011)

    Article  Google Scholar 

  59. Zhang, X., Bridson, R.: A PPPM fast summation method for fluids and beyond. ACM Trans. Graph. (TOG) 33, 206 (2014)

    MATH  Google Scholar 

  60. Zhang, X., Bridson, R., Greif, C.: Restoring the missing vorticity in advection-projection fluid solvers. ACM Trans. Graph. (TOG) 34, 52 (2015)

    Google Scholar 

  61. Zhao-Li, G., Chu-Guang, Z., Bao-Chang, S.: Non-equilibrium extrapolation method for velocity and pressure boundary conditions in the lattice Boltzmann method. Chin. Phys. 11, 366 (2002)

    Article  Google Scholar 

  62. Zhu, Y., Bridson, R.: Animating sand as a fluid. In: ACM Transactions on Graphics (TOG), ACM, vol. 24, pp. 965–972 (2005)

  63. Zuo, Q., Qi, Y., Qin, H.: A novel, integrated smoke simulation design method supporting local projection and guiding control over adaptive grids. Vis. Comput. 29(9), 883–892 (2013)

    Article  Google Scholar 

Download references

Acknowledgements

This work is supported by National Key Basic Research Program of China (No. 2016YFB0100900) and National Natural Science Foundation of China (No. 61171113 and No. 61773231).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Huimin Ma.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (mp4 112911 KB)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wen, J., Ma, H. Real-time smoke simulation based on vorticity preserving lattice Boltzmann method. Vis Comput 35, 1279–1292 (2019). https://doi.org/10.1007/s00371-018-1514-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00371-018-1514-x

Keywords

Navigation