Content uploaded by Andrew Selle

Author content

All content in this area was uploaded by Andrew Selle on Apr 03, 2015

Content may be subject to copyright.

A Vortex Particle Method for Smoke, Water and Explosions

Andrew Selle∗

Stanford University

Intel Corporation

Nick Rasmussen†

Industrial Light + Magic Ronald Fedkiw‡

Stanford University

Industrial Light + Magic

Figure 1: Vortex particles seeded at the inﬂow (left) create turbulence in water ﬂowing from left to right. The top and bottom show lower and

higher amounts of particle induced vorticity. (320 ×128 ×320 effective resolution octree grid, approximately 600 vortex particles)

Abstract

Vorticity conﬁnement reintroduces the small scale detail lost when

using efﬁcient semi-Lagrangian schemes for simulating smoke and

ﬁre. However, it only ampliﬁes the existing vorticity, and thus can

be insufﬁcient for highly turbulent effects such as explosions or

rough water. We introduce a new hybrid technique that makes syn-

ergistic use of Lagrangian vortex particle methods and Eulerian grid

based methods to overcome the weaknesses of both. Our approach

uses vorticity conﬁnement itself to couple these two methods to-

gether. We demonstrate that this approach can generate highly tur-

bulent effects unachievable by standard grid based methods, and

show applications to smoke, water and explosion simulations.

CR Categories: I.3.5 [Computer Graphics]: Computational

Geometry and Object Modeling—Physically based modeling;

Keywords: vortex methods, ﬂuids, smoke, water, explosions

∗e-mail: aselle@graphics.stanford.edu

†e-mail:nick@ilm.com

‡e-mail:fedkiw@cs.stanford.edu

1 Introduction

While the numerical simulation of ﬂuids is now common in the

special effects industry, highly turbulent phenomena such as explo-

sions remain challenging. It is difﬁcult to resolve these effects even

on the highest resolution grids using state of the art techniques. Re-

gardless, directors frequently desire these exciting and compelling

effects, and ﬁlming them practically is not always possible espe-

cially when complex camera motions (such as ﬂying through an

explosion) are required.

The recent popularity of computer graphic smoke simulation using

the three dimensional Navier-Stokes equations approximately be-

gan with [Foster and Metaxas 1997]. The practicality of this was

enhanced through the introduction of semi-Lagrangian advection

techniques in [Stam 1999] and vorticity conﬁnement in [Fedkiw

et al. 2001] (see also [Steinhoff and Underhill 1994]). Despite the

usefulness of this approach, some major drawbacks remain. For

example, a three dimensional computational grid requires a lot of

memory, so it can be difﬁcult to simulate large scale phenomena.

Also, vorticity conﬁnement can only amplify existing grid vorticity,

so if the resolution of the grid is not ﬁne enough to capture object

interaction, combusting fuel pockets, upwelling, etc., vorticity con-

ﬁnement cannot recover them.

[Losasso et al. 2004] simulated smoke and water on an octree grid

addressing the memory requirements to some degree, however it

can be difﬁcult to choose reﬁnement criteria that ensure adequate

grid resolution everywhere interesting ﬂow might develop. And

Figure 2: Time evolution of a smoke explosion enhanced with vortex particles seeded as the smoke undergoes expansion at the source.

(180 ×260 ×180 uniform grid, approximately 6000 vortex particles)

if the reﬁnement criteria are poor, small scale detail will never be

formed and vorticity conﬁnement cannot amplify it. [Rasmussen

et al. 2003] introduced a method for simulating large scale explo-

sions that avoids the high memory requirements of three dimen-

sional grids by simulating a series of two dimensional slices that

are placed in three dimensional space and used to deﬁne a wind

ﬁeld to advect particles. The technique produced impressive nu-

clear explosions, but is not as applicable to problems that have less

inherent symmetry. Moreover, interesting phenomena such as fuel

pocket combustion, etc. cannot be modeled in the free space be-

tween slices where interpolation is relied on to generate the velocity

ﬁeld.

Particle methods such as SPH (e.g. [Desbrun and Cani 1996; Hadap

and Magnenat-Thalmann 2001; Premoze et al. 2003; Muller et al.

2003]) avoid the memory requirements of a three dimensional grid,

but exhibit other difﬁculties such as the cost of ﬁnding the nearest

neighbors, complications involved with enforcing incompressibil-

ity, particle redistribution, etc. Another class of particle methods

are the vortex methods which are based on the curl of the Navier-

Stokes equations, i.e. the vorticity. This form of the equations

was solved with a fully grid based method in [Yaeger and Upson

1986], and a more typical particle based approach was considered

in [Gamito et al. 1995]. Neither of these approaches treated obsta-

cles and both were limited to two spatial dimensions. Particle based

vortex methods suffer from some of the same issues as SPH meth-

ods, see e.g. [Lindsay and Krasny 2001; Ploumhans et al. 2002],

and authors such as [Walther and Koumoutsakos 2001; Cottet and

Poncet 2003] have worked to alleviate a number of these with the

use of a background grid. Typically, the vorticity is mapped from

the particles to a background grid where a vector valued Poisson

equation is solved (this is only a scalar equation in two spatial di-

mensions as in [Gamito et al. 1995]), and the results are used to

calculate the velocity and incorporate the effects of vortex stretch-

ing before transferring the velocity ﬁeld back to the particles for

advection.

The advantage of vortex methods is that the particles carry the vor-

ticity, and its values can be preserved to compute inviscid, high

Reynolds number turbulent ﬂows, i.e. one avoids the grid based

damping artifacts that vorticity conﬁnement works to reduce. In ad-

dition, particle methods are optimal from a memory storage stand-

point for adaptively resolving a ﬂow ﬁeld. The major disadvan-

tages are in ﬁnding boundary conditions for the vector valued Pois-

son equation especially for moving and deforming solid objects,

dealing with particle redistribution techniques to adequately repre-

sent and resolve the ﬂow, and difﬁculties associated with the vortex

stretching term (that happens to be identically zero in two spatial

dimensions as in [Gamito et al. 1995]). Solving the standard veloc-

ity and pressure form of the Navier-Stokes equations alleviates all

of these difﬁculties at the cost of increased numerical dissipation.

[Drela and Murman 1987] and [Felici and Drela 1990] proposed

coupling these techniques together in two and three dimensions, re-

spectively, with what they referred to as “ad hoc” techniques. Some

of the problems with their coupling procedures were discussed in

[Felici and Drela 1993a; Felici and Drela 1993b].

We also propose solving both sets of equations, but in a more

fully hybridized manner. The grid based velocity obtained from

the Navier-Stokes equations is used to both advect the particles and

to spin them as dictated by the vortex stretching term, while vor-

ticity conﬁnement is used to convey vorticity information from the

particles to the grid. In particular, vorticity conﬁnement acts in a

manner that conserves the vorticity of the ﬂow, thus providing visu-

ally appealing results. We demonstrate the ability to generate very

turbulent effects that cannot be achieved with vorticity conﬁnement

alone.

2 Previous Work

Besides those works mentioned above, a number of authors simu-

lated the equations of ﬂuid dynamics (and variants) before [Foster

and Metaxas 1997], see e.g. [Kajiya and von Herzen 1984; Kass and

Miller 1990; Chen and Lobo 1994]. There have also been many

works since then, including the proposed hybridization of parti-

cle and grid based methods to simulate water [Foster and Fedkiw

2001; Enright et al. 2002], and augmentations of the equations to

model ﬁre [Lamorlette and Foster 2002; Nguyen et al. 2002], clouds

[Miyazaki et al. 2002], particle explosions [Feldman et al. 2003],

chemically reacting gases [Ihm et al. 2004], and viscoelastic ﬂu-

ids [Goktekin et al. 2004]. Other interesting work includes control

methodologies [Treuille et al. 2003; McNamara et al. 2004; Fattal

and Lischinski 2004], ﬂow on surfaces [Stam 2003], the use of ad-

vected radial basis functions for editing simulation results [Pighin

et al. 2004], and the use of the compressible version of the equa-

tions to simulate explosions [Neff and Fiume 1999; Yngve et al.

2000].

3 Grid Based Method

The incompressible Navier-Stokes equations can be written as

ut+ (u· ∇)u+∇p/ρ =µ∇2u+f(1)

∇ · u= 0 (2)

with velocity u= (u, v, w), pressure p, density ρ, and frepresent-

ing buoyancy, vorticity conﬁnement, etc. In particular, the vorticity

conﬁnement force is computed by taking the curl of the velocity

ﬁeld to obtain the vorticity ω=∇ × u, computing normalized

vorticity location vectors N=∇|ω|/|∇|ω||, and then applying a

force f=h(N×ω)scaled by the size of the grid hand a strength

parameter . We solve the inviscid (µ= 0) form of these equations

on either a uniform or octree grid as in [Fedkiw et al. 2001; Losasso

et al. 2004].

4 Vortex Particle Method

The Navier-Stokes equations can be put into vorticity form by tak-

ing the curl of equation 1 to obtain

ωt+ (u· ∇)ω−(ω· ∇)u=µ∇2ω+∇ × f(3)

where the velocity advection term has been split into a vorticity

advection term (u· ∇)ωand a vortex stretching term (ω· ∇)u.

Note that the pressure term vanishes for constant density ﬂuids.

Although these equations can be solved on a grid, particle based

methods have the distinct advantage of avoiding grid based numer-

ical dissipation that smears out the ﬂow making it appear more vis-

cous. In our implementation, each vortex particle stores a vorticity

value ωwhich includes both a magnitude and direction. A kernel

(we use a clamped Gaussian with compact support or a tent func-

tion) is used to deﬁne the vorticity in a region of space nearby the

particle. Given a collection of particles, the vorticity at a point is de-

ﬁned by summing the contributions from all nearby particles. The

ﬂow evolves as the particles move around and their vorticity values

change. For example, viscous ﬂow strongly dissipates large veloc-

ity gradients according to the µ∇2ωterm. This is typically imple-

mented with some sort of particle exchange method or with the aid

of a background grid. However, our goal in using particle based

methods is to eliminate dissipation, so we ignore this term solving

the inviscid form of the the equations similar to our approach to

solving equation 1.

The solution of equation 3 requires a velocity ﬁeld, which can be

determined from the vorticity values stored on the individual par-

ticles. This is typically a rather complex process. Even with the

aid of a background grid, one has to solve a vector valued Poisson

equation and deal with complicated boundary conditions. One of

the major beneﬁts of our approach is that this step can be avoided

entirely, as we instead use the velocity ﬁeld determined by solv-

ing equations 1 and 2 which only requires the solution of a sim-

ple scalar Poisson equation with straightforward boundary condi-

tions. Moreover, a standard vortex method needs to carefully place

particles to resolve the ﬂow. However, our technique does not re-

quire perfect distribution (and redistribution) of particles, because

the grid based method adequately resolves the ﬂow at least as well

as in [Fedkiw et.al. 2001]. Our vortex particles just provide in-

creased details where they happen to exist. Thus we did not need

to redistribute or reseed particles for any of our examples. This is a

major contribution of using the grid based solver to determine the

velocity ﬁeld.

Given the velocity ﬁeld, u, determined via the grid based method,

trilinear interpolation is used to deﬁne a velocity for advecting each

particle. This accounts for the (u· ∇)ωterm in equation 3. We typ-

ically inject particles with random initial vorticity at a uniform rate

at a source, and let them passively advect through the ﬂow. How-

ever, particles could also be created on the ﬂy either nearobjects or

near concentrations of high vorticity, and given the initial vorticity

of the surrounding ﬂow. Another nice feature of our approach is that

Figure 3: Vortex particles interact with complex geometry creating

a turbulent water stream. (272 ×112 ×272 effective resolution

octree grid, approximately 800 vortex particles)

the grid based solver creates a velocity ﬁeld with proper boundary

conditions. And since the particles are advected with that velocity

ﬁeld, they tend to avoid interpenetration with obstacles. However,

if particles do enter solid geometry, we could delete them or project

them back out of the object using an object level set. Since we

use a high density of particles (typically thousands), either option

sufﬁces.

Besides advecting the particles, we need to consider the effects of

the vortex stretching term in equation 3. This is done by com-

puting the derivatives of the velocity ﬁeld on the grid with cen-

tral differences, trilinearly interpolating them to the particle loca-

tion, and then augmenting the vorticity on the particle with ω+=

∆t(ω· ∇)u. In isolation, this term can be thought of as an ordi-

nary differential equation (ODE) that changes both the magnitude

and direction of the particle’s vorticity. Unfortunately, the vorticity

magnitude can exponentially increase when the ODE has a positive

eigenvalue based on the ﬂuid velocity gradient. To ensure stabil-

ity one could clamp the magnitude, only allow it to decrease, etc.

However, since the goal of our particle based method is to preserve

vorticity concentration, we rescale the ﬁnal vorticity to preserve its

magnitude in all of our simulations. In that case, the effect of this

term is to spin the particle’s vorticity vector without affecting its

magnitude. This limits the numerical accuracy of the vortex parti-

cle method, but is consistent with our reliance on the the grid based

method to provide most of the bulk ﬂow features with the vortex

particles providing an extra level of detail via vorticity concentra-

tion preservation. Along the same lines, we completely ignore the

∇ × fterm noting that forces (such as buoyancy) still have inﬂu-

ence as they affect the velocity ﬁeld via equation 1.

5 Vorticity Forcing

Equation 3 can be rewritten in conservation form

ωT

t+∇ · (uωT−ωuT−µ(∇ω)T−f∗) = 0 (4)

where we have written the equations in row instead of column form,

and f∗is the skew symmetric cross product matrix based on f.

This equation demonstrates that vorticity should be conserved (nei-

ther created nor destroyed), highlighting one of the major problems

with the work of [Felici and Drela 1990]. They used an “ad hoc”

method to transmit the vorticity from the particles to the grid based

velocity ﬁeld that does not conserve the total vorticity of that ve-

locity ﬁeld, i.e. they change the values of the grid based velocity

without regard for vorticity conservation. We believe that vortic-

ity conservation is what leads to better quality, especially visual

quality. Without this, ﬂuid swirling, etc., seems to appear magi-

cally. Our key innovation is to use the force fin equation 1 to

drive the grid based velocity ﬁeld towards the desired vorticity. Al-

though equation 4 dictates that all body forces conserve vorticity,

the vorticity conﬁnement force is the only one we know of that can

introduce vorticity in the fashion required.

The simplest approach is to use the particles’ vorticity magnitude

only (ignoring direction) to deﬁne a spatially varying conﬁnement

strength , transferring the particles values of this parameter to the

grid with the distribution kernel mentioned above. This allows vor-

ticity conﬁnement to be activated independent of the existing grid

based vorticity, but ignores the directional component of the par-

ticle’s vorticity. Even this simple approach readily creates visually

rich phenomena difﬁcult to obtain with vorticity conﬁnement alone,

and we used it early on in a production pipeline to create many ex-

plosion effects for a feature ﬁlm, see Figure 4.

A promising technique is to form an analytic conﬁnement force in-

dependently for each particle. The distribution kernel, ξp(x−xp),

for a particle together with the particle vorticity, ωp, deﬁnes an an-

alytic vorticity ˜

ωp(x) = ξp(x−xp)ωp. Choosing a kernel that

is rotationally symmetric and strictly decreasing with distance from

the particle center implies that Np(x) = (xp−x)/kxp−xk,

and the conﬁnement force is then Fp(x) = p(Np×˜

ωp). We can

sum the contributions from all the particles to obtain a grid based

force ﬁeld for use in equation 1. This technique was used to gen-

erate Figures 1, 2 and 3. In addition, one can interpolate the grid

based vorticity to the particle location and reduce the strength of

the particle based force as the grid based vorticity approaches the

particle’s vorticity. Of course, in practice the grid is typically too

coarse for the grid vorticity to match the vorticity of all the parti-

cles. Alternatively, one could transfer the magnitude and direction

of the particle’s vorticity to the grid, and compare this to the exist-

ing grid based vorticity. The difference between these can be used

to calculate a vorticity conﬁnement force (replacing vorticity with

this difference in the formulas). However, we have not found these

last two options to be necessary.

Finally, we note that vorticity conﬁnement is rather robust for rea-

sonably well chosen parameter values, but can destroy a simula-

tion or cause instabilities if is set too high as shown in Figure

5. Since we use a vorticity conﬁnement style force to drive the

grid based vorticity towards the particle based vorticity, similar is-

sues arise in our method. However, as in standard vorticity con-

ﬁnement, a large range of parameter values seem to perform quite

nicely. Although one could limit our vorticity conﬁnement forces

as the grid based vorticity approaches the particle based vorticity

(as mentioned above), we have not found this necessary.

6 Examples

We implemented our method on both uniform and octree grids and

generated a variety of examples demonstrating its versatility. The

extra computational cost incurred by using vortex particles was

negligible (less than 5%). Most of our examples used a clamped

Gaussian kernel

ξp(x−xp) = e−kx−xpk2/2r2

/(r3(2π)3/2)

when kx−xpk ≤ r, and 0otherwise. In Figure 2, we seeded about

6000 particles during an initial divergence driven expansion lasting

Figure 4: Our method has been used in a production environment

to create large rolling explosions. (100 ×100 ×100 uniform grid,

approximately 400 vortex particles). Images c

Lucasﬁlm Ltd. &

TM. All rights reserved.

.5 seconds. Particles are seeded with random position while direc-

tions are placed tangent to the cylinder centered at the source re-

gion’s midpoint oriented upward. We use a radius extending about

4 grid cells (for octrees we compute the radius using the smallest

cells) and a particle vorticity of 2×10−3. Figure 1 demonstrates

that our technique also works well for liquids. Particles are seeded

randomly at the inﬂow with vorticity pointing up or down to cre-

ate toroidal eddies characteristic of rivers. To create larger vortices

the kernel radius is increased to cover 40 grid cells and the particle

vorticity magntiude is 1×10−2for the top ﬁgure and 5×10−2

for the bottom ﬁgure. Figure 3 depicts a stream illustrating that we

can handle complex geometries. The parameters are similar, except

that particles that enter geometry are deleted. Also, we used a 4

grid cell particle radius in order to model a larger scale scene. The

two images in Figure 4 show explosions generated for a recent fea-

ture ﬁlm. These examples used only particle vorticity magnitude

to affect in standard vorticity conﬁnement. About 200 particles

were used with a radius of about 3 grid cells in a 100 ×100 ×100

simulation, and we used a tent kernel.

7 Conclusion

In summary, our method could be viewed as a traditional grid based

Navier-Stokes solver with special forces added to obtain interesting

ﬂuid ﬂows. These forces are obtained via a particle based approach

to the vorticity formulation of the Navier-Stokes equations. Specif-

ically, the requirements of our method are to (1) use vorticity car-

rying particles to preserve vorticity concentrations, and (2) target

the grid based vorticity towards the particle based vorticity using a

vorticity conserving body force, based on the successful vorticity

conﬁnement approach.

8 Acknowledgements

Research supported in part by an ONR YIP award and a PECASE

award (ONR N00014-01-1-0620), a Packard Foundation Fellow-

ship, a Sloan Research Fellowship, ONR N00014-03-1-0071, ONR

= 0 =.25 =.5= 2

Figure 5: Simulations with varying vorticity conﬁnement illustrate

that too much conﬁnement causes artifacts and instabilities. In fact,

a large value of actually prevents the smoke from properly rising.

N00014-02-1-0720, NSF ITR-0121288, NSF DMS-0106694, NSF

ACI-0323866 and NSF IIS-0326388. Computing resources were

provided in part by Mike Houston, Christos Kozyrakis, Mark

Horowitz, Bill Dally and Vijay Pande. We would also like to thank

Cliff Plumer, Steve Sullivan, Willi Geiger and Industrial Light +

Magic for their support and enthusiasm.

References

CHEN, J., AND LOBO, N. 1994. Toward interactive-rate simulation of ﬂu-

ids with moving obstacles using the navier-stokes equations. Computer

Graphics and Image Processing 57, 107–116.

COTTET, G.-H., AND PONCET, P. 2003. Advances in direct numerical sim-

ulations of 3d wall-bounded ﬂows by vortex-in-cell methods. J. Comput.

Phys. 193, 136–158.

DESBRUN, M., AND CANI, M.-P. 1996. Smoothed particles: A new par-

adigm for animating highly deformable bodies. In Comput. Anim. and

Sim. ’96 (Proc. of EG Workshop on Anim. and Sim.), Springer-Verlag,

R. Boulic and G. Hegron, Eds., 61–76. Published under the name Marie-

Paule Gascuel.

DRELA, M., AND MURMAN, E. M. 1987. Prospects for eulerian CFD

analysis of helicopter vortex ﬂows. In American Helicopter Society Spe-

cialist Meeting, Arlington Texas.

ENRIGHT, D., MARSCHNER, S., AND FEDKIW, R. 2002. Animation and

rendering of complex water surfaces. ACM Trans. Graph. (SIGGRAPH

Proc.) 21, 3, 736–744.

FATTAL, R., AND LISCHINSKI, D. 2004. Target-driven smoke animation.

ACM Trans. Graph. (SIGGRAPH Proc.) 23, 441–448.

FEDKIW, R., STAM, J., AND JENSEN, H. 2001. Visual simulation of

smoke. In Proc. of ACM SIGGRAPH 2001, 15–22.

FELDMAN, B. E., O’BRIEN, J. F., AND ARIKAN, O. 2003. Animating

suspended particle explosions. ACM Trans. Graph. (SIGGRAPH Proc.)

22, 3, 708–715.

FELICI, H. M., AND DRELA, M. 1990. Eulerian/lagrangian solution of 3-d

rotational ﬂows. In AIAA 21st Fluid Dynamics, Plasma Dynamics and

Lasers Conference.

FELICI, H. M., AND DRELA, M. 1993. An eulerian/lagrangian coupling

procedure for three-dimensional vortical ﬂows. AIAA Journal, 1993-

3370.

FELICI, H. M., AND DRELA, M. 1993. Reduction of numerical diffusion

in three-dimensional vortical ﬂowsusing a coupled eulerian/lagrangian

solution procedure. In AIAA 24th Fluid Dynamics Conference.

FOSTER, N., AND FEDKIW, R. 2001. Practical animation of liquids. In

Proc. of ACM SIGGRAPH 2001, 23–30.

FOSTER, N., AND METAXAS, D. 1997. Modeling the motion of a hot,

turbulent gas. In Proc. of SIGGRAPH 97, 181–188.

GAMITO, M. N., LOPES, P. F., AND GOMES, M. R. 1995. Two di-

mensional Simulation of Gaseous Phenomena Using Vortex Particles. In

Proc. of the 6th Eurographics Workshop on Comput. Anim. and Sim.,

Springer-Verlag, 3–15.

GOKTEKIN, T. G., BARGTEIL, A. W., AND O’BRIEN, J. F. 2004. A

method for animating viscoelastic ﬂuids. ACM Trans. Graph. (SIG-

GRAPH Proc.) 23.

HADAP, S., AND MAGNENAT-THALMANN, N. 2001. Modeling Dynamic

Hair as a Continuum. Comput. Graph. Forum 20, 3.

IHM, I., KANG, B., AND CHA, D. 2004. Animation of reactive gaseous

ﬂuids through chemical kinetics. In Proc. of the 2004 ACM SIG-

GRAPH/Eurographics Symp. on Comput. Anim., 203–212.

KAJIYA, J. T., AND VON HERZEN, B. P. 1984. Ray Tracing Volume

Densities. In Proc. of SIGGRAPH 1984, 165–174.

KASS, M., AND MILLER, G. 1990. Rapid, stable ﬂuid dynamics for com-

puter graphics. In Computer Graphics (Proc. of SIGGRAPH 90), vol. 24,

49–57.

LAMORLETTE, A., AND FOSTER, N. 2002. Structural modeling of natural

ﬂames. ACM Trans. Graph. (SIGGRAPH Proc.) 21, 3, 729–735.

LINDSAY, K., AND KRASNY, R. 2001. A particle method and adaptive

treecode for vortex sheet motion in three-dimensional. J. Comput. Phys.

172, 879–907.

LOSASSO, F., GIBOU, F., AND FEDKIW, R. 2004. Simulating water and

smoke with an octree data structure. ACM Trans. Graph. (SIGGRAPH

Proc.) 23, 457–462.

MCNAMARA, A., TREUILLE, A., POP OVI ´

C, Z., AND STAM, J. 2004.

Fluid control using the adjoint method. ACM Trans. Graph. (SIGGRAPH

Proc.).

MIYAZAKI, R., DOBASHI, Y., AND NISHITA, T. 2002. Simulation of

cumuliform clouds based on computational ﬂuid dynamics. Proc. Euro-

graphics 2002 Short Presentation, 405–410.

MULLER, M., CHARYPAR, D., AND GROSS, M. 2003. Particle-based ﬂuid

simulation for interactive applications. In Proc. of the 2003 ACM SIG-

GRAPH/Eurographics Symposium on Computer Animation, 154–159.

NEFF, M., AND FIUME, E. 1999. A visual model for blast waves and

fracture. In Proc. of Graph. Interface 1999, 193–202.

NGUYEN, D., FEDKIW, R., AND JENSEN, H. 2002. Physically based

modeling and animation of ﬁre. In ACM Trans. Graph. (SIGGRAPH

Proc.), vol. 29, 721–728.

PIGHIN, F., COHEN, J. M., AND SHAH, M. 2004. Modeling and edit-

ing ﬂows using advected radial basis functions. In Proc. of 2004 ACM

SIGGRAPH/Eurographics Symp. on Comput. Anim.

PLOUMHANS, P., WINCKELMANS, G. S., SALMON, J. K., LEONARD,

A., AND WARRE, M. S . 2002. Vortex methods for direct numerical sim-

ulation of three-dimensional bluff body ﬂows: Application to the sphere

at re=300, 500, and 1000. J. Comput. Phys. 178, 427–463.

PREMOZE, S., TASDIZEN, T., BIGLER, J., LEFOHN, A., AND

WHITAKER, R. 2003. Particle–based simulation of ﬂuids. In Comp.

Graph. Forum (Eurographics Proc.), vol. 22, 401–410.

RASMUSSEN, N., NGUYEN, D., GEIGER, W., AND FEDKIW, R. 2003.

Smoke simulation for large scale phenomena. ACM Trans. Graph. (SIG-

GRAPH Proc.) 22, 703–707.

STAM, J. 1999. Stable ﬂuids. In Proc. of SIGGRAPH 99, 121–128.

STAM, J. 2003. Flows on surfaces of arbitrary topology. ACM Trans.

Graph. (SIGGRAPH Proc.) 22, 724–731.

STEINHOFF, J., AND UNDERHILL, D. 1994. Modiﬁcation of the Euler

Equations for “Vorticity Conﬁnement”: Application to the Computation

of Interacting Vortex Rings. Phys. of Fluids 6, 8, 2738–2744.

TREUILLE, A., MCNAMARA, A., POP OVI ´

C, Z., AND STAM, J. 2003.

Keyframe control of smoke simulations. ACM Trans. Graph. (SIG-

GRAPH Proc.) 22, 3, 716–723.

WALTHER, J. H., AND KOUMOUTSAKOS, P. 2001. Three-dimensional

vortex methods for particle-laden ﬂows with two-way coupling. J. Com-

put. Phys. 167, 39–71.

YAEGER, L., AND UPSON, C. 1986. Combining physical and visual sim-

ulation - creation of the planet jupiter for the ﬁlm 2010. In Proc. of

SIGGRAPH 1986, 85–93.

YNGVE, G., O’BRIEN, J., AND HODGINS, J . 2000. Animating explosions.

In Proc. SIGGRAPH 2000, vol. 19, 29–36.