Evolving Sub-Grid Turbulence For Smoke Animation
Evolving Sub-Grid Turbulence For Smoke Animation
Evolving Sub-Grid Turbulence For Smoke Animation
Abstract
We introduce a simple turbulence model for smoke animation, qualitatively capturing the transport, diffusion, and
spectral cascade of turbulent energy unresolved on a typical simulation grid. We track the mean kinetic energy
per octave of turbulence in each grid cell, and a novel “net rotation” variable for modeling the self-advection of
turbulent eddies. These additions to a standard fluid solver drive a procedural post-process, layering plausible
dynamically evolving turbulent details on top of the large-scale simulated motion. Finally, to make the most of the
simulation grid before jumping to procedural sub-grid models, we propose a new multistep predictor to alleviate
the nonphysical dissipation of angular momentum in standard graphics fluid solvers.
Categories and Subject Descriptors (according to ACM CCS): I.3.7 [Computer Graphics]: Three-Dimensional
Graphics and Realism
1. Contributions
Animating turbulent fluid velocity fields, from the delicate
swirls of milk stirred into coffee to the violent roiling of a
volcanic eruption, poses serious challenges. While the look
of the large-scale components of motion are well captured by
direct simulation of the fluid equations, increasing the grid
resolution to capture the smallest turbulent scales hits a se-
vere scalability problem. The usual solution of augmenting
a coarse simulation with procedurally synthesized turbulent
detail generally is limited by the visual implausibility of this
detail: while some statistics or invariants may be matched,
visually important aspects of the time evolution of turbu-
lence are still missing.
This paper attempts to bridge the gap by introducing a tur-
bulence model that simulates the transfer of energy in sub-
grid scales, then providing a procedural method for instanti-
ating a high resolution turbulent velocity field from this data,
ferred to procedural models when feasible, we address one
which can be evaluated on the fly for a marker particle pass
of the chief remaining sources of nonphysical energy dissi-
when rendering. For each octave of sub-grid detail, in each
pation in graphics fluid solvers, adding a predictor step to the
grid cell, we evolve both a kinetic energy density E and a net
usual time splitting of the incompressible Euler equations.
rotation θ for generating the turbulence.
This helps make the most of a limited grid size.
In addition, since full fluid simulation is generally pre-
2. Background
† e-mail: [email protected] The field of turbulence modeling is vast; for an overview we
‡ e-mail: [email protected] refer readers to the recent text by Pope [Pop05] or the earlier
used to rotate the gradients in flow noise [PN01]. The flow 3. Characterizing Sub-Grid Turbulence
noise is then used to distort a texture map (e.g. a smoke- Our goal is to simulate the average behavior of the sub-grid
like hypertexture), with smooth regeneration of texture de- turbulence, leaving the details of instantiating a plausible ve-
tail via blending of the original when total deformation has locity field to a post-simulation phase. In particular, we want
increased past a limit. We instead track (and conserve in all to describe the turbulence without recourse to higher reso-
but the finest octave) kinetic energy, include the spatial dif- lution grids. Note that we assume that the combination of
fusion of kinetic energy, and properly decouple the rotation FLIP with our new multistep time integration will capture
of nearby gradient vectors in flow noise (so not all of the gra- all grid-level turbulence directly in simulation, thus we only
dient vectors in one simulation cell are rotated with the same focus on the missing sub-grid part.
vorticity); we further combine it with curl-noise to produce
velocity fields for marker particle advection in rendering. We extend the k − ε approach of tracking mean kinetic en-
ergy density: instead of a single total kinetic energy density
Our predictor method for reducing nonphysical rotational per grid cell, we break it up into octaves corresponding to
dissipation in the large-scale fluid simulation also has an- spatial frequency bands (similar to the usual notion of “tur-
tecedents in CFD and graphics. The chief culprits are in bulence” textures in graphics). For example, with three oc-
the treatment of the advection term in the momentum equa- taves we store three kinetic energy densities in each grid cell
(1) (2) (3)
tion. Fedkiw et al. [FSJ01] observed that some of the strong (i, j, k): Ei jk , Ei jk , and Ei jk , using E instead of the tradi-
numerical dissipation of the trilinear interpolation semi- tional k to avoid confusion with grid cell indices. The first,
Lagrangian method introduced by Stam [Sta99] can be re- E (1) , corresponds to the components with wavelengths ap-
duced by using a sharper Catmull-Rom-based interpolant in- proximately between ∆x and 12 ∆x, the E (2) value for wave-
stead; many other improvements to pure advection followed lengths between 12 ∆x and 41 ∆x, etc. This allows us to track
(e.g. Kim et al.’s BFECC approach [KLLR05]) culminating the transfer of energy in spectrum as well as space—opening
in Zhu and Bridson’s FLIP method [ZB05] which essentially the door to handling the transition from laminar to turbulent
eliminates all numerical dissipation from advection via use flow, or the unsteady evolution and decay of unsustained tur-
of particles. However, this is not the only source of dissipa- bulence. This still has attractive scalability: to increase the
tion: the first order time splitting used in graphics, where ve- apparent resolution of a simulation by a factor of 2k our
locities are separately advected and then projected to be in- memory use only increases by O(n3 k). We cannot distin-
compressible, also introduces large errors. In particular, an- guish variations in turbulent energy at sub-grid resolution,
gular momentum is not conserved even with a perfect advec- but since the turbulent energy undergoes a diffusion process,
tion step, as can readily be seen if a rigidly rotating fluid is sub-grid variations shouldn’t be visually significant.
advected by 90◦ in one time step: the angular velocity would
be entirely transferred into a divergent field, which pressure We also address the issue of temporal coherence in the
projection would subsequently zero out. In the scientific lit- turbulence field. While the energy density is enough to pro-
erature, predictor-corrector, multistep or Runge-Kutta meth- cedurally synthesize a plausible velocity field for a single
ods are used in conjunction with high resolution discretiza- frame, we want to reflect the correlation from one frame to
tions of the advection term and small time steps to avoid the next. Inspired by flow noise [PN01] we add an additional
(b)
this problem. However, these aren’t directly applicable to scalar variable θi jk in each grid cell for each octave, an es-
the large time steps taken with semi-Lagrangian advection timate of the average amount of rotation in that region of
or FLIP in graphics. space up to the current time caused by the turbulent compo-
nents, i.e. the time integral of the magnitude of vorticity at a
Vorticity confinement [FSJ01] helps recover some of the fixed location in space. We use this to directly control flow
lost angular momentum, by adding artificial forces to en- noise when instantiating velocities.
hance spin around local maxima of the existing vorticity.
Selle et al. [SRF05] extended this with spin particles, to 4. Evolving Sub-Grid Turbulence
boost the smallest-scale vorticity present on the grid. How-
ever neither technique is applicable to the simplest case, re- We break up the problem into plausibly evolving the kinetic
(b)
ducing the dissipation in rigid rotation, and thus we propose energies Ei jk and separately updating the θ angles.
a more general solution in this paper.
4.1. Energy Evolution
We also note that alternative approaches to fluid simu-
lation, in particular vortex particle methods (e.g. [YUM86, Note that the large-scale flow on the grid transports with it
Gam95, AN05, PK05]), do not suffer from this dissipation. small-scale turbulent components. Therefore, just as in the
However vorticity methods have their own share of prob- k − ε model we begin with advecting the kinetic energy den-
lems, particular in 3D, such as in handling free surface sities with the usual fluid variables in the simulation.
and solid boundary conditions, thus most work has centred In addition, the enhanced mixing of turbulent flow is usu-
around velocity/pressure methods. ally modeled as a nonlinear spatial diffusion term, spreading
were forced to include energy in all octaves right from the [KH04] K NISS J., H ART D.: Volume effects: model-
start; there thus appears to be too much fine-scale detail ini- ing smoke, fire, and clouds, 2004. Section from ACM
tially, but not enough mid-scale turbulent mixing. The full SIGGRAPH 2004 courses, Real-Time Volume Graphics,
evolution model instead shows the spectral cascade, with http://www.cs.unm.edu/ jmk/sig04_modeling.ppt.
the smallest-scale vortices only appearing naturally as en- [KLLR05] K IM B., L IU Y., L LAMA I., ROSSIGNAC J.:
ergy reaches them, and the spatial diffusion lets the turbulent FlowFixer: using BFECC for fluid simulation. In Proc.
mixing extend further into the flow breaking up symmetries Eurographics Workshop on Natural Phenomena (2005).
better.
[KTJG08] K IM T., T HÜREY N., JAMES D., G ROSS M.:
Wavelet turbulence for fluid simulation. ACM Trans.
8. Conclusions Graph. (Proc. SIGGRAPH) (2008).
We presented both a new sub-grid turbulence evolution [Ney03] N EYRET F.: Advected textures. In Proc. ACM
model and a new predictor step for fluid simulation, with SIGGRAPH/Eurographics Symp. Comp. Anim. (2003),
the goal of getting closer to high quality smoke simulation. pp. 147–153.
At present our model remains too simplistic for scientific va-
lidity, but we argue it captures much of the qualitative look [PK05] PARK S. I., K IM M. J.: Vortex fluid for gaseous
of real turbulence. phenomena. In Proc. ACM SIGGRAPH/Eurographics
Symp. Comp. Anim. (2005).
There are many directions for future work, beyond simply
[PN01] P ERLIN K., N EYRET F.: Flow noise.
improving the accuracy of our model: in particular, we high-
In ACM SIGGRAPH Technical Sketches and
light the question of how to automatically pull energy from
Applications (2001), p. 187. http://www-
the large-scale simulation into the first turbulent octave. Ide-
evasion.imag.fr/Publications/2001/PN01/.
ally a solution to this would not perturb stable laminar re-
gions of flow, but naturally cause a transition to turbulence [Pop05] P OPE S. B.: Turbulent Flows. Cambridge Uni-
when an instability is detected. versity Press, 2005.
[RNGF03] R ASMUSSEN N., N GUYEN D., G EIGER W.,
Acknowledgements F EDKIW R.: Smoke simulation for large scale phenom-
ena. ACM Trans. Graph. (Proc. SIGGRAPH) 22 (2003),
This work was supported in part by a grant from the Natural 703–707.
Sciences and Engineering Research Council of Canada, and
by a scholarship from BC Innovation Council and Precarn [SF92] S HINYA M., F OURNIER A.: Stochastic motion:
Incorporated. Motion under the influence of wind. In Proc. Eurograph-
ics (1992), pp. 119–128.
References [SF93] S TAM J., F IUME E.: Turbulent wind fields for
gaseous phenomena. In Proc. ACM SIGGRAPH (1993),
[AN05] A NGELIDIS A., N EYRET F.: Simulation of pp. 369–376.
smoke based on vortex filament primitives. In Proc. ACM
SIGGRAPH/Eurographics Symp. Comp. Anim. (2005). [SRF05] S ELLE A., R ASMUSSEN N., F EDKIW R.: A
vortex particle method for smoke, water and explosions.
[BHN07] B RIDSON R., H OURIHAN J., N ORDENSTAM ACM Trans. Graph. (Proc. SIGGRAPH) (2005), 910–
M.: Curl-noise for procedural fluid flow. ACM Trans. 914.
Graph. (Proc. SIGGRAPH) 26, 3 (2007).
[Sta99] S TAM J.: Stable fluids. In Proc. SIGGRAPH
[BMF07] B RIDSON R., M ÜLLER -F ISCHER M.: Fluid (1999), pp. 121–128.
simulation, 2007. ACM SIGGRAPH 2007 courses.
[TL72] T ENNEKES H., L UMLEY J. L.: A first course in
[CD05] C OOK R. L., D E R OSE T.: Wavelet noise. ACM turbulence. MIT Press, 1972.
Trans. Graph. (Proc. SIGGRAPH) 24, 3 (2005), 803–811.
[YUM86] YAEGER L., U PSON C., M YERS R.: Combin-
[FSJ01] F EDKIW R., S TAM J., J ENSEN H. W.: Vi- ing physical and visual simulation—creation of the planet
sual simulation of smoke. In Proc. SIGGRAPH (2001), jupiter for the film 2010. In Proc. ACM SIGGRAPH
pp. 15–22. (1986), pp. 85–93.
[Gam95] G AMITO M. N.: Two dimensional Simulation
[ZB05] Z HU Y., B RIDSON R.: Animating sand as a fluid.
of Gaseous Phenomena Using Vortex Particles. In Proc.
ACM Trans. Graph. (Proc. SIGGRAPH) (2005), 965–
of the 6th Eurographics Workshop on Comput. Anim. and
972.
Sim. (1995), Springer-Verlag, pp. 3–15.
[HN67] H ARLOW F. H., NAKAYAMA P. I.: Turbulence
transport equations. Phys. Fluids 10, 11 (1967), 2323–
2332.