Wavelet
Turbulence for Fluid Simulation
Appearing in ACM
SIGGRAPH 2008
New!
2012
Technical Academy Award and related
press
Four frames of smoke around a sphere. Left
halves show the underlying simulation, right
halves apply our algorithm.
|
Theodore
Kim
Cornell University
|
Nils
Thürey
ETH Zurich
|
Doug
James
Cornell University
|
Markus
Gross
ETH Zurich
|
Abstract
We present a novel wavelet
method for the simulation of fluids at high
spatial resolution. The algorithm enables
large- and small-scale detail to be edited
separately, allowing high-resolution detail to
be added as a post-processing step. Instead of
solving the Navier-Stokes equations over a
highly refined mesh, we use the wavelet
decomposition of a low-resolution simulation
to determine the location and energy
characteristics of missing high-frequency
components. We then synthesize these missing
components using a novel incompressible
turbulence function, and provide a method to
maintain the temporal coherence of the
resulting structures. There is no linear
system to solve, so the method parallelizes
trivially and requires only a few auxiliary
arrays. The method guarantees that the new
frequencies will not interfere with existing
frequencies, allowing animators to set up a
low resolution simulation quickly and later
add details without changing the overall fluid
motion.
|
 |
Paper download
[PDF, 9.9 MB] |
 |
Video download
[MOV, 70 MB] |
 |
Source code |
 |
Presentation Slides
[PDF, 32.7 MB] |
Examples
|
 |
A
large smoke plume synthesized from a
simulation that was 7 times smaller.
Video download
[MOV, 12 MB]
|
 |
Flow
around a spherical obstacle. We synthesized a
400 x 400 x 400 grid from a 50 x 50 x 50 grid.
Each frame took an of average 30 seconds on a
four core workstation.
Video download
[MOV, 7.5 MB]
|
 |
Flow
around a complex obstacle. We synthesized a
720 × 576 × 576 grid from a 80
× 64 × 64 grid. Each frame took
less than two minutes on an eight core
workstation.
Video download
[MOV, 6 MB]
|
 |
A
comparison between a low resolution
simulation, a linearly upsampled simulation,
and our algorithm.
Video download
[MOV, 6 MB]
|
 |
Comparision
of a 12800 × 25600 × 12800
simulation to a 50 x 100 x 50 simulation using
particle-based densities. The frames averaged
170s a frame on an eight core machine and used
180 MB of extra memory.
Video download
[MOV, 10 MB]
|
 |
Same
simulation as the previous video with an
obstacle added.
Video download
[MOV, 16 MB]
|
|
|
|