coupling water and smoke to thin deformable and rigid shells eran guendelman 1,2 andrew selle 1,3...

Post on 15-Jan-2016

218 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Coupling Water and Smoke to Thin Deformable and Rigid Shells

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

1Stanford University, 2Industrial Light + Magic, 3Intel Corporation

MotivationMotivation

• Fluid simulation becoming more common

– Engineering, biomedicine, entertainment

• Want interaction with thin solids

– Parachutes

– Cardiovascular simulation

– CG characters w/clothing

GoalGoal

• Two-way coupling between:

– Smoke or free-surface water

– Thin rigid and deformable open shells

• Prevent leaks across solid

256x256x192 effective octree; 30k triangles

Volumetric vs. Thin SolidsVolumetric vs. Thin Solids

Volumetric Thin shell

Related Work: VolumetricRelated 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 MethodsDiffuse Interface Methods

• Smear solid onto fluid grid

• e.g. Immersed boundary method [Peskin ‘72]

– Parasitic currents

Sharp Interface MethodsSharp 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 ApproachOur Approach

• Couple using

– Solid velocity & fluid coupling pressure

• Sharp interface treatment

• Prevent leaks using robust ray intersections

Talk OverviewTalk Overview

• Fluid simulation

• Solid simulation

• Preventing leaks across solid

• Enforcing solid velocity on fluid

• Computing and applying coupling force

• Summary and future work

Talk OverviewTalk 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 SimulationFluid Simulation

• Assume incompressible & inviscid

• Use projection method: [Chorin ’68]

un

Advect un and add gravity ! u*

Project u* ! un+1

un+1

u* violates incompressibility

Compute pressure to enforce incompressibility

(u is fluid velocity)

Fluid GridFluid Grid

• Uniform & octree grids [Losasso et al. ’04]

• Staggered grid configuration [Harlow & Welch ‘65]

ui+½,j

ui-½,j

vi,j+½

vi,j-½

pi,j

AdvectionAdvection

• First order semi-Lagrangian [Courant et al. ’52; Stam ‘99]

– Advection on nodes

x-ut

u x

Particle Level Set MethodParticle Level Set Method

• Level set captures water-air interface

• Particles help correct interface

water

air

[Enright et al. ‘02]

Water Simulation Step (n!n+1)Water Simulation Step (n!n+1)

un,n

Advance particle level set ! n+1

Advect un and add gravity ! u*

Project u* ! un+1

un+1,n+1

Advect and particles

Now Add Solids to the Mix…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…Now Add Solids to the Mix…

• Black box:

Input: external forces

Output: positions and velocities

[Guendelman et al. ’03] [Bridson et al. ’02,’03]

Surface QuantitiesSurface Quantities

• Rigid body

– Directly compute

• Deformable body

– Barycentric weights

Talk OverviewTalk 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

Key: VisibilityKey: Visibility

Thin Shell Aware InterpolationThin Shell Aware Interpolation

Check visibility of interpolation nodesUse replacement ghost value when interpolating

Replacement Ghost ValuesReplacement Ghost Values

Fluid velocity (u)

Level set ()

use solid velocity

average from nearest valid nodes

Thin Shell Aware AdvectionThin Shell Aware Advection

• Clip semi-Lagrangian rays

u

x-ut

Crossed Over NodesCrossed Over Nodes

• Represent information from opposite side

• Reassign valid values by averaging

Thin Shell Aware Fluid StepThin Shell Aware Fluid Step

un,n

Advance particle level set ! n+1

Advect un and add gravity ! u*

Project u* ! un+1

un+1,n+1

Thin shell aware advection( and particles)

Thin shell aware advection (u)

…see paper for more details

210x140x140 uniform; 30k triangles

210x140x140 uniform; 30k triangles

Talk OverviewTalk 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 SolidRasterizing Solid

• Rasterize onto faces of fluid grid

Solid Affecting FluidSolid Affecting Fluid

• Solid prescribes velocity on rasterized faces

• Enforce as Neumann boundary conditions in projection step:

Project u* ! un+1

Which Solid Velocities?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

One-Way Coupling StepOne-Way Coupling Step

un,n,Sn,Sn+1

Advance particle level set ! n+1

Advect un and add gravity ! u*

Project u* ! un+1

un+1,n+1,Sn+1,Sn+2

Advance solid ! Sn+2

Enforce effective solid velocities (n+1! n+2) at

solid-fluid interface

(S is the solid’s state)

160x192x160 effective octree

192x192x192 effective octree; 60k triangles

Talk OverviewTalk 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 ForceFluid 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 PressureSmoother 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!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

Must Enforce Solid VelocityMust Enforce Solid Velocity

Enforced!

Enforcing solid velocity

Rigid Fluid [Carlson et al. ’04]

Mass loss

Computing Force on SolidComputing Force on Solid

• Fluid pressure pushes on both sides

p1

p2

Computing Force on SolidComputing Force on Solid

• Net force is proportional to pressure jump [pc]

p1 - p2

Computing Force on SolidComputing Force on Solid

Rasterize solid

Compute coupling pressure

Pressure jumps on faces

Average to nodes

Extrapolate

Interpolate at centroid

Compute force

Two-Way Coupling StepTwo-Way Coupling Step

un,n,Sn,Sn+1

Advance particle level set ! n+1

Advect un and add gravity ! u*

Advance solid ! Sn+2

Project u* ! un+1

un+1,n+1,Sn+1,Sn+2

Compute coupling pressure and apply force to solid

148x148x111 uniform; 2.5k triangles

200x200x200 effective octree; 30k triangles

256x256x192 effective octree; 30k triangles

256x256x192 effective octree; 30k triangles

Talk OverviewTalk Overview

• Fluid simulation

• Solid simulation

• Preventing leaks across solid

• Enforcing solid velocity on fluid

• Computing and applying fluid coupling force

• Summary and future work

SummarySummary

• 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

Future WorkFuture Work

• Absorption, adhesion, permeability

• Compare against experiments

AcknowledgementsAcknowledgements

• Mike Houston, Christos Kozyrakis, Mark Horowitz, Bill Dally, Vijay Pande

• Stanford Graphics Lab

• ONR, ARO, NSF, PECASE, Sloan Foundation, Packard Foundation

The EndThe End

top related