530 likes | 839 Views
Coupling Water and Smoke to Thin Deformable and Rigid Shells. Eran Guendelman 1,2 Andrew Selle 1,3 Frank Losasso 1,2 Ronald Fedkiw 1,2 1 Stanford University, 2 Industrial Light + Magic, 3 Intel Corporation. Motivation. Fluid simulation becoming more common
E N D
Coupling Water and Smoke to Thin Deformable and Rigid Shells Eran Guendelman1,2 Andrew Selle 1,3 Frank Losasso 1,2 Ronald Fedkiw 1,2 1Stanford University, 2Industrial Light + Magic, 3Intel Corporation
Motivation • Fluid simulation becoming more common • Engineering, biomedicine, entertainment • Want interaction with thin solids • Parachutes • Cardiovascular simulation • CG characters w/clothing
Goal • Two-way coupling between: • Smoke or free-surface water • Thin rigid and deformable open shells • Prevent leaks across solid
Volumetric vs. Thin Solids Volumetric Thin shell
Related Work: Volumetric • DLM / “Rigid Fluid” [Glowinski et al. ’94;Carlson et al. ’04] • Inter-particle forces [Génevaux et al. ’03; Müller et al. ’04] • Coupling solid velocity & fluid pressure • Incompressible: [Takahashi et al. ’02] • Compressible: [Yngve et al. ’00; Fedkiw ’02]
Diffuse Interface Methods • Smear solid onto fluid grid • e.g. Immersed boundary method [Peskin ‘72] • Parasitic currents
Sharp Interface Methods • Incorporate jump conditions into stencils • Ghost fluid method [Fedkiw et al. ’99; Tam et al. ‘05] • Immersed interface method [LeVeque & Li ’94]
Our Approach • Couple using • Solid velocity & fluid coupling pressure • Sharp interface treatment • Prevent leaks using robust ray intersections
Talk Overview • Fluid simulation • Solid simulation • Preventing leaks across solid • Enforcing solid velocity on fluid • Computing and applying coupling force • Summary and future work
Talk Overview • Fluid simulation (focus on water) • Solid simulation • Preventing leaks across solid • Enforcing solid velocity on fluid • Computing and applying fluid coupling force • Summary and future work
Fluid Simulation • Assume incompressible & inviscid • Use projection method: [Chorin ’68] un (u is fluid velocity) u* violates incompressibility Advect un and add gravity !u* Compute pressure to enforce incompressibility Project u*!un+1 un+1
Fluid Grid • Uniform & octree grids [Losasso et al. ’04] • Staggered grid configuration [Harlow & Welch ‘65]
Advection • First order semi-Lagrangian[Courant et al. ’52; Stam ‘99] • Advection on nodes
Particle Level Set Method [Enright et al. ‘02] • Level set captures water-air interface • Particles help correct interface water air
Water Simulation Step (n!n+1) un,n Advance particle level set !n+1 Advect and particles Advect un and add gravity !u* Project u*!un+1 un+1,n+1
Now Add Solids to the Mix… • Fluid simulation • Solid simulation • Preventing leaks across solid • Enforcing solid velocity on fluid • Computing and applying fluid coupling force • Summary and future work
Now Add Solids to the Mix… • Black box: Input: external forces Output: positions and velocities [Guendelman et al. ’03] [Bridson et al. ’02,’03]
Rigid body Directly compute Deformable body Barycentric weights Surface Quantities
Talk Overview • Fluid simulation • Solid simulation • Preventing leaks across solid • Enforcing solid velocity on fluid • Computing and applying fluid coupling force • Examples, summary, and future work
Check visibility of interpolation nodes Use replacement ghost value when interpolating Thin Shell Aware Interpolation
Replacement Ghost Values Fluid velocity (u) use solid velocity Level set () average from nearest valid nodes
Thin Shell Aware Advection • Clip semi-Lagrangian rays
Crossed Over Nodes • Represent information from opposite side • Reassign valid values by averaging
Thin Shell Aware Fluid Step un,n Thin shell aware advection( and particles) Advance particle level set !n+1 Thin shell aware advection (u) Advect un and add gravity !u* Project u*!un+1 un+1,n+1 …see paper for more details
Talk Overview • Fluid simulation • Solid simulation • Preventing leaks across solid • Enforcing solid velocity on fluid • Computing and applying fluid coupling force • Summary and future work
Rasterizing Solid • Rasterize onto faces of fluid grid
Solid Affecting Fluid • Solid prescribes velocity on rasterized faces • Enforce as Neumann boundary conditions in projection step: Project u*!un+1
Which Solid Velocities? • At time n+1!n+2, at solid-fluid interface • Fluid moves with velocity enforced during un+1 projection • Solid moves from to Xn+1 to Xn+2 • Want these motions to match (reduce mass loss) • Solution: • Enforce effective solid velocity: Veff=(Xn+2-Xn+1)/t
Advance solid !Sn+2 One-Way Coupling Step un,n,Sn,Sn+1 (S is the solid’s state) Advance particle level set !n+1 Advect un and add gravity !u* Enforce effective solid velocities (n+1! n+2) at solid-fluid interface Project u*!un+1 un+1,n+1,Sn+1,Sn+2
Talk Overview • Fluid simulation • Solid simulation • Preventing leaks across solid • Enforcing solid velocity on fluid • Computing and applying fluid coupling force • Summary and future work
Fluid Coupling Force • Want to use fluid pressure • Incompressible pressure can be noisy • Incompressibility = hard constraint • Enforcing solid velocity = hard constraint • Better for compressible fluids [Yngve et al. ‘00; Fedkiw ‘02]
Smoother Coupling Pressure • Treat solid as fluid • Solve variable density fluid for pc • Similar to projection step, but: • Solid velocities not enforced • Fluid velocities not modified!
Two Pressure Solves! • Incompressible pressure (projection): • Enforce incompressibility & solid velocity • Essential for reducing mass loss • Coupling pressure: • Does not modify fluid velocity • Essential for smoother coupling force on solid
Mass loss Must Enforce Solid Velocity Rigid Fluid [Carlson et al. ’04] Enforcing solid velocity Enforced!
Computing Force on Solid • Fluid pressure pushes on both sides
Computing Force on Solid • Net force is proportional to pressure jump [pc]
Compute coupling pressure Pressure jumps on faces Extrapolate Interpolate at centroid Compute force Rasterize solid Average to nodes Computing Force on Solid
Two-Way Coupling Step un,n,Sn,Sn+1 Advance particle level set !n+1 Advect un and add gravity !u* Compute coupling pressure and apply force to solid Advance solid !Sn+2 Project u*!un+1 un+1,n+1,Sn+1,Sn+2
Talk Overview • Fluid simulation • Solid simulation • Preventing leaks across solid • Enforcing solid velocity on fluid • Computing and applying fluid coupling force • Summary and future work
Summary • Sharp interface treatment • Prevent leaks using ray intersections (visibility) • Solid prescribes velocity boundary conditions • Use effective velocity to reduce mass loss • Smooth coupling force applied to solid • Treat solid as fluid to compute smoother pressure