Title: Evolving SubGrid Turbulence for Smoke Animation
1Evolving Sub-Grid Turbulence for Smoke Animation
- Hagit Schechter
- Robert Bridson
SCA 08
2The Challenge
licensed under Creative Commons
3The Goal
- Scalability
- Speed
- Realism
4Related Work
- Kolmogorov spectrum
- Stam and Fiume 1993
- Neyret 2003
- Kim, Thürey, James, and Gross 2008
- Vorticity confinement, Vortex particles
- Fedkiw, Stam, and Jensen 2001
- Selle, Rasmussen, and Fedkiw 2005
- Park and Kim 2005
5Contributions
- Multi-scale evolution of turbulent energy
(K-Epsilon, Kolmogorov) - Turbulence procedure suitable to run on a GPU
(parallelized trivially) - Reduced numerical dissipation of angular momentum
6Talk Overview
- Turbulence model
- Method overview
- Large-scale simulation
- Small-scale simulation
- Results
7- Turbulence model
- Method overview
- Large-scale simulation
- Small-scale simulation
- Results
8Related Work (Physics)
- Kolmogorov model
- Richardson, 1922
- Kolmogorov, 1941, 1942
- K-Epsilon model
- Davidov, 1961
- Harlow and Nakayama, 1968
- Hanjalic, 1970
- Jones and Launder, 1972
- Launder and Sharma, 1974
9Decomposition of Turbulent Flow
Large-scale flow
Sub-grid turbulence flow
10Energy Cascade
Kolmogorov model Kinetic energy is transported
from largest scale to smaller and smaller scales
and is dissipated to heat in the smallest scales
11The K-Epsilon Model
Viscous forces
Gained from large-scale
Dissipation at smallest scale
Our turbulence model
We use simplified viscosity term
Apply K-Epsilon to all turbulent scales
122D Energy Transport Model
In space
Across scales
13- Turbulence model
- Method overview
- Large-scale simulation
- Small-scale simulation
- Results
14Method Overview
Large-scale simulation
Small-scale simulation
- Large-scale flow
- Add forces
- Advect
- Project
- Output velocities
- Turbulence properties
- Evaluate
- Transport
- Output properties
- Small-scale flow
- Read turbulence properties
- Apply them to generate small-scale velocities
- Synthesize
- Read large-scale velocities
- Synthesize velocities
- Advance particles
15- Turbulence model
- Method overview
- Large-scale simulation
- Small-scale simulation
- Results
16Large-Scale Simulation
Buoyancy forces
temperature
gravity
FLIP MAC grid plus particles for advection
17Turbulence Properties
For every turbulence scale
On every timestep
Evaluate, advect, and transport
turbulent energy density
18Transport Turbulence Properties
Previous step energy
Viscous forces
Gain from larger scale
Loss to smaller scale
K-Epsilon equation
19Preserving Angular Momentum
The problem numerical dissipation (time-split)
Advection
Projection
20Our solution time-split predictor
Advectpredict
Projection
21- Turbulence model
- Method overview
- Large-scale simulation
- Small-scale simulation
- Results
22Small-Scale Simulation
- Our model
- Turbulence driven Curl-Noise to generate
small-scale flow - Synthesize with large-scale flow
23The Procedure
Initialize Plant marker particles
On Every time-step
1. Rotate basis vectors for every turbulence scale
Time coherence turbulence driven vorticity
2. Compute small-scale velocity for every particle
Turbulence driven Curl-Noise
24Synthesize
Update positions
!
Small-scale algorithm can be trivially
parallelized to run on a GPU
25Results
26To Summarize
- Capture the time evolution of turbulence
- Combine coarse grid simulation with procedural
method that is suitable to run on a GPU - Detail level is tunable and scalable
27Acknowledgements
- Natural Sciences and Engineering Research
Council of Canada, BC Innovation Council, and
Precarn Incorporated
28The End
Questions?