Practical Animation of Turbulent Splashing Water SCA 2006 Janghee Kim Deukhyun Cha Byungjoon Chang Bonki Koo Insung Ihm
Abstract ◇ Produce small-scale detail of turbulent water ◇ Integrate the dynamic behavior of splashing water easily into a fluid animation system ◇ Transform into water particles to represent subcell-level features ◇ Water particles create realistic turbulent splashing ◇ The particle agglomerates are smoothed, thickened, if necessary
Introduction ◇ Motivation : water spray, wave breaking, mist, foam ◇ An Eulerian grid often suffers from a difficulty in depicting the detailed turbulent behavior of splashing water ◇ leading to impractical requirements for computation time and memory space by increasing the resolution
Introduction ◇ Recently introduced particle-based techniques offer a computationally simple and versatile simulation scheme ◇ Particles are well suited to producing the small-sacale detail ◇ The primary goal of this work is to combine both grid-based and particle based simulation techniques in a fluid animation
Previous Work ◇ 3D Navier-Stokes equations for fluids - Foster and Metaxas 1997b - Stam Fedkiw et al ◇ Particle level set - Enright et al ◇ SPH technique - Muller M, Charypar D, and Gross M Muller M, Solenthaler B, Keiser R, and Gross M 2005
Previous Work ◇ Solid fluid coupling - Calson et al Guendelman et al ◇ CIP Method - Song O, Shin H, and Ko H Takahashi et al ◇ VOF (Volume Of Fluid) -Hong and Kim 2005 ◇ Multi-phase flow -Hong and Kim 2005
Previous Work ◇ MPS (Moving Particle Semi Implicit) - Koshizuka S, Tamako H, and Oka Y 1995 ◇ PIC and FLIP - Zhu Y and Bridson R Harlow F. H Brackbill J. U and Ruppel H. M 1986 ◇ Air Marker Particles (splash) - Enright et al Guendelman et al Selle et al. 2005
Our Contribution ◇ The massless marker particles escaped form the main body of water ◇ Seeds to produce the subcell level detail ◇ For generating droplets and bubbles, Estimate the volume loss and distributes it to water particles ◇ These physical particles are moved in the air by an advanced particle simulation system for turbulent splash ◇ We also present rendering techniques suitable for taking a close- up view of merging water drops with minimized aliases
Modeling of water particles ◇ Levelset simulator represents the main body of splashing water ◇ A particle simulator depict its small-scale detail ◇ phi 0 designs air in particle levelset ◇ Combined with an octree data structure, the levelset simulator create very detailed surfaces of dynamically evolving water
Identification of underresolved regions ◇ Rebuild the levelset in underresolved regions using massless marker particles ◇ It sometimes fails to recover subcell-level features which often occurs when water undergoes turbulent motion ◇ There still remain escaped negative particles near the shar conner even after the correction due to be resolved with the current grid resolution
Identification of underresolved regions ◇ The missing particles provide an excellent clue ◇ generation of various rendering effects for splashing water ◇ We explicitly transform these marker particles into physical particle ◇ Model small-scale detail that the given Eulerian grid fails to represent
Generation of water particles ◇ In the work Song et al.[SSK05] ◇ In order to detect small isolated regions ◇ A smeared Heaviside function was applied to dissipative cells ◇ Convert them into droplets or bubbles with an estimated volum
Generation of water particles ◇ The particle levelset method offers more information that helps correct poorly resolved regions of the flow ◇ It can the extraction of more charateristic information about the dissipating water ◇ We utilize the lost particles to treat subcell-level details ◇ The estimated volume is distributed to the water particles
Monte Carlo Integration ◇ For every cell that contains at least one escaped partcle ◇ A series of random three dimensional points are repeatedly generated within the cell checking if they fall in any of the escaped particles ◇ The ratio of inner points, multiplied by the cell’s volume ◇ Gives a good approximation to the actual minute volume of disappearing water
Generation of water particles ◇ n p is escaped marker particles in the cell ◇ The estimated volume V ◇ Each water particle inherits the position and velocity from the corresponding marker particle ◇ If any two particles overlap excessively, they are merged into a single particle with a radius
Generation of water particles ◇ Scene1 sampled 2048 times per volum-losing cell ◇ Scene3 sampled 256 times per the cell ◇ It can obtain reliable volume loss estimate ◇ The additional overhead by the integration process is not served
Advection of particles ◇ The SPH method is widely used for discrete particle systems ◇ MPS (Moving Particle Semi-implicit) ◇ Combining the PIC[Har64] and FLIP[BR86] Method, both recently introduced to the graphics part by Zhu and Bridson ◇ It lead to an effective and easy implementation for turbulent splashes ◇ we use a weighted average of PIC and FLIP when particle are updated after the nonadvection step
Advection of particles ◇ The particle velocities are transferred to an auxiliary Eulerain grid ◇ We extend the standard trilinear interpolation ◇ The particle’s mass is also reflected as a weighting factor ◇ The resolution of the auxiliary grid used in the adaptive levelset
Interaction of water particles with levelset surface and objects ◇ Water particle to water particle interaction ◇ Any two particles overlapping too much are merged into a single particle in the water particle generation step ◇ The masses and velocities of water particle are used in the PIC/FLIP-based particle simulator that the particles to interaction to each other
Interaction of water particles with levelset surface and objects ◇ Water particle to main body of water interaction ◇ As the returning water particle has mass, the velocity field of the Eulerian grid representing the levelset is affected near the hit point ◇ m p = mass particle, v p = velocity particle at the colision ◇ m ijk, v ijk denote the corresponding quantities for the surface cell hit by the particle
Interaction of water particles with levelset surface and objects ◇ In [SSK05], the inverse smeared Heaviside function ◇ Simple to implement update method is to find the edge of grid closest to the returning water particle, and adjust the levelset values (move upward by distance h) ◇ The entire volume increase induced by this modification can be approximated by summing the volume of all tetrahedra ◇ This process may often be omitted without making a visual difference in the animatio results ◇ Water particle to object(elasticity coeff a e ) interaction
Rendering of a close-up view of water particles ◇ This is difficult to achieve with sphere-based particle cluster in the resulting smoothness of the extracted surfaces ◇ Insufficient smoothing produces rough-looking surfaces ◇ Too much smoothing blur the small-scale detail ◇ Controlling the small-scale redering effects for creating turbulent spashes
Smoothing particle clusters ◇ [FF01,MCG03,PTB03,ZB05] employ an Eulerian grid to extract a set of iso-surface from a scalar field defined by the particles ◇ We designed a smoothing technique for tyny particle cluster ◇ It permits direct control over the smoothness of reconstructed water surfaces
Smoothing particle clusters ◇ p i = (x i, r i ), center x i = (x i, y i, z i ), radius r i ◇ W(x) as a weighted sum of contributions from near by particles ◇ W i (x) is a smoothing kernel whose detail is provided in the Appendix
Appendix ◇ Figure5 shows an example of cluster smoothing with alpha value ◇ The ray is marched from the intersection point x(0) with an initial step size ◇ This jump-and-check process is repeated with a halved step size ◇ Once that happens, the marching direction is reversed
Smoothing particle clusters ◇ Ray marching stops when the step size falls below a specified lower bound ◇ If no sign change occurs when the marching is finished, the ray does not intersect the smoothed surface
Thickening water agglomerates ◇ Sometimes, there are insufficient marker particles in the underresolved regions ◇ Entailing overall deficiencies in the distribution of water particles ◇ Seed more particles between them ◇ At every time step, the simulated water particles are partitioned ◇ All particles within distance d intra belong to the same group
Thickening water agglomerates ◇ The idea of the partitioning is to find regions automatically ◇ Particles are poorly distributed, therefore in need of more particles ◇ Once grouping is complete, nearby groups are interconnected ◇ Insert new particles between particles from different groups whose distance is less than d inter
Creating water spray ◇ Volume rendering for water mist [Takahashi et al. 03] ◇ The water particles are assumed to generate both external force and mist density in the air ◇ We use another Eulerian grid ◇ At every time step, each particle’s velocity is added onto grid points in its neighborhood ◇ The accumulated velocity v accum is then added to the external force
Creating water spray ◇ v accum also determines the amout of mist to be added at each step ◇ We use a simple linear function S(v accum ) as a source term ◇ Density d is moved along the velocity field using an advect- diffusion type equation
Experimental Results ◇ Environment - Navier-Stokes Equation - Eulerian velocity field - WENO, TVD Runge-Kuntta for integrate the marker particle - PIC and FLIP - Intel Xeon 3.6 GHz CPU
Experimental Results ◇ Our particle simulation component takes only a small portion of the computation time ◇ We observed that only 1.05% of the simulation time
Conclusion ◇ Hybrid water animation technique ◇ improving the visual realism of splashing water with turbulent ◇ Capturing detailed complex phenomena such as splash, mist, wave breaking, agglomerates, and spray ◇ We have not yet implemented bubbles