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.
Similar content being viewed by others
References
Muller M, Stam J, James D et al (2008) Real time physics. ACM SIGGRAPH course, pp 1–3
Fedkiw R, Stam J, Jensen HW (2001) Visual simulation of smoke. In: Proceedings of SIGGRAPH. ACM Press, New York, pp 12–55
Nguyen DQ, Fedkiw R, Jensen HW (2002) Physically based modeling and animation of fire. ACM Trans Graph:721–728
Foster N, Fedkiw R (2001) Practical animation of liquids. In: Proceedings of ACM SIGGRAPH. ACM Press, New York, pp 23–30
Hinsinger D, Neyret F (2002) Interactive animation of ocean waves. In: Proceedings of ACM SIGGRAPH/Eurographics symposium on computer animation
Yngve GD, Obrien JF, Hodgins JK (2000) Animation explosions. In Proceedings of ACM SIGGRAPH 2000 conference proceedings. ACM Press, New York, pp 29–36
Reeves T (1983) Particle system: a technique for modeling a class of fuzzy objects. ACM Trans Graph 2:91–108
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
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
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
Sakas G (1990) Fast rendering of arbitray distribution volume densities. In: Proceedings of ACM SIGGRAPH/EUROGRAPH. ACM Press, New York, pp 519–530
Stam J, Fiume E (1993) Turbulent windo fields for gaseous phenomena. In: Proceedings of SIGGRAPH’93. ACM Press, New York, pp 369–376
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
Sakas G (1993) Modeling and animating turbulent gaseous phenomena using spectral synthesis. The visual computer, vol 9. Springer, Berlin, pp 200–212
Kajiya JT, von Herzen BP (1984) Ray tracing volume density. Comput Graph (SIGGRAPH 84 Conference Proceedings) 18(3):165–174
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
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
Foster N, Metaxas D (1996) Realistic animation of liquids. Graph Models Image Process 58(5):471–483
Foster N, Metaxas D (1997) Modeling the motion of a hot, turbulent gas. In: SIGGRAPH’97 conference proceedings, annual conference series, pp 181–188
Stam J (1999) Stable fluids. In: SIGGRAPH’99 conference proceedings, annual conference series, pp 121–128
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
He S, Wong HC, Pang WM et al (2011) Realtime smoke simulationwith improved turbulence by spatial adaptive vorticity confinement. Comput Animat VirtualWorlds
He S, Lau R (2013) Synthetic controllable turbulence using robust second vorticity confinement. Comput Graph Forum 32(1):27–35
Lentine M, Aanjaneya M, Fedkiw R (2011). Mass and momentum conservation for fluid simulation. In: Eurographics/ ACM SIGGRAPH symposium on computer animation
Park SI, Kim MJ (2005) Vortex fluid for gaseous phenomena. In: Proceedings of ACM SIGGRAPH/Eurographics symposium on computer animation, pp 261–270
Selle A, Rasmussen N, Fedkiw R (2005) A vortex particle method for smoke, water and explosions. In: Proceedings of SIGGRAPH
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
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
Pfaff T, Thuerey N, Gross M (2012) Lagrangian vortex sheets for animating fluids. ACM Trans Graph 31(4):1–8
Stock MJ (2006) Fluid simulation and global illumination in open house. In: ACM SIGGRAPH sketches
Zhuang LX, Yi XY et al (2009) Fluid mechanics. Press of China Science and Technology University
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
Kim T, Thuerey N, James D et al (2008) Wavelet turbulence for fluid simulation. In: ACM SIGGRAPH, pp 27–33
Pfaff T, Thuerey N, Selle A et al (2009) Synthetic turbulence using artificial boundary layers. ACM Trans Graph 28(5):1–10
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
Treuille A, Mcnamara A, Popovic Z et al (2003) Keyframe control of smoke simulations. ACM Trans Graph 22(3):716–723
Mcnamara A, Treuille A, Popovic Z et al (2004) Fluid control using the adjoint method. ACM Trans Graph 23(3):449–456
Fattal R, Lischinski D (2004) Target-Driven smoke animation. ACM Trans Graph 23(3):441–448
Yuan Z, Chen F, Zhao Y (2011) Pattern-guided smoke animation with lagrangian coherent structure, ACM SIGGRAPH Asia. ACM Trans Graph 30:6
Stam J (2000) Interating with smoke and fire in realtime. Commun ACM 43(7):76–83
Harris MJ (2004) Fast fluid dynamics simulation on the GPU. In: GPU gems. Addison-Wesley, pp 637–665
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
Crane K, Tariq S, Llamas I (2007) GPU gems 3. Real-time simulation and rendering of 3D fluids
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
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
Sewall J, Galoppo N, Tsankov G, Lin M (2008) Visual simulation of shockwaves. In: Eurographics/ ACM SIGGRAPH symposium on computer animation
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
Kawada G, Kanai T (2011) Procedural fluid modeling of explosion phenomena based on physical properties. In: Eurographics/ ACM SIGGRAPH symposium on computer animation
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
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
Batchelor GK (1965) An introduction to fluid dynamics. Cambridge Mathematical Library
Kim B, Liu Y, Llamas I et al (2005) Flowfixer: using BFECC for fluid simulation. In: Proceedings of Eurographics workshop on natural phenomena
Selle A, Fedkiw R, Kim B et al (2008) An unconditionally stable MacCormack method. J Sci Comput
Jeroen M, Jonathan MC, Sanjit P et al (2008) Low viscosity flow simulations for animation. In: ACM SIGGRAPH/Eurographics symposium on computer animation
Song OY, Shin H, Ko HS (2005) Stable but nondissipative water. ACM Trans Graph 24:81–97
Kim D, Young SO (2008) A semi-Lagrangian cip fluid solver without dimensional splitting. Comput Graph Forum (Proc Eurographics) 27(2):467–475
Huang ZP, Gong GH, Han L (2012) Physically-based modeling, simulation and rendering of fire for computer animation. In: Multimedia tools and applications
Xu YX, Liu SG, Wu LQ (2012) Smoke simulation with two-scale vorticity confinement. Commun Comput Inf Sci 346:467–474
Zhu YN (2005) Master’s thesis: animated sand as a fluid
Zhu Y, Bridson R (2005) Animating sand as a fluid. In: Proceedings of ACM SIGGRAPH, pp 965–972
Stam J (2001) A simple fluid solver based on the FFT. J Graph Tools 6(2):43–52
Cohen JM, Molemaker MJ (2009) A fast double precision CFD code using CUDA. In: Proceedings of ParCFD’09
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
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
Lentine M, Zheng W, Fedkiw R (2010) A then space vovel algorithm for incompressible flow using only a coarse grid projection. ACM Trans Graph
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
Harlow F, Welch J (1965) Numerical calculation of time-dependent viscous incompressible flow of fluid with free surface. Phys Fluids 8:2182–2189
Bridson R (2008) Fluid simulation for computer graphics. A K Peters Ltd, pp 21–28
Batty C, Bertails F, Bridson R (2007) A fast variational framework for accurate solid-fluid coupling. In: Proceedings of ACM SIGGRAPH
Museth K (2009) An efficient level set toolkit for visual effects. ACM SIGGRAPH 2009 talks
Museth K (2011) DB+Grid: a novel dynamic blocked grid for sparse high-resolution volumes and level sets. ACM SIGGRAPH 2011 talks
Berger M, Oliger J (1984) Adaptive mesh refinement for hyperbolic partial differential equations. J Comput Phys 53:484–512
Berger M, Colella P (1989) Local adaptive mesh refinement for shock hydrodynamics. J Comput Phys 82:64–84
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
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
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
Azevedo VC, Oliveira MM (2013) Efficient smoke simulation on curvilinear grids. Comput Graph Forum 32:235–244
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
Zhu B, Lu WL, Cong M, Kim B, Fedkiw R (2013) A new grid structure for domain extension. In: Proceedings SIGGRAPH13, p 32
Elcott S, Tong Y, Kanso E et al (2005) Discrete, circulation preserving, and stable simplicial fluids
Mullen P, Crane K, Pavlov D et al (2009) Energy-preserving integrators for fluid animation. ACM SIGGRAPH 3:28–38
Feldman BE, James F, Bryan M (2005) Animating gases with hybrid meshes. In: The proceedings of ACM SIGGRAPH’05
Feldman BE, Brien JF, Klingner BM et al (2005) Fluids in deforming meshes. In: ACM SIGGRAPH/eurographics symposium on computer animation 2005
Klingner BM, Feldman BE, Chentanez et al (2006) Fluid animation with dynamic meshes. In: Proceedings of ACM SIGGRAPH
Yoon JC, Kam HR et al (2009) Procedural synthesis using vortex particle method for fluid simulation. Comput Graph Forum (Proc Eurographics) 28:7
Weibann S, Pinkall U (2010) Filament-based smoke with vortex shedding and variational reconnection. ACM Trans Graph 29:4
Brochu T, Keeler T, Bridson R (2012) Linear-time smoke animation with vortex sheet meshes. In: ACM SIGGRAPH/Eurographics symposium on computer animation
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
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
Cottet GH, Koumoutsakos PD (1998) Vortex methods: theory and practice. Cambridge University Press
Wei X, Wei L, Mueller K et al (2004) The Lattice-Boltzmann method for simulation gaseous phenomena. IEEE Trans Vis Comput Graph 10:2
Zhao Y, Qiu F, Fan Z et al (2007) Flow simulation with locally-refined LBM. In: I3D ’07, pp 81–188
Li W, Wei XM, Kaufman A (2003) Implementing lattice boltzmann computation on graphics hardware. The Visual Comput 19:444–456
Evans MW, Harlow FH (1957) The particle-in-cell method for hydrodynamic calculations, p 2139 Los Alamos Scientific Laboratory Report
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
Ando R, Tsuruno R (2010) High-frequency aware PIC/FLIP in liquid animation. In: SIGGRAPH Asia talk
Camero C (2008) A comparison of grid based techniques for navier stokes fluid simulation in computer graphics. University of California. Master thesis, San Diego
Rasmussen N, Nguyen DQ et al (2003) Smoke simulation for large-scale phenomena. In: Proceedings of SIGGRAPH’03, vol 22, pp 703–707
Kniss J, Hart D (2004) Volume effects: modeling smoke, fire, and clouds. In: Section from ACM SIGGRAPH 2004 courses, real-time volume graphics
Bridson R, Houriham J, Nordenstam M (2007) Curl-noise for procedural fluid flow. ACM SIGGRAPH. ACM Trans Graph 26(3):46
Cook RL, Derose T (2005) Wavelet noise. ACM Graph (Proc SIGGRAPH) 24(3):803–811
Narain R, Sewall J, Carlson M et al (2008) Fast animation of turbulence using energy transport and procedural synthesis. In: ACM SIGGRAPH Asia papers
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
Zhao Y, Yuan Z, Chen F (2010) Enhancing fluid animation with adaptive, controllable and intermittent turbulence. In: Eurographics/ ACM SIGGRAPH symposium on computer animation
Foster N, Metaxas D (1997) Controlling fluid animation. In: Proceedings of CGI’97, pp 178–188
Witting P (1999) Computational fluid dynamics in a traditional animation environment. In: Computer graphics proceedings, ACM SIGGRAPH, pp 129–136
Schpok J, Dwyer W, Ebert DS (2005) Modeling and animating gases with simulation features. Eurographics/ ACM SIGGRAPH symposium on computer animation
Huang RG, Melekz YZ, Keyser J (2011) Preview-based sampling for controlling gaseous simulations. Eurographics/ ACM SIGGRAPH symposium on computer animation
Huang RG, Keyser J (2013) Automated sampling and control of gaseous simulations. Comput 29(8):751–760
Vroeijenstijn K, Henderson RD (2011) Simulating massive dust in megamind. In: ACM SIGGRAPH talks
Hong JM, Kim CH (2004) Controlling fluid animation with geometric potential. Comput Animat Virtual Worlds 15(3):147–157
Barnat A, Li ZY et al (2011) Mid-level smoke control for 2D animation. The Graphics Interface
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
Horvath C, Geiger W (2009) Directable, high-resolution simulation of fire on the GPU. ACM Trans Graph 28(3):1–8
Wicke M, Stanton M, Treuille A (2009) Modular bases for fluid dynamics. ACM SIGGRAPH Papers 28, Article 39
Choi W, Jeon IY, Yoon JC et al (2011) Fluid simulation without pressure. In: ACM SIGGRAPH posters
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
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
Liu YQ, Liu XH, Wu EH (2011) Real-Time 3D fluid simulation on GPU with complex obstacles. The Pacific Graphics
Drone S (2007) Real-time particle systems on the GPU in dynamic environments. In: ACM SIGGRAPH 2007 courses, pp 80–96
Kipfer P, Segal M, Weissmann R (2004) UberFlow: a GPU-based particle engine. In: Graphics hardware, pp 115–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)
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
Robertson B (2012) Water world. Comput Graph World 35(3)
Gates W (1994) Interactive flow field modeling for the design and control of fluid motion in computer animation. Master thesis. UBC
Kim Y, Machiraju R, Thompson D (2006) Path-based control of smoke simulations, In: SCA’06: Proceedings of the symposium on computer animation
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-014-1992-4