Transcript 顏志翰
Visual Simulation of Smoke
SIGGRAPH’01
Ronald Fedkiw, Jos Stam and Henrik Wann Jensen
Stanford University & Alias|wavefront
Outline
Introduction
Previous Work
The Equations of Fluid Flow
Self-Advection by Semi-Lagrangian
Numerical Dissipation
Results
Introduction
Ideally
Looks good
Fast simulation
Looks good?
Needs to look plausible
Doesn’t need to be exactly correct
doesn’t suffer from excessive numerical
dissipation
Previous Work
Kajiya and Von Herzen (SIGGRAPH 84)
N. Foster and D. Metaxas (SIGGRAPH 97)
Improve Stam’99 (Stable Fluids)
Handle moving boundaries
Reduce numerical dissipation
Add high quality volume rendering
Method still fast but looks more “smoke-like”
The Equations of Fluid Flow
Review:
Navier-Stokes Equations
Incompressible Euler Equations
self-advection
Fluid velocity:
u= <Vu , Vv , Vw >
forces
u 0
incompressible
(Navier-Stokes without viscosity)
Gradient Implement
Additional Equations
Density
Temperature
Buoyancy force
(u )
t
T
(u )T
t
f z (T Tamb ) z
Algorithm
add forces
t=0
self-advection project
t = t + dt
Helmholtz-Hodge Decomposition
u 0
Self-Advection
t
(u )
t+dt
Semi-Lagrangian solver (Courant, Issacson & Rees 1952)
Semi- Lagrangian
The semi-Lagrangian integrator itself is broken
down into three main parts
1.
Vector field extraction
2.
Particle tracing
3.
Interpolation
Self-Advection
t
t+dt
Semi-Lagrangian solver (Courant, Isaacson & Rees 1952)
Self-Advection
t
For each u-component…
t+dt
Self-Advection
t
For each u-component…
t+dt
Self-Advection
t
Set interpolated value in new grid
t+dt
Self-Advection
Repeat for all u-nodes
Self-Advection
Repeat for all v-nodes
Numerical Dissipation
‘Stable Fluids’ method dampens
the flow
Typical with semi- Lagrangian
methods
Improve using
“Vorticity Confinement” force
Vorticity Confinement
Basic idea:
Add energy lost as an external force
Use “Vorticity Confinement” force
invented by John Steinhoff 1994
Vorticity Confinement
: vorticity
1 u y u x
1
u (
)
2 x
y
2
Vorticity Confinement
Vorticity location
vector :
Normalized vorticity
Location vector : N
Vorticity Confinement
Spatial discretization:
h
Total Forces
User supplied fields
Buoyancy force
New confinement force
Results
Results
Any Problem?