evolving sub-grid turbulence for smoke animation hagit schechter robert bridson sca 08
Post on 18-Dec-2015
212 views
TRANSCRIPT
Evolving Sub-Grid Turbulence for Smoke Animation
Hagit Schechter
Robert Bridson
SCA 08
The Challenge
licensed under Creative Commons
The Goal
Scalability Speed Realism
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
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
Turbulence model Method overview Large-scale simulation Small-scale simulation Results
Turbulence model
Method overview
Large-scale simulation
Small-scale simulation
Results
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
sl UUU
Large-scale flow Sub-grid turbulence flow
forces viscous
forces inertial
/Re
LV
L
V ss
1l 3l2l
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
k
tD
kD
k
T
The K-Epsilon Model
Viscous
forces
Gained from
large-scale
Dissipation at
smallest scale
We use simplified viscosity term kApply K-Epsilon to all turbulent scales
Our turbulence model:
)()()( bbP
b kkk
In space
Across scales
2D Energy Transport Model
Turbulence model
Method overview
Large-scale simulation
Small-scale simulation
Results
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
Turbulence model
Method overview
Large-scale simulation
Small-scale simulation
Results
Navier-Stokes
0
11)(
u
fPuut
u
Dt
uD
Buoyancy forces
gsCTTCb sambT
Large-Scale Simulation
temperature gravity
FLIP: MAC grid plus particles for advection
Turbulence Properties
)(bijkE
Evaluate, advect, and transport
For every turbulence scale
On every timestep
turbulent energy density
)()1(
)(
)(1,,
)(1,,
)(,1,
)(,1,
)(,,1
)(,,1
)()(
6bijk
bijk
bijk
bkji
bkji
bkji
bkji
bkji
bkji
bijk
bijk
EtEt
Et
EEEEEEt
EE
Previous step
energy
Viscous forces
Gain from
larger scale
Loss to
smaller scale
Transport Turbulence Properties
k
tD
kD
k
TK-Epsilon
equation
Preserving Angular Momentum
Advection Projection
The problem: numerical dissipation (time-split)
13
1~ nnnpredicted vvvv
Our solution: time-split predictor
Advect+predict Projection
Turbulence model
Method overview
Large-scale simulation
Small-scale simulation
Results
Small-Scale Simulation
Perlin 1985, 2002
321 ,,,
3,2,1,,
txv
itxNtx ii Bridson et al 2007
Perlin and Neyret 2001
Our model: Turbulence driven Curl-Noise to generate small-scale flow Synthesize with large-scale flow
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
)(bijkE
Synthesize
),(),(),( txutxutxu sl
Small-scale algorithm can be trivially parallelized to run on a GPU !
Update positions
Results
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
Natural Sciences and Engineering Research Council of Canada, BC Innovation Council, and Precarn Incorporated
The End
Questions?