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?