implicit surfaces navier-stokes - computer sciencecutler/classes/advancedgraphics/s09/lectur… ·...

5
1 Navier-Stokes & Flow Simulation Last Time? fixing backtracking Implicit Surfaces Marching Cubes/Tetras Collision Detection & Response Conservative Bounding Regions Today Flow Simulations in Computer Graphics water, smoke, viscous fluids Navier-Stokes Equations incompressibility, conservation of mass conservation of momentum & energy Fluid Representations Basic Algorithm Data Representation Flow Simulations in Graphics Random velocity fields – with averaging to get simple background motion Shallow water equations – height field only, can’t represent crashing waves, etc. Full Navier-Stokes note: typically we ignore surface tension and focus on macroscopic behavior Flow in a Voxel Grid Image from Foster & Mataxas, 1996 conservation of mass: Navier-Stokes Equations conservation of momentum: viscosity gravity (& other external forces) pressure acceleration drag Convection: internal movement in a fluid (e.g., caused by variation in density due to a transfer of heat)

Upload: others

Post on 10-Mar-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implicit Surfaces Navier-Stokes - Computer Sciencecutler/classes/advancedgraphics/S09/lectur… · • Navier-Stokes Equations • Fluid Representations • Basic Algorithm • Data

1

Navier-Stokes &

Flow Simulation

Last Time?

fixing

backtracking

•  Implicit Surfaces •  Marching Cubes/Tetras •  Collision Detection & Response •  Conservative Bounding Regions

Today •  Flow Simulations in Computer Graphics

– water, smoke, viscous fluids •  Navier-Stokes Equations

–  incompressibility, conservation of mass –  conservation of momentum & energy

•  Fluid Representations •  Basic Algorithm •  Data Representation

Flow Simulations in Graphics •  Random velocity fields

– with averaging to get simple background motion •  Shallow water equations

– height field only, can’t represent crashing waves, etc. •  Full Navier-Stokes

•  note: typically we ignore surface tension and focus on macroscopic behavior

Flow in a Voxel Grid

Image from Foster & Mataxas, 1996

•  conservation of mass:

Navier-Stokes Equations •  conservation of momentum:

viscosity gravity (& other external forces)

pressure

acceleration drag Convection: internal movement in a fluid (e.g., caused by variation in density due to a transfer of heat)

Page 2: Implicit Surfaces Navier-Stokes - Computer Sciencecutler/classes/advancedgraphics/S09/lectur… · • Navier-Stokes Equations • Fluid Representations • Basic Algorithm • Data

2

Today •  Flow Simulations in Computer Graphics •  Navier-Stokes Equations •  Fluid Representations •  Basic Algorithm •  Data Representation

Modeling the Water Surface •  Volume-of-fluid tracking

–  a scalar saying how “full” each cell is

•  Particle In Cell (PIC) –  the particles have mass

•  Marker and Cell (MAC) –  the particles don’t effect

computation, just identify which cells the surface passes through

–  Harlow & Welch, "Numerical calculation of time-dependent viscous incompressible flow of fluid with free surface”, The Physics of Fluids, 1965.

Comparing Representations •  How do we render the resulting surface? •  Are we guaranteed not to lose mass/volume?

(is the simulation incompressible?) •  How is each affected by the grid resolution

and timestep? •  Can we guarantee stability?

Demos •  Nice Marker

and Cell (MAC) videos at:

http://panoramix.ift.uni.wroc.pl/~maq/eng/cfdthesis.php

http://mme.uwaterloo.ca/~fslien/free_surface/free_surface.htm

Reading for Today •  “Realistic Animation of Liquids”,

Foster & Metaxas, 1996

Today •  Flow Simulations in Computer Graphics •  Navier-Stokes Equations •  Fluid Representations •  Basic Algorithm •  Data Representation

Page 3: Implicit Surfaces Navier-Stokes - Computer Sciencecutler/classes/advancedgraphics/S09/lectur… · • Navier-Stokes Equations • Fluid Representations • Basic Algorithm • Data

3

Each Grid Cell Stores: •  Velocity at the cell faces (offset grid) •  Pressure •  List of particles

Image from Foster & Mataxas, 1996

Initialization •  Choose a voxel resolution •  Choose a particle density •  Create grid & place the particles •  Initialize pressure & velocity of each cell •  Set the viscosity & gravity •  Choose a timestep & go!

At each Timestep: •  Identify which cells are Empty,

Full, or on the Surface •  Compute new velocities •  Adjust the velocities to maintain

an incompressible flow •  Move the particles

–  Interpolate the velocities at the faces •  Render the geometry and repeat!

Empty, Surface & Full Cells

Images from Foster & Mataxas, 1996

At each Timestep: •  Identify which cells are Empty,

Full, or on the Surface •  Compute new velocities •  Adjust the velocities to maintain

an incompressible flow •  Move the particles

–  Interpolate the velocities at the faces •  Render the geometry and repeat!

Compute New Velocities

Note: some of these values are the average velocity within the cell rather than the velocity at a cell face

Page 4: Implicit Surfaces Navier-Stokes - Computer Sciencecutler/classes/advancedgraphics/S09/lectur… · • Navier-Stokes Equations • Fluid Representations • Basic Algorithm • Data

4

At each Timestep: •  Identify which cells are Empty,

Full, or on the Surface •  Compute new velocities •  Adjust the velocities to maintain

an incompressible flow •  Move the particles

–  Interpolate the velocities at the faces •  Render the geometry and repeat!

Adjusting the Velocities •  Calculate the divergence of the cell

(the extra in/out flow) •  The divergence is used

to update the pressure within the cell

•  Adjust each face velocity uniformly to bring the divergence to zero

•  Iterate across the entire grid until divergence is < ε

Image from Foster & Mataxas, 1996

Handing Boundaries with MAC At each Timestep: •  Identify which cells are Empty,

Full, or on the Surface •  Compute new velocities •  Adjust the velocities to maintain

an incompressible flow •  Move the particles

–  Interpolate the velocities at the faces •  Render the geometry and repeat!

Velocity Interpolation

Image from Foster & Mataxas, 1996

Stable Fluids •  “Stable Fluids”,

Jos Stam, SIGGRAPH 1999.

Page 5: Implicit Surfaces Navier-Stokes - Computer Sciencecutler/classes/advancedgraphics/S09/lectur… · • Navier-Stokes Equations • Fluid Representations • Basic Algorithm • Data

5

Efficient Smoke Simulation

“Visual Simulation of Smoke” Fedkiw, Stam & Jensen

SIGGRAPH 2001

Solid/Liquid: Time-varying viscosity

"Melting and Flowing" Carlson, Mucha, Van Horn III & Turk

Symposium on Computer Animation 2002

Ron Fedkiw http://physbam.stanford.edu/~fedkiw/

•  Enright, Marschner, & Fedkiw, “Animation and Rendering of Complex Water Surfaces”, SIGGRAPH 2002.

•  Guendelman, Selle, Losasso, & Fedkiw, “Coupling Water and Smoke to Thin Deformable and Rigid Shells”, SIGGRAPH 2005.

•  Cem Yuksel, Donald H. House, and John Keyser, “Wave Particles”, SIGGRAPH 2007

Reading for Tuesday 2/12: •  “Synthesis of Complex Dynamic Character Motion from

Simple Animation”, Liu & Popović, 2002.

•  Post a comment or question on the LMS discussion by 10am on Tuesday 2/12