Download presentation
Published byRosalyn Harrington Modified over 9 years ago
1
Real-time Simulations of Bubbles and Foam within a Shallow Water Framework
논문 세미나 그래픽스 연구실 윤종철
2
목차 Abstract Introduction Related Work Overview
The Shallow Water Equations Simulating Bubbles Spherical vortices Shallow Water Coupling Coalescence and Surface Animation Limitations Simulating Foam Smoothed Particle Hydrodynamics Foam Model Results Conclusions
3
Abstract shallow water기반 particle model 제안 실시간 bubble과 foam 효과를 위해
SPH simulation 사용 Bubble은 spherical vortex 사용 surface tension 포함 SPH와 Bubble과의 상호작용 High frame rate 우선 동영상 고고
4
1. Introduction Goal Contribution 2d shallow water simulation에서 3d 효과
Shallow water 기반 Spherical vortices(3d flow field를 효율적으로 생성) bubble simulation model 제안 SPH dynamics with surface tension 기반 Foam simulation 제안 Bubble같은 중요한 fluid effect는 요리 또는 커피를 컵에 따르는 것 같이 매일 일어나는 상황에서 두드러진다. 이것은 복잡한 법칙을 따르기 때문에 전체적인 fluid motion 보다 capture하기가 더 어렵다. 이 논문의 목표는 본질적으로 2차원 SW simulation의 framework속에서 이 3차원 효과를 얻는 것이다. 실시간 상호작용이 가능하게 만들기 위해 bubble dynamic, foam formation을 간략화할 것이다.
5
2. Related work Rapid, Stable Fluid
Dynamics for Computer Graphics [KM90] Dynamic Simulation of Splashing Fluids [OH95] 이 topic은 [KM90]에서 처음 나왔다. wave equation -> height field 이후로 2차원 method가 예를 들어 splash를 발생하는 OH95가 있다.
6
2. Related work Interactive Animation of Ocean Waves [Lov03]
wave 발생의 다른 class는 spectral(스펙트럼사용) approach가 있다. 예를 들어, [HNC02],[Lov03],[Tes04]. 이 approach들은 특히 dispersive effect에 적당. deep water wave에 적당하다. 본 논문에서는 효율적으로 계산을 위해 shallow water discretization을 사용할 것이다. wave dispersion은 우리가 목표로 하고 있는 효과와 scale이 다르다.
7
2. Related work Stable fluids [Sta99]
Practical Animation of Liquids [FF01] full 3d equation(Navier-Stokes)을 푸는 것은 Stam, Foster, Fedkiw의해 인기.
8
2. Related work Efficient Simulation of
Large Bodies of Water by Coupling Two and Three Dimensional Techniques [IGLF06] 이 simulation은 많은 계산량을 요구하기 때문에, cost를 줄이기위해 최근에 2d technique과 조합해왔다.[IGLF06, TS06] 이 approach들은 real-time application이 target이 아니지만, effect가 detail하다.
9
2. Related work Better with Bubbles: Enhancing the Visual Realism of Simulated Fluid [GH04] Physics-Based Boiling Simulation [MUM06] [GH04]에서 저자는 flow field에서 bubble을 발생시켰다. 반면에, Mihalef et. al 은 [MUM06]에서 bubbly flow를 위해 full two phase simulation을 제안했다.
10
2. Related work Simulation of bubbles [ZYP06]
Simulation and rendering of liquid foams [KVG02] foam을 위해 thin fluid sheet을 structure처럼 다룸. [ZYP06]에서 제안했다. foam simulation을 위해 물리 기반 모델링, foam 렌더링을 다루는 다른 approach는 [KVG02]에서 제안.
11
2. Related work Particle-Based Fluid Simulation for Interactive Applications [MCG03] Particle-Based Fluid-Fluid Interaction [MSRG05] NS equation을 푸는 다른 approach는 SPH가 있다. particle기반 실시간 환경에서 인기있다. [MSRG05]에서 저자는 boiling simulation을 실행했다. 본 논문과는 대조적으로 SPH는 gas와 liquid phase 둘 다 사용된다. 본 논문은 lower viscosities의 fluid에 초점을 맞추었다. SW surface상의 foam structure를 모델링하기 위해 SPH를 사용한다. 또 surface tension은 foam bubble의 clustering에 사용된다.
12
Over view
13
Over view 현실 bubble 주변 flow는 very turbulent해서 계산 곤란. Real-time simulation위해 간략화 Section 3 SW equation Section 4 Bubble은 particle로 simulation Water surface, 다른 bubble과 상호작용 Section 5 SPH로 Foam simulation
14
3. The Shallow Water Equations
SW equation은 full NS equation을 simplification하여 유도 z축을 따라 velocity가 많이 변하지 않는다고 가정 물 표면으로부터 바닥까지 일정한 압력 변화 가정 Very low viscosity 가정(viscosity term 무시) 2D simulation은 x-y plane에 대응 Gravity force는 z축에 작용 Pressure와 gravity만이 flow를 제어하는 힘 Full NS equation을 2d로 simplification하기 위해 여러 가지 가정을 한다.
15
3. The Shallow Water Equations
H : height of the water v : horizontal velocity of fluid g : gravitational force Full NS equation을 간략화 하면 나옴. H(x, t)는 ground 위의 물의 높이. V는 x-y평면 수평 속도. G는 gravity 2d에 수직인 방향. Pressure와 gravity만이 flow를 제어 (u, v) 는 높이 변화량만큼 비례하는 중력을 빼줌으로써 계산됨. H가 많이 변하면 뒤에 값이 커져서 u, v방향 속도 많이 변함. 높은 곳에서 물을 놓으면 빨리 퍼짐. Divergence는 편미분의 합. H는 u, v의 divergence에 비례하는 높이를 빼줌으로써 계산. Divergence 양수면 나가는 것이 많은 거니까 높이 내려줘. Divergence가 음수이면 그만큼 물 높여줘. h x y
16
4. Simulating Bubbles Bubble has the following properties: Position
Velocity Radius Volume(or mass) 상대적으로 낮은 bubble 속도의 flow와 강한 surface tension을 가정 bubble은 구 모양 particle로 다룸 Bubble position은 Euler step으로 update
17
4.1. Spherical vortices Hill의 spherical vortex concept 사용
[Bat67]에 의하면 bubble 주위에서 experimentally 발견 bubble 주위 flow의 approximation이지만 사용 Hill's vortex의 streamline 그림이다. 우리는 우리 시뮬레이션 안에서 bubble 주위의 flow를 모델링하기 위해 approximation이지만 사용할꺼다.
18
4.1. Spherical vortices Hill의 spherical vortex는
보통 Polar coordinates 에서 stream function으로 주어짐 a : radius of spherical vortex But analytical solution 사용 Hill의 spherical vortex는 보통 Polar coordinates에서 stream function으로 주어짐. 여기서 a는 spherical vortex의 radius다. 이 function의 isoline을 따라가는 velocity field는 spatial derivative로 직접 계산할 수 있다. 그러나 다음에 나오는 analytical solution을 사용할 것이다.
19
4.1. Spherical vortices Analytical solution [Saf94]
divergence-free velocity field를 생성 생성된 field의 Spherical region 밖은 zero vorticity 어떻게 나온 식인지 궁금해서 찾아봤다. Saf94에 없다. 다 찾아봤다. Hill94에 있더라. 여기서는 타원형을 계산했는데 대충 구로 보면 비슷한 식이 나온다. 이 방정식은 divergence-free velocity field를 만든다. 이 field는 spherical 범위 밖에는 zero vorticity를 갖는다. flow field의 이 analytical solution은 bubble 상호작용의 효율적인 계산을 할 수 있게 한다.
20
4.1. Spherical vortices Center of spherical vortex : a=3r a=r
Bubble center Bubble radius Bubble velocity Radius of spherical region a=3r a=r 1/2r a r spherical vortex의 center c는 bubble center p로 계산된다. a는 spherical 범위의 반지름이다. Pi에서 vortex 반지름 빼고, 1/2r 더하면 bubble은 vortex의 inner spherical 범위의 앞에 놓여진다. 본 논문에서 a=3r을 선택했다. 이 parameter는 vortices의 확장을 컨트롤하는데 사용될 수 있다. a=r로 하면, bubble 주위의 flow만 남는다.
21
4.1. Spherical vortices Bubble j와 bubble i의 spherical vortex center와의 거리 : Bubble j에 영향을 주는 velocity : : linear fall off function z 방향 속도 : Spherical vortex를 사용해서 어떻게 Bubble에 영향을 줄것인가 알아보겠다. dij는 bubble j의 위치와 bubble i 주위의 spherical vortex의 중심의 거리이다. bubble j에 영향을 주는 이 velocity는 다른 모든 bubble i로부터의 vorticity force의 합에의해 주어진다. fall off function fv가 곱해진다. 그리고 shallow water simulation v의 velocity를 더해서 구한다. 파티클 속도 u, v는 주어져있고 z는 지난 두 스텝의 높이로부터 계산될 수 있다. 거리가 a보다 멀면, uh에서 밑에 것이 적용되고, 3a보다 멀면 fall off function에서 0을 만든다. Delta/m은 힘을 속도로. /* fluid volume의 안쪽의 velocity value를 위해 우리는 지수적으로 velocity value를 scale down한다. surface에서 한번 bubble이 깨지고 simulation에서 제거되고 나면 vortex는 시간이 흐른 뒤에 fluid에서 disspate된다. 지워진 bubble의 위치에 vortex sphere를 놓은 것이 마지막 위치에서 사라지는 것으로 이 효과는 설명된다. 이것은 fluid 관성의 효과를 준다. */
22
4.2. Shallow Water Coupling
Water surface에서 bubble이 터지기 전까지 SW simulation과 bubble과 coupling은 no effect Normalized spline kernel W(h,d) 사용 Bubble 전체가 물에 잠겨있는 동안은 fluid surface를 다른 것으로 대체할 만큼 smooth하다고 가정 bubble과 shallow water와의 coupling은 bubble이 water surface에서 터질때까지 효과가 없다. bubble이 전체가 물에 잠겨있는 동안, 그 주변의 flow는 fluid surface를 다른 것으로 대체할 만큼 smooth하다. 이 displacement는 normailized spline kernel W(h,d)를 사용하여 구한다.
23
4.2. Shallow Water Coupling
Bubble이 잠겨있는 동안, 로 대체 는 water surface를 rendering하기 위한 offset으 로만 사용, SW simulation에는 영향 안줌 However, 일 때, integral of 는 bubble 의 volume과 같음 Bubble이 잠겨있는 동안 H(x)를 di(x)로 대체한다. 이때까지 di는 오직 water surface 렌더링을 위해 offset으로 사용되는 것에 주의해라. SW에는 영향을 미치지 않는다. 그러나 H(x)=piz일때 di의 적분은 bubble의 volume과 같다.
24
4.2. Shallow Water Coupling
Surface에서 bubble이 터지면 bubble 주위에 circular wave가 생기도록 변경 SW simulation의 fluid height에 더함 (10)은 sw simulation의 질량 보존 한번 bubble이 surface에서 터지는 것은 (H(x)+di(x)-piz<0)인것을 의미한다. 우리는 bubble주위의 circular wave를 나타내기 위해 수정할 것이다. (10)을 fluid height H(x)에 더했다. shallow water simulation안의 surface wave의 결과는 bubble의 size를 따른다. 커널 그림 그릴 것
25
4.2. Shallow Water Coupling
Bubble에 작용하는 힘 Only buoyancy and velocity forces : Buoyancy force : gas와 fluid 사이의 density 차이 ( 사용) 본 논문에서 fluid안의 bubble에 작용하는 힘 vortex, buoyancy buoyancy force는 -g 감마b mi로 주어진다. 여기서 감마b는 gas와 fluid의 density 차이를 set하기 위한 파라미터다. 여기서는 간단하게 1 사용 더 viscous fluid를 위해 current bubble velocity를 방해하는 drag force를 이 점에 더할 수 있다. F/m=a니까 m으로 나누어 줌.
26
4.3. Coalescence and Surface Animation
Coalescence of bubbles 두 bubble i, j의 거리 < ri + rj 이면, simulation에서 삭제 후, volume m(mi + mj)의 new bubble 생성 bubble의 다른 속성은 volume에 따라 interpolation Ex) velocity Radius Bubble surface animation Bubble 이동 방향에 Sinusoidal offset 더함 Bubble velocity와 size로 frequency를 정함 Bubble이 merge될 때, frequency, amplitude 일시적 증가 uj 또 다른 중요한 효과는 coalescence(합체) of bubble이다. 두 bubble i, j의 거리가 그들의 반지름의 합보다 작아지면, 그들은 simulation에서 지워지고, volume m(두 bubble의 합)의 새 bubble이 생긴다. bubble의 다른 속성들은 이 volume에 따라 interpolation된다. 예를 들면 속도. 여기서 논문의 오타 새 bubble의 반지름은 volume에 의해 구해진다. 이것은 이 bubble의 spherical vortex의 반지름의 변화를 이끈다. 여기서 비록 spherical bubble shape을 가정하지만, 이 bubble 표면은 렌더링을 위해서 animation된다. bubble이 free surface를 나타내는 것처럼, 이것도 마찬가지로 이 bubble 표면이 perturb되면 wave propagation을 보인다. 이것은 예를 들어 두 bubble이 merge될 때 중요하다. 이 효과를 만들기 위해, sinusoidal offset이 bubble velocity와 size에 의해 주어진 frequency로 bubble의 방향을 따라서 더해진다. 우리는 fluid 주위의 크고 빠른 bubble움직임, 강한 perturbation을 가정했다. 두 bubble이 merge될 때, 이 displacement의 frequency와 amplitude는 일시적으로 증가된다.
27
4.4. Limitations fluid의 inertia effect 다룰 수 없음
Bubble이 fluid에 존재할 동안만, bubble 주위에서만 flow 생성 bubble없이, SW simulation은 오직 fluid volume 3차원 flow effect 불가 결과 velocity field는 divergence-free하지 않음 이 approach는 지금까지는 bubbly flow의 realistic 시뮬레이션을 만들어냈다. 그러나 태생적인 limitation이 있다. fluid의 inertia effect를 확실히 다룰 수 없다. interesting flow structure는 오직 bubble주위에서만 보이고 bubble이 fluid안에 있는 동안만 존재할 것이다. bubble없이, SW 시뮬레이션은 오직 fluid volume이다. 3d flow effect를 capture할 수 없다. 또, 결과 velocity field는 divergence free하지 않다. 목표로 하는 게임 같은 application에서는 문제가 되지 않는다.
28
5. Simulating Foam fluid surface상의 Foam structure는 bubble에 의 해 생성
surface tension effect가 깨지는 것이 delay되어 서 생김 surface tension은 foam bubble이 서로 typical clustering하도록 이끔 그래서 Foam simulation을 위해 surface tension algorithm과 SPH simulation 사용 fluid surface상의 Foam structure는 bubble에 의해 생긴다. surface tension effect가 깨지는 것이 delay되어서 생긴다. 이 surface tension은 foam bubble이 서로 typical clustering하게 이끈다. 그리고 hydrophilic(물을 좋아하는) wall을 이끈다. foam같은 시뮬레이션을 위해 우리는 surface tension algorithm과 함께 SPH시뮬레이션을 사용한다. 그리고 shallow water simulation으로부터 힘을 준다.
29
5.1. SPH xi r x Use scalar kernel function W(r) Symmetric: W(|x-xi|)
Normalized: W(x) dx = 1 xi x r SPH 알고리즘은 Lagrangian approach로 Navier-Stokes equation을 수치적으로 푼다. fluid의 volume은 particle에 의해 나타내진다. 그리고 kernel function은 pressure와 velocity같은 macroscopic(극히 작은) fluid quantities를 구하기 위해 사용된다. fluid property A는 point X에서 per particle properties A로부터 구해진다. 그림 그릴 것
30
5.2. Foam Model Foam의 overall volume을 SPH로 나타냄
Surface tension은 bubble의 덩어리를 모델링 SPH particle size는 section 4의 bubble의 평균 size 로 초기화 user가 정한 확률로 foam particle 생성 삭제된 bubble의 위치에서 foam particle 생성 SPH particle size는 고정, but virtual size 저장 Rendering, surface force에 사용 surface상의 foam bubble은 반 구형 모양 randomized life time 터지면 equation(10)으로 wave 생성 Foam model 대략적인 내용 SPH를 foam 하나의 overall volume으로 나타낸다. surface tension은 foam안의 bubble의 agglomeration(덩어리)를 모델링하기 위해 사용된다. SPH simulation에서 particle size si는 섹션 4의 bubble simulation안에서 생성된 bubble의 평균 size로 초기화된다. bubble 삭제를 위한 equation(10) 대신에, 우리는 삭제된 bubble의 위치에서 foam particle을 생성한다. 비록 SPH particle의 size가 si로 정해져 있지만, 각 particle은 original bubble에서 상속된 virtual size ri를 저장한다. 이 size는 foam의 렌더링을 위해 사용되고, surface force를 생성하는데 사용된다. 전형적인 물기반 foam을 위해 surface상의 foam bubble은 spherical하지 않고, 그림 5처럼 반 구형의 모양을 가졌다. 한번 foam bubble이 삭제되면(랜덤 life time), surface wave는 equation(10)으로 bubble이 깨지는 것처럼 생성된다.
31
5.2. Foam Model Surface tension Normal 생성 위한 Color filed function 사용
Normal의 divergence는 curvature, surface tension force의 세기를 구하기 위해 사용 는 surface tension의 세기를 제어
32
Surface tension Consider the following iso-curves (level sets). What sign does the laplacian have? <0 >0
33
Surface tension [MCG03] Color field : smoothed color field
1 at particle locations 0 everywhere else Gradient field of smoothed color field : Curvature of the surface : Surface tension :
34
5.2. Foam Model Foam이 surface에서 떠다니게 하기 위해,
SPH update step동안 각 particle에 gravity 방향 에 힘을 더함 위치 xi에서 SPH particle을 height field의 z쪽 위 치로 particle을 이동시키기 위한 힘 SW surface 위에서 foam이 떠다니고 spread out하게 하기 위해, 우리는 SPH update step동안 각 particle에 gravity 방향에 힘을 더한다. 어떤 위치 xi에서 SPH particle을 위한 이 힘 fs는 다음 SPH update step동안 SW height field의 z쪽 위치로 particle을 이동시키는 것으로 계산된다. 어떤 높이에서 떠있는 z빼줘서 구하면 오르락 내리락 하는 속도 구할 수 있음.
35
6. Results Core2Duo CPU(2.4), geforce 7900 gpu(single thread).
시뮬레이션에서 가장 적은 frame rate measurement사용, 모든 계산 시간의 1/3걸리는 rendering 포함
36
7. Conclusions Bubble과 foam을 real-time simulation 알고리즘 제안
SW와 particle기반 bubble, foam과의 coupling으로 높은 performance Spherical vortex를 사용, 효율적으로 vortex를 생성 SPH simulation으로 foam의 clustering을 제안 Future work Foam을 랜더링하기 위한 shader를 만들고 싶다. equation(15)로 foam의 thick layer 다루기.
37
END
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.