ArticlePDF Available

A vortex particle method for smoke, water and explosions

  • Industrial Light & Magic

Abstract and Figures

Vorticity confinement reintroduces the small scale detail lost when using efficient semi-Lagrangian schemes for simulating smoke and fire. However, it only amplifies the existing vorticity, and thus can be insufficient for highly turbulent effects such as explosions or rough water. We introduce a new hybrid technique that makes synergistic use of Lagrangian vortex particle methods and Eulerian grid based methods to overcome the weaknesses of both. Our approach uses vorticity confinement itself to couple these two methods together. We demonstrate that this approach can generate highly turbulent effects unachievable by standard grid based methods, and show applications to smoke, water and explosion simulations.
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 inflow (left) create turbulence in water flowing 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)
Vorticity confinement reintroduces the small scale detail lost when
using efficient semi-Lagrangian schemes for simulating smoke and
fire. However, it only amplifies the existing vorticity, and thus can
be insufficient 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 confinement 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, fluids, smoke, water, explosions
1 Introduction
While the numerical simulation of fluids is now common in the
special effects industry, highly turbulent phenomena such as explo-
sions remain challenging. It is difficult 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 filming them practically is not always possible espe-
cially when complex camera motions (such as flying 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 confinement 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 difficult to simulate large scale phenomena.
Also, vorticity confinement can only amplify existing grid vorticity,
so if the resolution of the grid is not fine enough to capture object
interaction, combusting fuel pockets, upwelling, etc., vorticity con-
finement 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 difficult to choose refinement criteria that ensure adequate
grid resolution everywhere interesting flow 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 refinement criteria are poor, small scale detail will never be
formed and vorticity confinement 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 define a wind
field 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
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 difficulties such as the cost of finding 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 field back to the particles for
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 flows, i.e. one avoids the grid based
damping artifacts that vorticity confinement works to reduce. In ad-
dition, particle methods are optimal from a memory storage stand-
point for adaptively resolving a flow field. The major disadvan-
tages are in finding 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 flow, and difficulties 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 difficulties 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 confinement is used to convey vorticity information from the
particles to the grid. In particular, vorticity confinement acts in a
manner that conserves the vorticity of the flow, thus providing visu-
ally appealing results. We demonstrate the ability to generate very
turbulent effects that cannot be achieved with vorticity confinement
2 Previous Work
Besides those works mentioned above, a number of authors simu-
lated the equations of fluid 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 fire [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 flu-
ids [Goktekin et al. 2004]. Other interesting work includes control
methodologies [Treuille et al. 2003; McNamara et al. 2004; Fattal
and Lischinski 2004], flow 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.
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 confinement, etc. In particular, the vorticity
confinement force is computed by taking the curl of the velocity
field 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 fluids.
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 flow 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 define the vorticity in a region of space nearby the
particle. Given a collection of particles, the vorticity at a point is de-
fined by summing the contributions from all nearby particles. The
flow evolves as the particles move around and their vorticity values
change. For example, viscous flow 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 field, 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 benefits of our approach is that this step can be avoided
entirely, as we instead use the velocity field 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 flow. However, our technique does not re-
quire perfect distribution (and redistribution) of particles, because
the grid based method adequately resolves the flow at least as well
as in [Fedkiw 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 field.
Given the velocity field, u, determined via the grid based method,
trilinear interpolation is used to define 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 flow. How-
ever, particles could also be created on the fly either nearobjects or
near concentrations of high vorticity, and given the initial vorticity
of the surrounding flow. 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 field with proper boundary
conditions. And since the particles are advected with that velocity
field, 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
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 field 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 fluid 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 final 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 flow 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 influ-
ence as they affect the velocity field via equation 1.
5 Vorticity Forcing
Equation 3 can be rewritten in conservation form
t+∇ · (TωuTµ(ω)Tf) = 0 (4)
where we have written the equations in row instead of column form,
and fis 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 field that does not conserve the total vorticity of that ve-
locity field, 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, fluid swirling, etc., seems to appear magi-
cally. Our key innovation is to use the force fin equation 1 to
drive the grid based velocity field towards the desired vorticity. Al-
though equation 4 dictates that all body forces conserve vorticity,
the vorticity confinement 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 define a spatially varying confinement
strength , transferring the particles values of this parameter to the
grid with the distribution kernel mentioned above. This allows vor-
ticity confinement 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 difficult to obtain with vorticity confinement alone,
and we used it early on in a production pipeline to create many ex-
plosion effects for a feature film, see Figure 4.
A promising technique is to form an analytic confinement force in-
dependently for each particle. The distribution kernel, ξp(xxp),
for a particle together with the particle vorticity, ωp, defines an an-
alytic vorticity ˜
ωp(x) = ξp(xxp)ωp. Choosing a kernel that
is rotationally symmetric and strictly decreasing with distance from
the particle center implies that Np(x) = (xpx)/kxpxk,
and the confinement force is then Fp(x) = p(Npט
ωp). We can
sum the contributions from all the particles to obtain a grid based
force field 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 confinement 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 confinement 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 confinement 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-
finement, a large range of parameter values seem to perform quite
nicely. Although one could limit our vorticity confinement 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(xxp) = e−kxxpk2/2r2
when kxxpk ≤ 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
Lucasfilm 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×103. Figure 1 demonstrates
that our technique also works well for liquids. Particles are seeded
randomly at the inflow 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×102for the top figure and 5×102
for the bottom figure. 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 film. These examples used only particle vorticity magnitude
to affect in standard vorticity confinement. 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
fluid flows. 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
confinement 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 confinement illustrate
that too much confinement 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.
CHEN, J., AND LOBO, N. 1994. Toward interactive-rate simulation of flu-
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 flows 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 flows. 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 flows. 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 flows. AIAA Journal, 1993-
FELICI, H. M., AND DRELA, M. 1993. Reduction of numerical diffusion
in three-dimensional vortical flowsusing 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.
method for animating viscoelastic fluids. 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
fluids 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 fluid dynamics for com-
puter graphics. In Computer Graphics (Proc. of SIGGRAPH 90), vol. 24,
LAMORLETTE, A., AND FOSTER, N. 2002. Structural modeling of natural
flames. 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.
C, Z., AND STAM, J. 2004.
Fluid control using the adjoint method. ACM Trans. Graph. (SIGGRAPH
MIYAZAKI, R., DOBASHI, Y., AND NISHITA, T. 2002. Simulation of
cumuliform clouds based on computational fluid dynamics. Proc. Euro-
graphics 2002 Short Presentation, 405–410.
MULLER, M., CHARYPAR, D., AND GROSS, M. 2003. Particle-based fluid
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 fire. In ACM Trans. Graph. (SIGGRAPH
Proc.), vol. 29, 721–728.
PIGHIN, F., COHEN, J. M., AND SHAH, M. 2004. Modeling and edit-
ing flows using advected radial basis functions. In Proc. of 2004 ACM
SIGGRAPH/Eurographics Symp. on Comput. Anim.
A., AND WARRE, M. S . 2002. Vortex methods for direct numerical sim-
ulation of three-dimensional bluff body flows: Application to the sphere
at re=300, 500, and 1000. J. Comput. Phys. 178, 427–463.
WHITAKER, R. 2003. Particle–based simulation of fluids. In Comp.
Graph. Forum (Eurographics Proc.), vol. 22, 401–410.
Smoke simulation for large scale phenomena. ACM Trans. Graph. (SIG-
GRAPH Proc.) 22, 703–707.
STAM, J. 1999. Stable fluids. 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. Modification of the Euler
Equations for “Vorticity Confinement”: Application to the Computation
of Interacting Vortex Rings. Phys. of Fluids 6, 8, 2738–2744.
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 flows 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 film 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.
... The drawbacks of vorticity modeling lie in the difficulties of geometric management and boundary treatments of certain types. Many recent approaches are of a hybrid fashion, either by using grids to improve pure Lagrangian methods [35], or by integrating Lagrangian elements into existing grid-based solvers [28], [36], [37]. A new term that arises from vorticity modeling is stretching, which does not take place in 2D flow [38], but plays an important role in 3D vortex methods by producing local intensification and reorientation of the vorticity [3], [34], [36]. ...
... Many recent approaches are of a hybrid fashion, either by using grids to improve pure Lagrangian methods [35], or by integrating Lagrangian elements into existing grid-based solvers [28], [36], [37]. A new term that arises from vorticity modeling is stretching, which does not take place in 2D flow [38], but plays an important role in 3D vortex methods by producing local intensification and reorientation of the vorticity [3], [34], [36]. In our work, we explore different implementations of stretching and eventually find that implicit stretching on cell centers produces robust and high-quality results. ...
Full-text available
We propose a new incompressible NavierStokes solver based on the impulse gauge transformation. The mathematical model of our approach draws from the impulsevelocity formulation of NavierStokes equations, which evolves the fluid impulse as an auxiliary variable of the system that can be projected to obtain the incompressible flow velocities at the end of each time step. We solve the impulse-form equations numerically on a Cartesian grid. At the heart of our simulation algorithm is a novel model to treat the impulse stretching and a harmonic boundary treatment to incorporate the surface tension effects accurately. We also build an impulse PIC/FLIP solver to support free-surface fluid simulation. Our impulse solver can naturally produce rich vortical flow details without artificial enhancements. We showcase this feature by using our solver to facilitate a wide range of fluid simulation tasks including smoke, liquid, and surface-tension flow. In addition, we discuss a convenient mechanism in our framework to control the scale and strength of the fluids turbulent effects.
... For fluid simulation, a stable fluid solver [36] was proposed to be unconditionally stable and has been widely used in research and product communities. Since then, the solver has been improved by other researchers [10,34]. However, the user needs to repeatedly adjust the parameters and run the simulation to generate the desired flow. ...
Full-text available
The dynamic effects of smoke are impressive in illustration design, but it is a troublesome and challenging issue for common users to design the smoke effect without domain knowledge of fluid simulations. In this work, we propose DualSmoke, two stage global-to-local generation framework for the interactive smoke illustration design. For the global stage, the proposed approach utilizes fluid patterns to generate Lagrangian coherent structure from the user's hand-drawn sketches. For the local stage, the detailed flow patterns are obtained from the generated coherent structure. Finally, we apply the guiding force field to the smoke simulator to design the desired smoke illustration. To construct the training dataset, DualSmoke generates flow patterns using the finite-time Lyapunov exponents of the velocity fields. The synthetic sketch data is generated from the flow patterns by skeleton extraction. From our user study, it is verified that the proposed design interface can provide various smoke illustration designs with good user usability. Our code is available at:
... These methods represent the motion state of fluid using discrete particles that carry the fluid's physical information. The representative Lagrangian methods include smoothed particle hydrodynamics (SPH) [34] and vortex particle methods [35]. Since the SPH method relies on the uniform distribution of particles to ensure computational accuracy, it is not suitable for large-scale smoke simulation. ...
Full-text available
Under the current background of navigation education, students generally lack a comprehensive grasp of ship firefighting equipment’s operation. Therefore, we develop a novel ship firefighting training simulator with a multi-sensory human–computer interaction function for teaching and training marine students. In the simulator, we consider a container ship of 1.8w containers as the prototype ship, and the entire ship models are built using three-dimensional modeling technology. We design various interactive modes and realize a full-process operation simulation of several standard ship firefighting equipment. Furthermore, we propose a purely Lagrangian vortex dynamics framework to simulate smoke and flame in fire scenarios. In this framework, we model fluids using velocity and vorticity fields discretized on discrete vortex segments. The main components of the framework include a stable geometric stretching solution and particle strength exchange method for solving the diffusion term. The simulation results show that the simulator has good behavioral realism and scene immersion and can be applied to ship firefighting training. To the best of our knowledge, this is the first study on real-time smoke simulation using a physics-based method in a firefighting training simulator.
... Explicit vortex methods. In previous vortex methods, vortices are represented either as particles [Gamito et al. 1995;Park and Kim 2005;Selle et al. 2005;Zhang and Bridson 2014;Angelidis 2017], filaments [Cottet et al. 2000;Angelidis and Neyret 2005;Weißmann and Pinkall 2009;Weißmann and Pinkall 2010;Padilla et al. 2019], segments [Chorin 1990;, sheets [Brochu et al. 2012;Pfaff et al. 2012;Da et al. 2015] or volumes [Elcott et al. 2007;Zhang et al. 2015]. Vortex particle methods represent vortices as a disconnected point cloud. ...
This paper presents a new representation of curve dynamics, with applications to vortex filaments in fluid simulation. Instead of representing these filaments with explicit curve geometry and Lagrangian equations of motion, we represent curves implicitly with a new co-dimensional 2 level set description. Our implicit representation admits several redundant mathematical degrees of freedom in both the configuration and the dynamics of the curves, which can be tailored specifically to improve numerical robustness, in contrast to naive approaches for implicit curve dynamics that suffer from overwhelming numerical stability problems. Furthermore, we note how these hidden degrees of freedom perfectly map to a Clebsch representation in fluid dynamics. Motivated by these observations, we introduce untwisted level set functions and non-swirling dynamics which successfully regularize sources of numerical instability, particularly in the twisting modes around curve filaments. The result is a novel simulation method which produces stable dynamics for large numbers of interacting vortex filaments and effortlessly handles topological changes and re-connection events.
... The level-set method [Fedkiw and Osher 2002;Gibou et al. 2018] along with its many-particle augmentations [Enright et al. 2002;Losasso et al. 2008], data-structure modifications [Houston et al. 2006;Losasso et al. 2006Losasso et al. , 2004, and parallel implementations [Hughes et al. 2007;Mazhar et al. 2013], has been one of the most successful practices for high-resolution water animation. The swirling flow details on the water surface mainly stem from vortical enhancement forces Rasmussen et al. 2003], vortex particles [Selle et al. 2005], or less-dissipative advection schemes [MacCormack 2003] that are applied on the grid solver. On another front, particle-based approaches [Müller et al. 2003] and hybrid Eulerian-Lagrangian approaches [Jiang et al. 2015;Zhu and Bridson 2005] have shown their efficacy in simulating highly dynamic, large-scale water scenarios. ...
Full-text available
We propose a novel Clebsch method to simulate the free-surface vortical flow. At the center of our approach lies a level-set method enhanced by a wave-function correction scheme and a wave-function extrapolation algorithm to tackle the Clebsch method's numerical instabilities near a dynamic interface. By combining the Clebsch wave function's expressiveness in representing vortical structures and the level-set function's ability on tracking interfacial dynamics, we can model complex vortex-interface interaction problems that exhibit rich free-surface flow details on a Cartesian grid. We showcase the efficacy of our approach by simulating a wide range of new free-surface flow phenomena that were impractical for previous methods, including horseshoe vortex, sink vortex, bubble rings, and free-surface wake vortices.
... The convergence rate of such PCG methods depends heavily on the efficacy of their preconditioners. The list of popular preconditioners include Jacobi, symmetric successive over-relaxation (SSOR), incomplete Cholesky factorization [Foster and Fedkiw 2001;Selle et al. 2005], as well as multigrid methods [Aanjaneya et al. 2019;McAdams et al. 2010]. In our work, a kind of an approximate inverse preconditioner not widely used before in graphics is explored and evaluated against these popular preconditioners. ...
Full-text available
Design decisions in urban planning have to be made with particular carefulness as the resulting constraints are binding for the whole architectural design that follows. In this context, investigating and optimizing the airflow in urban environments is critical to design comfortable outdoor areas as unwanted effects such as windy areas and the formation of heat pockets have to be avoided. Our UrbanFlow framework enables interactive architectural design allowing for decision making based on simulating urban flow. Compared to real-time fluid flow simulation, enabling interactive architecture design poses an even higher computational efficiency challenge as evaluating a design by simulation usually requires hundreds of time steps. This is addressed based on a highly efficient Eulerian fluid simulator in which we incorporate a unified porosity model which is devised to encode digital urban models containing objects such as buildings and trees. UrbanFlow is equipped with an optimization routine enabling the direct computation of design adaptations improving livability and comfort for given parameterized architectural designs. To ensure convergence of the optimization process, instead of the classical Navier-Stokes equations, the Reynolds-averaged Navier-Stokes equations are solved as this can be done on a relatively coarse grid and allows for the decoupling of the effects of turbulent eddies which are taken into account using a separate turbulence model. As we demonstrate on a real-world example taken from an ongoing architectural competition, this results in a fast convergence of the optimization process which computes a design adaptation avoiding heat pockets as well as uncomfortable windy areas.
... The drawbacks of vorticity modeling lie in the difficulties of geometric managements and boundary treatments of certain types. Many recent approaches are of a hybrid fashion, either by using grids to improve pure Lagrangian methods [Koumoutsakos et al. 2008], or by integrating Lagrangian elements into existing grid-based solvers [Kim et al. 2009;Pfaff et al. 2012;Selle et al. 2005]. ...
Full-text available
We propose a novel gauge fluid solver based on Clebsch wave functions to solve incompressible fluid equations. Our method combines the expressive power of Clebsch wave functions to represent coherent vortical structures and the generality of gauge methods to accommodate a broad array of fluid phenomena. By evolving a transformed wave function as the system's gauge variable enhanced by an additional projection step to enforce pressure jumps on the free boundaries, our method can significantly improve the vorticity generation and preservation ability for a broad range of gaseous and liquid phenomena. Our approach can be easily implemented by modifying a standard grid-based fluid simulator. It can be used to solve various fluid dynamics, including complex vortex filament dynamics, fluids with different obstacles, and surface-tension flow.
We propose a pure Lagrangian vortex particle dynamics framework to simulate the various phenomena of turbulent smoke and two-way coupling between fluid and solid. In the framework, we model the fluid using vorticity and velocity fields that are discretized on the vortex particles. We extend a segment-based vortex stretching strategy with the subdivision of long segments to capture the fine details of smoke while maintaining good numerical stability. In addition, a vorticity field correction mechanism based on the merging and splitting of particles is proposed to avoid excessive particle counts and reduce the associated unnecessary computational overhead. We also present a fast and approximate two-way coupling method for simulating the interaction between solid and fluid. Our method can be used to solve various fluid phenomena, including Kármán vortex streets, jets, and some examples of two-way fluid–solid coupling.
Le modèle physique masses interactions est puissant pour la simulation de comportements dynamiques très divers et pour la production de mouvements expressifs, riches et d'une grande complexité. En revanche, une difficulté inhérente à ce type de formalisme pour la production d'images animées réside dans le fait que les masses ponctuelles n'ont pas de spatialité ; il est donc difficile de produire des séquences d'images animées par le rendu direct des masses ponctuelles décrivant le mouvement. D'une manière générale, il est donc nécessaire de développer des méthodes qui étendent la spatialité de ces masses ponctuelles pour compléter la chaîne de production d'images animées par modèle physique particulaire. Une méthode, proposée par le laboratoire ICA, répond à ce type de problématique en permettant d'étendre la spatialité des masses ponctuelles en considérant l'interaction physique entre ces masses et un milieu. Il s'agit d'une métaphore du procédé physique de la gravure. Celle ci a permis de produire des images animées convaincantes de divers phénomènes visuels. Nous présentons dans ce document un élargissement de cette méthode notamment au cas 3D, ainsi qu'à de nouveaux comportements. De plus, l'algorithme de cette méthode a été parallélisé, ce qui nous a permis d'obtenir des simulations calculées en temps réel en utilisant la puissance actuelle des cartes graphiques. Afin de maitriser au mieux les possibilités de la méthode, nous avons développé un logiciel comprenant une interface graphique manipulable et interactive permettant de modéliser avec aisance différents comportements. Cette méthode a été intégrée dans des installations interactives artistiques multi-sensorielles fournissant un comportement dynamique riche et configurable, tout en permettant une interaction en temps réel avec le spectateur.
We introduce a fast, expressive method for simulating fluids over radial domains, including discs, spheres, cylinders, ellipses, spheroids, and tori. We do this by generalizing the spectral approach of Laplacian Eigenfunctions, resulting in what we call spiral-spectral fluid simulations. Starting with a set of divergence-free analytical bases for polar and spherical coordinates, we show that their singularities can be removed by introducing a set of carefully selected enrichment functions. Orthogonality is established at minimal cost, viscosity is supported analytically, and we specifically design basis functions that support scalable FFT-based reconstructions. Additionally, we present an efficient way of computing all the necessary advection tensors. Our approach applies to both three-dimensional flows as well as their surface-based, codimensional variants. We establish the completeness of our basis representation, and compare against a variety of existing solvers.
Full-text available
Simulation of natural phenomena is one of the important research fields in computer graphics. In particular, clouds play an important role in creating images of outdoor scenes. Fluid simulation is effective in creating realistic clouds because clouds are the visualization of atmospheric fluid. In this paper, we propose a simulation technique, based on a numerical solution of the partial differential equation of the atmospheric fluid model, for creating animated cumulus and cumulonimbus clouds with features formed by turbulent vortices.
Full-text available
A new ‘‘vorticity confinement’’ method is described which involves adding a term to the momentum conservation equations of fluid dynamics. This term depends only on local variables and is zero outside vortical regions. The partial differential equations with this extra term admit solutions that consist of Lagrangian-like confined vortical regions, or covons, in the shape of two-dimensional (2-D) vortex ‘‘blobs’’ and three-dimensional (3-D) vortex filaments, which convect in a constant external velocity field with a fixed internal structure, without spreading, even if the equations contain diffusive terms. Solutions of the discretized equations on a fixed Eulerian grid show the same behavior, in spite of numerical diffusion. Effectively, the new term, together with diffusive terms, constitute a new type of regularization of the inviscid equations which appears to be very useful in the numerical solution of flow problems involving thin vortical regions. The discretized Euler equations with the extra term can be solved on fairly coarse, Eulerian computational grids with simple low-order (first- or second-) accurate numerical methods, but will still yield concentrated vortices which convect without spreading due to numerical diffusion. Since only a fixed grid is used with local variables, the vorticity confinement method is quite general and can automatically accommodate changes in vortex topology, such as merging. Applications are presented for incompressible flow in 3D, where pairs of thin vortex rings interact and, in some cases, merge.
Full-text available
This paper presents new algorithms to trace objects represented by densities within a volume grid, e.g. clouds, fog, flames, dust, particle systems. We develop the light scattering equations, discuss previous methods of solution, and present a new approximate solution to the full three-dimensional radiative scattering problem suitable for use in computer graphics. Additionally we review dynamical models for clouds used to make an animated movie.
Conference Paper
Full-text available
Realistically animated fluids can add substantial realism to interactive applications such as virtual surgery simulators or computer games. In this paper we propose an interactive method based on Smoothed Particle Hydrodynamics (SPH) to simulate fluids with free surfaces. The method is an extension of the SPH-based technique by Desbrun to animate highly deformable bodies. We gear the method towards fluid simulation by deriving the force density fields directly from the Navier-Stokes equation and by adding a term to model surface tension effects. In contrast to Eulerian grid-based approaches, the particle-based approach makes mass conservation equations and convection terms dispensable which reduces the complexity of the simulation. In addition, the particles can directly be used to render the surface of the fluid. We propose methods to track and visualize the free surface using point splatting and marching cubes-based surface reconstruction. Our animation method is fast enough to be used in interactive systems and to allow for user interaction with models consisting of up to 5000 particles.
Conference Paper
This paper presents new algorithms to trace objects represented by densities within a volume grid, e.g. clouds, fog, flames, dust, particle systems. We develop the light scattering equations, discuss previous methods of solution, and present a new approximate solution to the full three-dimensional radiative scattering problem suitable for use in computer graphics. Additionally we review dynamical models for clouds used to make an animated movie.
Although chemically reactive fluids may be used effectively to increase the reality of visual effects, little work has been done with the general modeling of chemical reactions in computer animation. In this paper, we attempt to extend an established, physically based fluid simulation technique to handle reactive gaseous fluids. The proposed technique exploits the theory of chemical kinetics to account for a variety of chemical reactions that are frequently found in everyday life. In extending the existing fluid simulation method, we introduce a new set of physically motivated control parameters that allow an animator to control intuitively the behavior of reactive fluids. Our method is straightforward to implement, and is flexible enough to create various interesting visual effects including explosions and catalysis. We demonstrate the effectiveness of our new simulation technique by generating several animation examples with user control.
Fluid simulations are notoriously difficult to predict and control. As a result, authoring fluid flows often involves a tedious trial and error process. There is to date no convenient way of editing a fluid after it has been simulated. In particular, the Eulerian approach to fluid simulation is not suitable for flow editing since it does not provide a convenient spatio-temporal parameterization of the simulated flows. In this research, we develop a new technique to learn such parameterization. This technique is based on a new representation, the Advected Radial Basis Function . It is a time-varying kernel that models the local properties of the fluid. We describe this representation and demonstrate its use for interactive three-dimensional flow editing.
We present a new method for physically based modeling and interactive-rate simulation of 3D fluids in computer graphics. By solving the 2D Navier-Stokes equations using a computational fluid dynamics method, we map the surface into 3D using the corresponding pressures in the fluid flow field. The method achieves realistic interactive-rate fluid simulation by solving the physical governing laws of fluids but avoiding the extensive 3D fluid dynamics computation. Unlike previous computer graphics fluid models, our approach can simulate many different fluid behaviors by changing the internal or external boundary conditions. It can model different kinds of fluids by varying the Reynolds number. It can also simulate objects moving or floating in fluids. In addition, we can visualize the animation of the fluid flow field, the streakline of a flow field, and the blending of fluids of different colors. Our model can serve as a testbed to simulate many other fluid phenomena which have never been successfully modeled previously in computer graphics.