Evolving Sub-Grid Turbulence for Smoke Animation : Evolving Sub-Grid Turbulence for Smoke Animation Hagit Schechter
Robert Bridson SCA 08
The Challenge : The Challenge licensed under Creative Commons
The Goal : The Goal Scalability
Speed
Realism
Related Work : Related 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
Contributions : Contributions 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
Talk Overview : Talk Overview Turbulence model
Method overview
Large-scale simulation
Small-scale simulation
Results
Slide 7 : Turbulence model
Method overview
Large-scale simulation
Small-scale simulation
Results
Related Work (Physics) : Related 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
Decomposition of Turbulent Flow : Decomposition of Turbulent Flow Large-scale flow Sub-grid turbulence flow
Energy Cascade : Kolmogorov model:
Kinetic energy is transported from largest scale to smaller and smaller scales and is dissipated to heat in the smallest scales Energy Cascade
The K-Epsilon Model : The K-Epsilon Model Viscous
forces Gained from
large-scale Dissipation at
smallest scale We use simplified viscosity term Apply K-Epsilon to all turbulent scales Our turbulence model:
Slide 12 : In space Across scales 2D Energy Transport Model
Slide 13 : Turbulence model
Method overview
Large-scale simulation
Small-scale simulation
Results
Method Overview : Method Overview Large-scale flow
Add forces
Advect
Project
Output velocities
Turbulence properties
Evaluate
Transport
Output properties Large-scale simulation Small-scale simulation Small-scale flow
Read turbulence properties
Apply them to generate small-scale velocities
Synthesize
Read large-scale velocities
Synthesize velocities
Advance particles
Slide 15 : Turbulence model
Method overview
Large-scale simulation
Small-scale simulation
Results
Slide 16 : Navier-Stokes Buoyancy forces Large-Scale Simulation temperature gravity FLIP: MAC grid plus particles for advection
Turbulence Properties : Turbulence Properties Evaluate, advect, and transport For every turbulence scale On every timestep turbulent energy density
Slide 18 : Previous step
energy Viscous forces Gain from
larger scale Loss to
smaller scale Transport Turbulence Properties K-Epsilon
equation
Slide 19 : Preserving Angular Momentum Advection Projection The problem: numerical dissipation (time-split)
Slide 20 : Our solution: time-split predictor Advect+predict Projection
Slide 21 : Turbulence model
Method overview
Large-scale simulation
Small-scale simulation
Results
Small-Scale Simulation : Small-Scale Simulation Perlin 1985, 2002 Bridson et al 2007 Perlin and Neyret 2001 Our model:
Turbulence driven Curl-Noise to generate small-scale flow
Synthesize with large-scale flow
The Procedure : 2. Compute small-scale velocity for every particle Initialize: Plant marker particles On Every time-step: The Procedure 1. Rotate basis vectors for every turbulence scale Time coherence: turbulence driven vorticity Turbulence driven Curl-Noise
Synthesize : Synthesize Small-scale algorithm can be trivially parallelized to run on a GPU ! Update positions
Results : Results
To Summarize : To 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
Acknowledgements : Acknowledgements Natural Sciences and Engineering Research Council of Canada, BC Innovation Council, and Precarn Incorporated
The End : The End Questions?