unified spray, foam and bubbles for particle-based...
TRANSCRIPT
Unified Spray, Foam and Bubbles for Particle-Based Fluids
Markus Ihmsen et al.CGI 2012
Copyright of figures and other materials in the paper belongs original authors.
Presented by MyungJin Choi
2013.06. 06
Computer Graphics @ Korea University
MyungJin Choi | 2013. 06. 07 | # 2Computer Graphics @ Korea University
• Basic Knowledge
• Previous Works
• Contribution
Introduction
MyungJin Choi | 2013. 06. 07 | # 3Computer Graphics @ Korea University
Introduction: Basic Knowledge
Three Types of Approaches for Fluid
• Eulerian
Focus on Space(Grid)
• Lagrangian
Focus on Particle
• Hybrid approach
Eulerian + Lagrangian
MyungJin Choi | 2013. 06. 07 | # 4Computer Graphics @ Korea University
Introduction: Three Types of Approaches for Fluid
Eulerian Approach
• Eulerian approach
Focus on change of each spaces(grid)
• Grid-Based
Simulating Water and Smoke with an Octree Data StructureLosasso, F et al. / SIGGRAPH 2004
Fluid Animation with Dynamic MeshesKlingner, B et al. / SIGGRAPH 2006
Efficient Simulation of Large Bodies of Water by Coupling Two and Three Dimensional Techniques
Irving, G et al. / SIGGRAPH 2006
Real-Time Eulerian Water Simulation Using a Restricted Tall Cell GridChentanez, N et al. / SIGGRAPH 2011
MyungJin Choi | 2013. 06. 07 | # 5Computer Graphics @ Korea University
Introduction: Three Types of Approaches for Fluid
Lagrangian Approach
• Lagrangian approach
Focus on change of each particles
• Particle-Based
Two-Scale Particle SimulationSolenthaler, B et al. / SIGGRAPH 2011
MyungJin Choi | 2013. 06. 07 | # 6Computer Graphics @ Korea University
Introduction: Three Types of Approaches for Fluid
Hybrid Approach
• Hybrid approach
Eulerian(Grid) + Lagrangian(Particle)
• Pressure value can be modified by Eulerian methods
Hybrid Smoothed Particle HydrodynamicsRaveendran, K et al./ SIGGRAPH 2011
MyungJin Choi | 2013. 06. 07 | # 7Computer Graphics @ Korea University
Introduction: Previous Works
Grid-Based
• Using two types of grid• Not real-time simulation
Animation of Open Water Phenomena with Coupled ShallowWater and Free Surface SimulationsThurey, N. et al. / SIGGRAPH 2006
Two-way Coupled SPH and Particle Level Set Fluid SimulationLosasso, F. et al. / TVCG 2008
• Using SPH and Particles Level-Set method
• Unwanted noise with FLIP
Real-Time Eulerian Water Simulation Using a Restricted Tall Cell GridChentanez, N et al. / SIGGRAPH 2011
• Real-time simulation• Not focus on detail feature
MyungJin Choi | 2013. 06. 07 | # 8Computer Graphics @ Korea University
Introduction: Previous Works
Grid-Based
Realistic Animation of Fluid with Splash and FoamTakahashi, T. et al. / EUROGRAPHICS 2003
• Numerical problems• Restriction of time step• Hypothetical model
MyungJin Choi | 2013. 06. 07 | # 9Computer Graphics @ Korea University
Introduction: Previous Works
Particle-Based
• Numerical problems• Restriction of time step• Hypothetical model
A Layered Particle-Based Fluid Model for Real-Time Rendering of WaterBagar, F. et al. / EGSR 2010
MyungJin Choi | 2013. 06. 07 | # 10Computer Graphics @ Korea University
• Grid-Based
Be restricted to their grid-based method
Can be lost more detail feature
Not considered other feature
• Particle-Based
Does not distinguish between foam and fluid particles
Does not generate additional particles
Introduction: Previous Works
Weak Points of Previous Works
MyungJin Choi | 2013. 06. 07 | # 11Computer Graphics @ Korea University
Introduction:
Contribution
• Author propose a technique for adding diffuse material to Particle-Based fluid simulations
Not grid-based
• Difference from other works
• Can be used all particle methods
E.g. : WC SPH, PIC SPH, etc
Just relies on same type of material
• Only water particle
MyungJin Choi | 2013. 06. 07 | # 12Computer Graphics @ Korea University
• Diffuse Material Overview
Formation of Diffuse Material
• Advection and Dissolution Overview
Advection
Dissolution
Algorithm
MyungJin Choi | 2013. 06. 07 | # 13Computer Graphics @ Korea University
• How to classify diffuse material
Potential
• How to determine the amount of diffuse material
Energy
• How to determine property of diffuse particles
Sampling
Algorithm: Diffuse Material
Overview
MyungJin Choi | 2013. 06. 07 | # 14Computer Graphics @ Korea University
• Diffuse material means Foam, spray and bubble
It develops when the surface tension of water molecules is reduced and water mixes with air
Algorithm: Diffuse Material
How to classify diffuse materials
MyungJin Choi | 2013. 06. 07 | # 15Computer Graphics @ Korea University
• Remember below clamping function
It returns the value between 0 and 1
Algorithm: Diffuse Material
How to classify diffuse materials
I : input data𝜏𝑚𝑎𝑥 : user defined value 𝜏𝑚𝑖𝑛 : user defined value
𝛷 𝐼, 𝜏𝑚𝑖𝑛, 𝜏𝑚𝑎𝑥 =min 𝐼, 𝜏𝑚𝑎𝑥 −min 𝐼, 𝜏𝑚𝑖𝑛
𝜏𝑚𝑎𝑥 − 𝜏𝑚𝑖𝑛
MyungJin Choi | 2013. 06. 07 | # 16Computer Graphics @ Korea University
• Trapped Air Air is trapped by impacts
• E.g. : when the lip of a wave hits shallow water In this case air is dragged under water
In this regions have high turbulences• To classify this regions the curl operator might
be good choice Because of turbulence
• But, author proposes to use relative velocities Because of unintended result of curl operator
Algorithm: Diffuse Material
How to classify Trapped Air
MyungJin Choi | 2013. 06. 07 | # 17Computer Graphics @ Korea University
• The amount of trapped air is larger when fluid particles move towards each other It can be measured by below function
• It has the value between 0 and 2
Algorithm: Diffuse Material
How to classify Trapped Air
1 − 𝑣𝑖𝑗 ∙ 𝑥𝑖𝑗
( 𝑣𝑖𝑗 =𝑣𝑖 −𝑣𝑗
𝑣𝑖 −𝑣𝑗, 𝑥𝑖𝑗 =
𝑥𝑖 −𝑥𝑗
𝑥𝑖 −𝑥𝑗)
MyungJin Choi | 2013. 06. 07 | # 18Computer Graphics @ Korea University
Algorithm: Diffuse Material
How to classify Trapped Air
i j
𝑥𝑖𝑗
𝑣𝑖 𝑣𝑗
𝑣𝑖𝑗
Move away from each other
i j
𝑥𝑖𝑗
𝑣𝑖 𝑣𝑗
𝑣𝑖𝑗
Move towards from each other
𝑣𝑖𝑗 𝑥𝑖𝑗
𝑣𝑖𝑗 ∙ 𝑥𝑖𝑗 = -1
𝜃 = 2𝜋
1 − 𝑣𝑖𝑗 ∙ 𝑥𝑖𝑗 = 2
𝑣𝑖𝑗
𝑥𝑖𝑗
𝑣𝑖𝑗 ∙ 𝑥𝑖𝑗 = 1
𝜃 = 0
1 − 𝑣𝑖𝑗 ∙ 𝑥𝑖𝑗 = 0
MyungJin Choi | 2013. 06. 07 | # 19Computer Graphics @ Korea University
• The scaled velocity difference
• The Potential of Trapped Air 𝐼𝑡𝑎
Algorithm: Diffuse Material
How to classify Trapped Air
𝑣𝑖𝑑𝑖𝑓𝑓
=
𝑗
𝑣𝑖𝑗 1 − 𝑣𝑖𝑗 ∙ 𝑥𝑖𝑗 𝑊(𝑥𝑖𝑗 , ℎ) ,
𝑊 𝑥𝑖𝑗 , ℎ = 1 −𝑥𝑖𝑗
ℎ, 𝑥𝑖𝑗 ≤ ℎ
0 , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
𝐼𝑡𝑎 = 𝛷 𝑣𝑖𝑑𝑖𝑓𝑓
, 𝜏𝑚𝑖𝑛, 𝜏𝑚𝑎𝑥 ∙ 𝑊(𝑥𝑖𝑗 , ℎ)
MyungJin Choi | 2013. 06. 07 | # 20Computer Graphics @ Korea University
• Wave Crest At the crest of a wave, whitewater is created
• By strong wind or when the wave gets unstable
In this regions have high curvature• Curvature is used to classify this regions
The surface is locally convex
Algorithm: Diffuse Material
How to classify Wave Crest
MyungJin Choi | 2013. 06. 07 | # 21Computer Graphics @ Korea University
• The surface curvature It can be approximated with below function
• It has the value between 0 and 2
But it can’t distinguish convex from concave regions
• The angles between 𝑛𝑖 and 𝑥𝑗𝑖(relative position)
Algorithm: Diffuse Material
How to classify Wave Crest
𝑘𝑖 =
𝑗
𝑘𝑖𝑗 =
𝑗
(1 − 𝑛𝑖 ∙ 𝑛𝑗) ∙ 𝑊(𝑥𝑖𝑗 , ℎ)
𝑛: normalized surface normal
MyungJin Choi | 2013. 06. 07 | # 22Computer Graphics @ Korea University
• Wave Crest identifier 𝑘𝑖
Algorithm: Diffuse Material
How to classify Wave Crest
𝑘𝑖𝑗 = 0, 𝑥𝑗𝑖 ∙ 𝑛𝑖 ≥ 0
𝑘𝑖𝑗 𝑥𝑗𝑖 ∙ 𝑛𝑖 < 0
𝑘𝑖 =
𝑗
𝑘𝑖𝑗
MyungJin Choi | 2013. 06. 07 | # 23Computer Graphics @ Korea University
• But, all convex regions doesn’t generate diffuse materials Only the fluid particle moves in normal
• Check this Using Additional function
Algorithm: Diffuse Material
How to classify Wave Crest
𝛿𝑖𝑣𝑛 =
0, 𝑣𝑖 ∙ 𝑛𝑖 < 0.61, 𝑣𝑖 ∙ 𝑛𝑖 ≥ 0.6
MyungJin Choi | 2013. 06. 07 | # 24Computer Graphics @ Korea University
• We finally gets the Potential of Wave Crest 𝐼𝑤𝑐
Algorithm: Diffuse Material
How to classify Wave Crest
𝐼𝑤𝑐 = 𝛷 𝑘𝑖 ∙ 𝛿𝑖𝑣𝑛, 𝜏𝑚𝑖𝑛, 𝜏𝑚𝑎𝑥
𝑘𝑖 ∶ value for checking convex𝛿𝑖𝑣𝑛: value for checking move direction
MyungJin Choi | 2013. 06. 07 | # 25Computer Graphics @ Korea University
• When the surface tension is decrease, diffuse material is generated Using Weber number
• But its exact computation requires to correctly model the change in surface tension
Because of this reason, kinetic energy is used
• The kinetic energy 𝐼𝑘
Algorithm: Diffuse Material
How to determine the amount of diffuse material
𝐼𝑘 = 𝛷 𝐸𝑘,𝑖 , 𝜏𝑚𝑖𝑛, 𝜏𝑚𝑎𝑥 ,
𝐸𝑘,𝑖 = 0.5𝑚𝑖𝑣𝑖2
MyungJin Choi | 2013. 06. 07 | # 26Computer Graphics @ Korea University
• The number of diffuse particles 𝑛𝑑 is
Algorithm: Diffuse Material
How to determine the amount of diffuse material
𝑛𝑑 = 𝐼𝑘(𝑘𝑡𝑎𝐼𝑡𝑎 + 𝑘𝑤𝑐𝐼𝑤𝑐)∆𝑡
𝐼𝑘: kinetic energy𝑘𝑡𝑎: maximum number of diffuse particles of trapped air𝐼𝑡𝑎: potential of trapped air𝑘𝑤𝑐: maximum number of diffuse particles of wave crest𝐼𝑡𝑎: potential of wave crest∆𝑡: time step
MyungJin Choi | 2013. 06. 07 | # 27Computer Graphics @ Korea University
• Property has velocity and position
Generated diffuse particles have cylinder shape
Algorithm: Diffuse Material
How to determine property of diffuse particles
MyungJin Choi | 2013. 06. 07 | # 28Computer Graphics @ Korea University
• Position of diffuse particle 𝑥𝑑 is
• Velocity of diffuse particle 𝑣𝑑 is
Algorithm: Diffuse Material
How to determine property of diffuse particles
𝑥𝑑 = 𝑥 + 𝑟𝑐𝑜𝑠𝜃𝑒1′ + 𝑟𝑠𝑖𝑛𝜃𝑒2
′ + ℎ 𝑣𝑓
𝑟 = 𝑟𝑉 𝑋𝑟 , 𝜃 = 𝑋𝜃2𝜋, ℎ = 𝑋ℎ ∙ ∆𝑡𝑣𝑓
𝑋𝑟, 𝑋𝜃 , 𝑋ℎ ∈ 0. . 1 𝑎𝑛𝑑 𝑡ℎ𝑒𝑦 𝑎𝑟𝑒 𝑟𝑎𝑛𝑑𝑜𝑚 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠
𝑣𝑑 = 𝑟𝑐𝑜𝑠𝜃𝑒1′ + 𝑟𝑠𝑖𝑛𝜃𝑒2
′ + 𝑣𝑓
MyungJin Choi | 2013. 06. 07 | # 29Computer Graphics @ Korea University
• Advection
Advection is about how to determine move of diffuse material
• Dissolution
It is about when diffuse particles are destroyed
Algorithm: Advection and Dissolution
Overview
MyungJin Choi | 2013. 06. 07 | # 30Computer Graphics @ Korea University
• Diffuse material is influenced from water by their environment
In air, small influenced
On surface, medium influenced
In water, highly influenced
• Three types of diffuse materials
Spray, foam and bubble
• It is classified by their position
Algorithm: Advection
Classify type of diffuse materials
MyungJin Choi | 2013. 06. 07 | # 31Computer Graphics @ Korea University
• The type of diffuse materials can be determined by two method
The gradient of the density field
The number of neighbors
• In author’s all experiments
Less than 6 neighbors are considered as spray
More than 20 neighbors are considered as bubbles
All other cases are considered as foam
Algorithm: Advection
Classify type of diffuse materials
MyungJin Choi | 2013. 06. 07 | # 32Computer Graphics @ Korea University
• Spray Assume that the motion of spray is influenced by
external force 𝐹𝑒𝑥𝑡 and gravity 𝑔
Using Euler-Cromer method, the velocity of a spray particle is updated as
The position is updated as
Algorithm: Advection
The motion of diffuse materials
𝑣𝑠𝑝𝑟𝑎𝑦 𝑡 + ∆𝑡 = 𝑣𝑠𝑝𝑟𝑎𝑦 𝑡 + ∆𝑡(𝐹𝑒𝑥𝑡 𝑡
𝑚+ 𝑔)
𝑥𝑠𝑝𝑟𝑎𝑦 𝑡 + ∆𝑡 = 𝑥𝑠𝑝𝑟𝑎𝑦 𝑡 + ∆𝑡𝑣𝑠𝑝𝑟𝑎𝑦 𝑡 + ∆𝑡
MyungJin Choi | 2013. 06. 07 | # 33Computer Graphics @ Korea University
• Foam Foam is purely advected according to the averaged
local fluid velocity
The position is updated as
Algorithm: Advection
The motion of diffuse materials
𝑉𝑓 𝑋𝑑 , 𝑡 + ∆𝑡 = 𝑓𝑉𝑓 𝑡 + ∆𝑡 𝐾(𝑋𝑑 𝑡 − 𝑋𝑓 𝑡 , ℎ)
𝑓𝐾 𝑋𝑑 𝑡 − 𝑋𝑓 𝑡 , ℎ,
𝑥𝑓𝑜𝑎𝑚 𝑡 + ∆𝑡 = 𝑥𝑓𝑜𝑎𝑚 𝑡 + ∆𝑡 𝑉𝑓 𝑋𝑑, 𝑡 + ∆𝑡
𝑉𝑓 𝑡 + ∆𝑡 =𝑋𝑓 𝑡 + ∆𝑡 − 𝑋𝑓 𝑡
∆𝑡
f: fluid particlesd: diffuse particle
MyungJin Choi | 2013. 06. 07 | # 34Computer Graphics @ Korea University
• Bubble Bubble is advected according to the averaged local
fluid velocity
Bubble is governed by buoyancy
• Due to high density contrast of water and air
• Buoyancy counteracts gravity
The position is updated as
Algorithm: Advection
The motion of diffuse materials
𝑣𝑏𝑢𝑏 𝑡 + ∆𝑡 = 𝑣𝑏𝑢𝑏 𝑡 + ∆𝑡(−𝑘𝑏𝑔 + 𝑘𝑑 𝑉𝑓 𝑥𝑑, 𝑡 + ∆𝑡 − 𝑣𝑏𝑢𝑏 𝑡
∆𝑡)
𝑥𝑏𝑢𝑏 𝑡 + ∆𝑡 = 𝑥𝑏𝑢𝑏 𝑡 + ∆𝑡𝑣𝑏𝑢𝑏 𝑡 + ∆𝑡
𝑘𝑏: user defined value𝑘𝑑: user defined value
MyungJin Choi | 2013. 06. 07 | # 35Computer Graphics @ Korea University
• Bubbles and spray doesn’t have life time
But if they becomes foam, have life time
• Life time is predetermined value
• Subtract time step form life time
• Large clusters of foam are more stable
Set the life time in relation to the generation potentials
Algorithm: Dissolution
When diffuse particles are destroyed?
MyungJin Choi | 2013. 06. 07 | # 36Computer Graphics @ Korea University
• The color of diffuse particles is determined by two algorithm
Ray Casting
Alpha Blending
Rendering
MyungJin Choi | 2013. 06. 07 | # 37Computer Graphics @ Korea University
• Ray Casting
Eye ray is cast through the diffuse volume with direction 𝜔
• Bounded by an axis aligned bounding box
With start point 𝑥𝑠 and end point 𝑥𝑒 With equally spaced intervals ∆𝑥
When ray reached to diffuse particle at point 𝑥, local volume density 𝜌 𝑥 is computed
• Finally, compute the radiance L
Rendering:
Ray Casting
MyungJin Choi | 2013. 06. 07 | # 38Computer Graphics @ Korea University
• The radiance L
It is in the range between zero and one
Rendering:
Ray Casting
𝐿 𝑥, 𝜔 =
𝑖=0
𝑠
𝑒−𝜌(𝑋𝑠+𝑖∆𝑋)𝜏∆𝑋,
𝑠 =𝑥 − 𝑥𝑠∆𝑥
, 𝜏 𝑖𝑠 𝑢𝑠𝑒𝑟 𝑑𝑒𝑓𝑖𝑛𝑒𝑑 𝑠𝑐𝑎𝑙𝑒 𝑓𝑎𝑐𝑡𝑜𝑟
MyungJin Choi | 2013. 06. 07 | # 39Computer Graphics @ Korea University
• Final color 𝐶𝑝 is
Rendering:
Alpha Blending
𝐶𝑝= (1-𝐿 𝑥𝑒 , 𝜔 )𝐶𝑑 + 𝐿 𝑥𝑒 , 𝜔 𝐶𝑏
𝐶𝑑: color of diffuse material𝐶𝑏: color of background
MyungJin Choi | 2013. 06. 07 | # 40Computer Graphics @ Korea University
• Author simulates 4 scenarios
Wave, Tower, Ship, Lighthouse
In all scenarios, use follow user defined values
• 𝜏𝑤𝑐𝑚𝑖𝑛 = 2, 𝜏𝑤𝑐
𝑚𝑎𝑥 = 8
• 𝜏𝑡𝑎𝑚𝑖𝑛 = 5, 𝜏𝑡𝑎
𝑚𝑎𝑥 = 20
• 𝜏𝑘𝑚𝑖𝑛 = 5, 𝜏𝑘
𝑚𝑎𝑥 = 50
Results
MyungJin Choi | 2013. 06. 07 | # 41Computer Graphics @ Korea University
• Wave
Results
MyungJin Choi | 2013. 06. 07 | # 42Computer Graphics @ Korea University
• Tower
Results
MyungJin Choi | 2013. 06. 07 | # 43Computer Graphics @ Korea University
• Ship
Results
MyungJin Choi | 2013. 06. 07 | # 44Computer Graphics @ Korea University
• Light house
Results
MyungJin Choi | 2013. 06. 07 | # 45Computer Graphics @ Korea University
• Timings and particle counts for the presented show cases
Wave: 5s per frame
Tower: 92s per frame
Ship: 31s per frame
Light house: 27s per frame
Results
MyungJin Choi | 2013. 06. 07 | # 46Computer Graphics @ Korea University
• Resulting in visually plausible, highly detailed flow patterns
• The realism of fluid simulations is significantly improved especially for low resolution fluids
• But this dose not conserve mass
Conclusion