Skip to main content
Log in

Physically-based smoke simulation for computer graphics: a survey

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

We present an up-to-date survey on physically-based smoke simulation. Physically-based method becomes predominant in smoke simulation in computer graphics community. It prevails over traditional methods for its plausible visual effect. Significant results have been carried out over past two decades. We give a latest overview of state-of-the-art of smoke simulation and also compare various techniques according to their characteristics. We discuss several issues in terms of computational efficiency, numerical stability, numerical dissipation, and runtime performance. A number of open challenging problems are also addressed for further exploration.

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

Similar content being viewed by others

References

  1. Muller M, Stam J, James D et al (2008) Real time physics. ACM SIGGRAPH course, pp 1–3

  2. Fedkiw R, Stam J, Jensen HW (2001) Visual simulation of smoke. In: Proceedings of SIGGRAPH. ACM Press, New York, pp 12–55

    Google Scholar 

  3. Nguyen DQ, Fedkiw R, Jensen HW (2002) Physically based modeling and animation of fire. ACM Trans Graph:721–728

  4. Foster N, Fedkiw R (2001) Practical animation of liquids. In: Proceedings of ACM SIGGRAPH. ACM Press, New York, pp 23–30

    Google Scholar 

  5. Hinsinger D, Neyret F (2002) Interactive animation of ocean waves. In: Proceedings of ACM SIGGRAPH/Eurographics symposium on computer animation

  6. Yngve GD, Obrien JF, Hodgins JK (2000) Animation explosions. In Proceedings of ACM SIGGRAPH 2000 conference proceedings. ACM Press, New York, pp 29–36

    Google Scholar 

  7. Reeves T (1983) Particle system: a technique for modeling a class of fuzzy objects. ACM Trans Graph 2:91–108

    Article  Google Scholar 

  8. Gardner GY (1985) Visual simulation of clouds. In: Proceedings of ACM SIGGRAPH’85 computer graphics conference, vol 19, issue no 3. ACM Press, New York, pp 297–384

    Google Scholar 

  9. Perlin K (1985) An image synthesizer. In: Proceedings of ACM SIGGRAPH’85 computer graphics conference, vol 9, issue no 3. ACM Press, New York, pp 287–296

    Google Scholar 

  10. Ebert DS, Parent RE (1990) Rendering and animation of gaseous phenomena by combining fast volume and scan-line A-buffer techniques. In: Proceedings of ACM SIGGRAPH’90 computer graphics conference, vol 24, issue no 4. ACM Press, New York, pp 357–366

    Google Scholar 

  11. Sakas G (1990) Fast rendering of arbitray distribution volume densities. In: Proceedings of ACM SIGGRAPH/EUROGRAPH. ACM Press, New York, pp 519–530

    Google Scholar 

  12. Stam J, Fiume E (1993) Turbulent windo fields for gaseous phenomena. In: Proceedings of SIGGRAPH’93. ACM Press, New York, pp 369–376

    Google Scholar 

  13. Stam J, Fiume E (1995) Depicting fire other gaseous phenomena using diffusion process. In: Proceedings of SIGGRAPH’95. ACM Press, New York, pp 129–136

    Google Scholar 

  14. Sakas G (1993) Modeling and animating turbulent gaseous phenomena using spectral synthesis. The visual computer, vol 9. Springer, Berlin, pp 200–212

    Google Scholar 

  15. Kajiya JT, von Herzen BP (1984) Ray tracing volume density. Comput Graph (SIGGRAPH 84 Conference Proceedings) 18(3):165–174

    Article  Google Scholar 

  16. Gamito MN, Lopes PF, Gomes MR (1995) Two dimensional simulation of gaseous phenomena using vortex particles. In: Proceedings of the 6th eurographics workshop on computer animation and simulation. Springer-Verlag, pp 3–15

  17. Yaeger L, Upson C (1986) Combining physical and visual simulation - creation of the planet Jupiter for the Film 2010. Comput Graph (SIGGRAPH 86 Conference Proceedings) 20(4):85–93

    Article  Google Scholar 

  18. Foster N, Metaxas D (1996) Realistic animation of liquids. Graph Models Image Process 58(5):471–483

    Article  Google Scholar 

  19. Foster N, Metaxas D (1997) Modeling the motion of a hot, turbulent gas. In: SIGGRAPH’97 conference proceedings, annual conference series, pp 181–188

  20. Stam J (1999) Stable fluids. In: SIGGRAPH’99 conference proceedings, annual conference series, pp 121–128

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

    Article  MATH  Google Scholar 

  22. He S, Wong HC, Pang WM et al (2011) Realtime smoke simulationwith improved turbulence by spatial adaptive vorticity confinement. Comput Animat VirtualWorlds

  23. He S, Lau R (2013) Synthetic controllable turbulence using robust second vorticity confinement. Comput Graph Forum 32(1):27–35

    Article  Google Scholar 

  24. Lentine M, Aanjaneya M, Fedkiw R (2011). Mass and momentum conservation for fluid simulation. In: Eurographics/ ACM SIGGRAPH symposium on computer animation

  25. Park SI, Kim MJ (2005) Vortex fluid for gaseous phenomena. In: Proceedings of ACM SIGGRAPH/Eurographics symposium on computer animation, pp 261–270

  26. Selle A, Rasmussen N, Fedkiw R (2005) A vortex particle method for smoke, water and explosions. In: Proceedings of SIGGRAPH

  27. Angelidis A, Neyret F (2005) Simulation of smoke based on vortex filament primitives. In: Proceedings of the 2005 ACM SIGGRAPH/Eurographics symposium on computer animation, pp 87–96

  28. Angelidis A, Neyret F (2006) A controllable, fast and stable basis for vortex based smoke simulation. In: Proceedings of the ACM SIGGRAPH/Eurographics symposium on computer animation

  29. Pfaff T, Thuerey N, Gross M (2012) Lagrangian vortex sheets for animating fluids. ACM Trans Graph 31(4):1–8

    Article  Google Scholar 

  30. Stock MJ (2006) Fluid simulation and global illumination in open house. In: ACM SIGGRAPH sketches

  31. Zhuang LX, Yi XY et al (2009) Fluid mechanics. Press of China Science and Technology University

  32. Schechter H, Bridson R (2008) Evolving sub-grid turbulence for smoke animation. In: Proceedings of the 2008 ACM/Eurographics symposium on computer animation, pp 1–7

  33. Kim T, Thuerey N, James D et al (2008) Wavelet turbulence for fluid simulation. In: ACM SIGGRAPH, pp 27–33

  34. Pfaff T, Thuerey N, Selle A et al (2009) Synthetic turbulence using artificial boundary layers. ACM Trans Graph 28(5):1–10

    Article  Google Scholar 

  35. Pfaff T, Thuerey N, Cohen J, Tariq S et al (2009) Scalable fluid simulation using anisotropic turbulence particles. ACM Trans Graph 29(6):174–182

    Google Scholar 

  36. Treuille A, Mcnamara A, Popovic Z et al (2003) Keyframe control of smoke simulations. ACM Trans Graph 22(3):716–723

    Article  Google Scholar 

  37. Mcnamara A, Treuille A, Popovic Z et al (2004) Fluid control using the adjoint method. ACM Trans Graph 23(3):449–456

    Article  Google Scholar 

  38. Fattal R, Lischinski D (2004) Target-Driven smoke animation. ACM Trans Graph 23(3):441–448

    Article  Google Scholar 

  39. Yuan Z, Chen F, Zhao Y (2011) Pattern-guided smoke animation with lagrangian coherent structure, ACM SIGGRAPH Asia. ACM Trans Graph 30:6

    Article  Google Scholar 

  40. Stam J (2000) Interating with smoke and fire in realtime. Commun ACM 43(7):76–83

    Article  Google Scholar 

  41. Harris MJ (2004) Fast fluid dynamics simulation on the GPU. In: GPU gems. Addison-Wesley, pp 637–665

  42. Weibann S, Pinkall U (2009) Real-time interactive simulation of smoke using discrete integrable vortex filaments. In: Proc. Vir. Real. Inter Phys Sim 1–10

  43. Crane K, Tariq S, Llamas I (2007) GPU gems 3. Real-time simulation and rendering of 3D fluids

  44. Cohen J, Tariq S, Green S (2010) Interactive fluid particle simulation using translating Eulerian grids. In: Proceedings of the 2010 SIGGRAPH symposium on interactive 3D graphics and games

  45. Dai Q, Yang XB (2013) Interactive smoke simulation and rendering on the GPU. In: Proceedings of the 12th ACM SIGGRAPH international conference on virtual-reality continuum and tts applications in industry, pp 177–182

  46. Sewall J, Galoppo N, Tsankov G, Lin M (2008) Visual simulation of shockwaves. In: Eurographics/ ACM SIGGRAPH symposium on computer animation

  47. Kwatra N, Gretarsson JT, Fedkiw R (2010) Practical animation of compressible flow for ShockWaves and related phenomena. In: Eurographics/ ACM SIGGRAPH symposium on computer animation

  48. Kawada G, Kanai T (2011) Procedural fluid modeling of explosion phenomena based on physical properties. In: Eurographics/ ACM SIGGRAPH symposium on computer animation

  49. Ihm I, Kang B, Cha D (2004) Animation of reactive gaseous fluids through chemical kinetics. In: Proceeding of ACM SIGGRAPH/Eurographics symposium on computer animation, pp 203–212

  50. Kang B, Jang Y, Ihm I (2007) Animation of chemically reactive fluids using a hybrid simulation method. In: Eurographics/ ACM SIGGRAPH symposium on computer animation

  51. Batchelor GK (1965) An introduction to fluid dynamics. Cambridge Mathematical Library

  52. Kim B, Liu Y, Llamas I et al (2005) Flowfixer: using BFECC for fluid simulation. In: Proceedings of Eurographics workshop on natural phenomena

  53. Selle A, Fedkiw R, Kim B et al (2008) An unconditionally stable MacCormack method. J Sci Comput

  54. Jeroen M, Jonathan MC, Sanjit P et al (2008) Low viscosity flow simulations for animation. In: ACM SIGGRAPH/Eurographics symposium on computer animation

  55. Song OY, Shin H, Ko HS (2005) Stable but nondissipative water. ACM Trans Graph 24:81–97

    Article  Google Scholar 

  56. Kim D, Young SO (2008) A semi-Lagrangian cip fluid solver without dimensional splitting. Comput Graph Forum (Proc Eurographics) 27(2):467–475

    Article  Google Scholar 

  57. Huang ZP, Gong GH, Han L (2012) Physically-based modeling, simulation and rendering of fire for computer animation. In: Multimedia tools and applications

  58. Xu YX, Liu SG, Wu LQ (2012) Smoke simulation with two-scale vorticity confinement. Commun Comput Inf Sci 346:467–474

    Article  Google Scholar 

  59. Zhu YN (2005) Master’s thesis: animated sand as a fluid

  60. Zhu Y, Bridson R (2005) Animating sand as a fluid. In: Proceedings of ACM SIGGRAPH, pp 965–972

  61. Stam J (2001) A simple fluid solver based on the FFT. J Graph Tools 6(2):43–52

    Article  MATH  Google Scholar 

  62. Cohen JM, Molemaker MJ (2009) A fast double precision CFD code using CUDA. In: Proceedings of ParCFD’09

  63. Sussman M, Almgren AS, Bell JB et al (1999) An adaptive level set approach for incompressible two-phase flows. J Comput Phys 148(1):81–124

    Article  MathSciNet  MATH  Google Scholar 

  64. McAdams A, Sifakis E, Teran J (2010) A parallel multigrid poisson solver for fluids simulation on large grids. In: Eurographics/ ACM SIGGRAPH symposium on computer animation

  65. Lentine M, Zheng W, Fedkiw R (2010) A then space vovel algorithm for incompressible flow using only a coarse grid projection. ACM Trans Graph

  66. Wu XY, Yang XB, Yang Y (2013) A novel projection technique with detail, shape correction for smoke simulation. Comput Graph Forum 32(2):389–397

    Article  Google Scholar 

  67. Harlow F, Welch J (1965) Numerical calculation of time-dependent viscous incompressible flow of fluid with free surface. Phys Fluids 8:2182–2189

    Article  MATH  Google Scholar 

  68. Bridson R (2008) Fluid simulation for computer graphics. A K Peters Ltd, pp 21–28

  69. Batty C, Bertails F, Bridson R (2007) A fast variational framework for accurate solid-fluid coupling. In: Proceedings of ACM SIGGRAPH

  70. Museth K (2009) An efficient level set toolkit for visual effects. ACM SIGGRAPH 2009 talks

  71. Museth K (2011) DB+Grid: a novel dynamic blocked grid for sparse high-resolution volumes and level sets. ACM SIGGRAPH 2011 talks

  72. Berger M, Oliger J (1984) Adaptive mesh refinement for hyperbolic partial differential equations. J Comput Phys 53:484–512

    Article  MathSciNet  MATH  Google Scholar 

  73. Berger M, Colella P (1989) Local adaptive mesh refinement for shock hydrodynamics. J Comput Phys 82:64–84

    Article  MATH  Google Scholar 

  74. Ahmad N, Bacon D, Boybeyi Z et al (1998) A solution-adaptive grid generation scheme for atmospheric flow simulations. In: 6th international conference on numerical grid generation in computational field simulations, pp 327–335

  75. Losasso F, Gibou F, Fedkiw R (2004) Simulation water and smoke with an octree data structure. In: Proceedings of SIGGRAPH’04, vol 23, issue no 3, pp 457–462

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

    Article  Google Scholar 

  77. Azevedo VC, Oliveira MM (2013) Efficient smoke simulation on curvilinear grids. Comput Graph Forum 32:235–244

    Article  Google Scholar 

  78. Shah M, Cohen J, Patel S et al (2004) Extended galilean invariance for adaptive fluid simulation In: 2004 ACM SIGGRAPH / Eurographics symposium on computer animation, pp 13–221

  79. Zhu B, Lu WL, Cong M, Kim B, Fedkiw R (2013) A new grid structure for domain extension. In: Proceedings SIGGRAPH13, p 32

  80. Elcott S, Tong Y, Kanso E et al (2005) Discrete, circulation preserving, and stable simplicial fluids

  81. Mullen P, Crane K, Pavlov D et al (2009) Energy-preserving integrators for fluid animation. ACM SIGGRAPH 3:28–38

    Google Scholar 

  82. Feldman BE, James F, Bryan M (2005) Animating gases with hybrid meshes. In: The proceedings of ACM SIGGRAPH’05

  83. Feldman BE, Brien JF, Klingner BM et al (2005) Fluids in deforming meshes. In: ACM SIGGRAPH/eurographics symposium on computer animation 2005

  84. Klingner BM, Feldman BE, Chentanez et al (2006) Fluid animation with dynamic meshes. In: Proceedings of ACM SIGGRAPH

  85. Yoon JC, Kam HR et al (2009) Procedural synthesis using vortex particle method for fluid simulation. Comput Graph Forum (Proc Eurographics) 28:7

    Google Scholar 

  86. Weibann S, Pinkall U (2010) Filament-based smoke with vortex shedding and variational reconnection. ACM Trans Graph 29:4

    Google Scholar 

  87. Brochu T, Keeler T, Bridson R (2012) Linear-time smoke animation with vortex sheet meshes. In: ACM SIGGRAPH/Eurographics symposium on computer animation

  88. Plounhans P, Winckelmans GS (2000) Vortex methods for high-resolution simulations of viscous flow past bluff bodies of general geometry. J Comput Phys 165:354–406

    Article  MathSciNet  Google Scholar 

  89. Plounhans P, Winckelmans GS et al (2002) Vortex methods for direct numerical simulation of three-dimensional bluff body flows: application to the sphere at re=300, 500 and 1000. J Comput Phys 178:427–463

    Article  MathSciNet  Google Scholar 

  90. Cottet GH, Koumoutsakos PD (1998) Vortex methods: theory and practice. Cambridge University Press

  91. Wei X, Wei L, Mueller K et al (2004) The Lattice-Boltzmann method for simulation gaseous phenomena. IEEE Trans Vis Comput Graph 10:2

    Article  Google Scholar 

  92. Zhao Y, Qiu F, Fan Z et al (2007) Flow simulation with locally-refined LBM. In: I3D ’07, pp 81–188

  93. Li W, Wei XM, Kaufman A (2003) Implementing lattice boltzmann computation on graphics hardware. The Visual Comput 19:444–456

    Google Scholar 

  94. Evans MW, Harlow FH (1957) The particle-in-cell method for hydrodynamic calculations, p 2139 Los Alamos Scientific Laboratory Report

  95. Brackbill JU, Ruppel HM (1986) FLIP: a method for adaptively zoned, particle-in-cell calculuations of fluid flows in two dimensions. J Comp Phys 65:314–343

    Article  MathSciNet  MATH  Google Scholar 

  96. Ando R, Tsuruno R (2010) High-frequency aware PIC/FLIP in liquid animation. In: SIGGRAPH Asia talk

  97. Camero C (2008) A comparison of grid based techniques for navier stokes fluid simulation in computer graphics. University of California. Master thesis, San Diego

  98. Rasmussen N, Nguyen DQ et al (2003) Smoke simulation for large-scale phenomena. In: Proceedings of SIGGRAPH’03, vol 22, pp 703–707

  99. Kniss J, Hart D (2004) Volume effects: modeling smoke, fire, and clouds. In: Section from ACM SIGGRAPH 2004 courses, real-time volume graphics

  100. Bridson R, Houriham J, Nordenstam M (2007) Curl-noise for procedural fluid flow. ACM SIGGRAPH. ACM Trans Graph 26(3):46

    Article  Google Scholar 

  101. Cook RL, Derose T (2005) Wavelet noise. ACM Graph (Proc SIGGRAPH) 24(3):803–811

    Article  Google Scholar 

  102. Narain R, Sewall J, Carlson M et al (2008) Fast animation of turbulence using energy transport and procedural synthesis. In: ACM SIGGRAPH Asia papers

  103. Nielsen MB, Christensen BB, Zafar NB et al (2009) Guiding of smoke animations through variational coupling of simulations at different resolutions. In: Eurographics/ ACM SIGGRAPH symposium on computer animation

  104. Zhao Y, Yuan Z, Chen F (2010) Enhancing fluid animation with adaptive, controllable and intermittent turbulence. In: Eurographics/ ACM SIGGRAPH symposium on computer animation

  105. Foster N, Metaxas D (1997) Controlling fluid animation. In: Proceedings of CGI’97, pp 178–188

  106. Witting P (1999) Computational fluid dynamics in a traditional animation environment. In: Computer graphics proceedings, ACM SIGGRAPH, pp 129–136

  107. Schpok J, Dwyer W, Ebert DS (2005) Modeling and animating gases with simulation features. Eurographics/ ACM SIGGRAPH symposium on computer animation

  108. Huang RG, Melekz YZ, Keyser J (2011) Preview-based sampling for controlling gaseous simulations. Eurographics/ ACM SIGGRAPH symposium on computer animation

  109. Huang RG, Keyser J (2013) Automated sampling and control of gaseous simulations. Comput 29(8):751–760

    Google Scholar 

  110. Vroeijenstijn K, Henderson RD (2011) Simulating massive dust in megamind. In: ACM SIGGRAPH talks

  111. Hong JM, Kim CH (2004) Controlling fluid animation with geometric potential. Comput Animat Virtual Worlds 15(3):147–157

    Article  MathSciNet  Google Scholar 

  112. Barnat A, Li ZY et al (2011) Mid-level smoke control for 2D animation. The Graphics Interface

  113. Yang B, Liu YQ, You LH, Jin XG (2013) A unified smoke control method based on signed distance field. Comput Graph 37(7):775–786

    Article  Google Scholar 

  114. Horvath C, Geiger W (2009) Directable, high-resolution simulation of fire on the GPU. ACM Trans Graph 28(3):1–8

    Article  Google Scholar 

  115. Wicke M, Stanton M, Treuille A (2009) Modular bases for fluid dynamics. ACM SIGGRAPH Papers 28, Article 39

  116. Choi W, Jeon IY, Yoon JC et al (2011) Fluid simulation without pressure. In: ACM SIGGRAPH posters

  117. Bolz J, Farmer I, Grinspun E et al (2003) Sparse matrix solvers on the GPU: conjugate gradients and multigrid. In: ACM computer graphics (Proc. SIGGRAPH ’03), pp 917–924

  118. Goodnight N, Woolley C, Lewin G et al (2003) A multigrid solver for boundary value problems using programmable graphics hardware. In: Graphics hardware, vol 2003, pp 102–111

  119. Liu YQ, Liu XH, Wu EH (2011) Real-Time 3D fluid simulation on GPU with complex obstacles. The Pacific Graphics

  120. Drone S (2007) Real-time particle systems on the GPU in dynamic environments. In: ACM SIGGRAPH 2007 courses, pp 80–96

  121. Kipfer P, Segal M, Weissmann R (2004) UberFlow: a GPU-based particle engine. In: Graphics hardware, pp 115–122

  122. Golas A, Narain R, Sewall J, Krajcevski P, Dubey P, Lin M (2013) Large-scale fluid simulation using velocity-vorticity domain decomposition. ACM Trans Graph 31(6)

  123. Kim D, Lee SW, Song OY, Ko HS (2012) Baroclinic turbulence with varying density and temperature. IEEE Trans Vis Comput Graph 18(9):1488–1495

    Article  Google Scholar 

  124. Robertson B (2012) Water world. Comput Graph World 35(3)

  125. Gates W (1994) Interactive flow field modeling for the design and control of fluid motion in computer animation. Master thesis. UBC

  126. Kim Y, Machiraju R, Thompson D (2006) Path-based control of smoke simulations, In: SCA’06: Proceedings of the symposium on computer animation

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhanpeng Huang.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Huang, Z., Gong, G. & Han, L. Physically-based smoke simulation for computer graphics: a survey. Multimed Tools Appl 74, 7569–7594 (2015). https://doi.org/10.1007/s11042-014-1992-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-014-1992-4

Keywords

Navigation