Animation of Fluids.

Slides:



Advertisements
Similar presentations
Stable Fluids A paper by Jos Stam.
Advertisements

My First Fluid Project Ryan Schmidt. Outline MAC Method How far did I get? What went wrong? Future Work.
Realistic Simulation and Rendering of Smoke CSE Class Project Presentation Oleksiy Busaryev TexPoint fonts used in EMF. Read the TexPoint manual.
Christopher Batty and Robert Bridson University of British Columbia
Simulation of Fluids using the Navier-Stokes Equations Kartik Ramakrishnan.
Continuity Equation. Continuity Equation Continuity Equation Net outflow in x direction.
Matthias Müller, Barbara Solenthaler, Richard Keiser, Markus Gross Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2005),
Depicting Fire and Other Gaseous Phenomena Using Diffusion Processes Jos Stam and Eugene Fiume Dept. of CS, University of Toronto Presentation ©2001 Brenden.
Mode-Splitting for Highly Detail, Interactive Liquid Simulation H. Cords University of Rostock Presenter: Truong Xuan Quang.
Presenter: Jonathon Nooner. Suppose that we have an f(x,y,t): --- n is treated as a time index, i and j are treated as spatial indices.
1Notes  Textbook: matchmove 6.7.2, B.9. 2 Match Move  For combining CG effects with real footage, need to match synthetic camera to real camera: “matchmove”
Intro to Fluid Simulation (I) Jeff Pool COMP
Particle-based fluid simulation for interactive applications
University of North Carolina - Chapel Hill Fluid & Rigid Body Interaction Comp Physical Modeling Craig Bennetts April 25, 2006 Comp Physical.
Momentum flux across the sea surface
An Introduction to Stress and Strain
Keyframe Control of Smoke Simulations SIGGRAPH 2003.
Modeling Fluid Phenomena -Vinay Bondhugula (25 th & 27 th April 2006)
Tamed Effect of Normal Stress in VFF… P M V Subbarao Professor Mechanical Engineering Department I I T Delhi Negligible Bulk Viscosity Model for Momentum.
Motion of Fluid Particles, An Essential Need of Humans…… P M V Subbarao Professor Mechanical Engineering Department I I T Delhi Kinematics of Viscous.
Numerical Hydraulics Wolfgang Kinzelbach with Marc Wolf and Cornel Beffa Lecture 1: The equations.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Intro to Computational Fluid Dynamics Brandon Lloyd COMP 259 April 16, 2003 Image courtesy of Prof. A.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Introduction to Modeling Fluid Dynamics 1.
Fluid Simulation for Graphics
Modeling, Simulating and Rendering Fluids Thanks to Ron Fediw et al, Jos Stam, Henrik Jensen, Ryan.
Fluid Simulation for Computer Animation Greg Turk College of Computing and GVU Center Georgia Institute of Technology.
Juan Carlos Ortiz Royero Ph.D.
Module 3 Fluid Flow. Lesson 20 CONTINUITY EQUATION DESCRIBE how the density of a fluid varies with temperature. DEFINE the term buoyancy. DESCRIBE the.
Motivation  Movie  Game  Engineering Introduction  Ideally  Looks good  Fast simulation  Looks good?  Look plausible  Doesn’t need to be exactly.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Fluids.
Fluid Animation CSE 3541 Matt Boggus. Procedural approximations – Heightfield fluids Mathematical background – Navier-Stokes equation Computational models.
Physically Based Animation and Modeling
CEE 262A H YDRODYNAMICS Lecture 5 Conservation Laws Part I 1.
A Hybrid Particle-Mesh Method for Viscous, Incompressible, Multiphase Flows Jie LIU, Seiichi KOSHIZUKA Yoshiaki OKA The University of Tokyo,
Chapter 9: Differential Analysis of Fluid Flow SCHOOL OF BIOPROCESS ENGINEERING, UNIVERSITI MALAYSIA PERLIS.
PTT 204/3 APPLIED FLUID MECHANICS SEM 2 (2012/2013)
COMPUTATIONAL FLUID DYNAMICS IN REAL-TIME An Introduction to Simulation and Animation of Liquids and Gases.
Smoothed Particle Hydrodynamics (SPH) Fluid dynamics The fluid is represented by a particle system Some particle properties are determined by taking an.
A conservative FE-discretisation of the Navier-Stokes equation JASS 2005, St. Petersburg Thomas Satzger.
A Unified Lagrangian Approach to Solid-Fluid Animation Richard Keiser, Bart Adams, Dominique Gasser, Paolo Bazzi, Philip Dutré, Markus Gross.
A particle-gridless hybrid methods for incompressible flows
Prof. dr. A. Achterberg, Astronomical Dept., IMAPP, Radboud Universiteit.
Lecture 4: Isothermal Flow. Fundamental Equations Continuity equation Navier-Stokes equation Viscous stress tensor Incompressible flow Initial and boundary.
CSC505 Particle Systems. CSC505 Object Representations So far we have represented (rendered) objects with –Lines –Polygons (triangles) –Curves These techniques.
Simplified Smoothed Particle Hydrodynamics for Interactive Applications Zakiya Tamimi Richard McDaniel Based on work done at Siemens Corporate.
Taming a Wild River Jeff Lander Darwin 3D
Detail-Preserving Fluid Control N. Th ű rey R. Keiser M. Pauly U. R ű de SCA 2006.
Fluid Resistance.
FPGA Based Smoke Simulator Jonathan Chang Yun Fei Tianming Miao Guanduo Li.
FlowFixer: Using BFECC for Fluid Simulation ByungMoon Kim Yingjie Liu Ignacio Llamas Jarek Rossignac Georgia Institute of Technology.
Conservation of Salt: Conservation of Heat: Equation of State: Conservation of Mass or Continuity: Equations that allow a quantitative look at the OCEAN.
Particle Systems. Applications Particle systems are broadly defined for: Explosion Cloth Fluid And more… It is integrated into many animation software,
CP502 Advanced Fluid Mechanics
Game Technology Animation V Generate motion of objects using numerical simulation methods Physically Based Animation.
Particle-based Viscoelastic Fluid Simulation Simon Clavet Philippe Beaudoin Pierre Poulin LIGUM, Université de Montréal.
CP502 Advanced Fluid Mechanics
November 2005 Center for Computational Visualization Institute of Computational and Engineering Sciences Department of Computer Sciences University of.
Efficient Simulation of Large Bodies of Water by Coupling Two and Three Dimensional Techniques SIGGRAPH 2006 Geoffrey Irving Eran Guendelman Frank Losasso.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Water Computational Fluid Dynamics Volumes Lagrangian vs. Eulerian modelling Navier-Stokes equations.
Viscosità Equazioni di Navier Stokes. Viscous stresses are surface forces per unit area. (Similar to pressure) (Viscous stresses)
Particle Kinematics Direction of velocity vector is parallel to path Magnitude of velocity vector is distance traveled / time Inertial frame – non accelerating,
Animating smoke with dynamic balance Jin-Kyung Hong Chang-Hun Kim 발표 윤종철.
Interesting papers on SIGGRAPH 2005 Korea University Computer Graphics Lab. Jin-Kyung Hong.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Computational Fluid Dynamics.
Fluid Animation CSE 3541 By: Matt Boggus.
Chapter 4 Fluid Mechanics Frank White
Space Distribution of Spray Injected Fluid
Introduction to Fluid Dynamics & Applications
Introduction to Fluid Mechanics
Presentation transcript:

Animation of Fluids

Animating Fluid is Hard… Too complex to animate by hand Surface is changing very quickly Lots of small details In short, a nightmare! Need automatic simulations…

Ad-Hoc Methods Some simple algorithms exist for special cases Mostly waves… What about water glass? Too much work to come up with empirical algorithms for each case…

Physically-Based Approach Look to Fluid Dynamics Long history. Back to Newton… Equations that describe fluid motion Use numerical methods to approximate fluid equations, simulating fluid motion Like mass-spring systems

Current State-of-the-art in CG Marker-And-Cell (MAC) Method fedkiw_fluid\glass00.avi fedkiw_fluid\splash-640.avi Smoothed Particle Hydrodynamics (SPH) muller_particles\sph.avi muller_particles\pool.avi

Applications Mostly Hollywood Games Engineering… Shrek Antz Terminator 3 Many others… Games Engineering…

(with as little math as possible) Fluid Dynamics (with as little math as possible)

What do we mean by ‘Fluid’? liquids or gasses Mathematically: A vector field u (represents the fluid velocity) A scalar field p (represents the fluid pressure) fluid density (d) and fluid viscosity (v)

Vector Fields 2D Scalar function: 2D Vector function: f(x,y) = z z is a scalar value 2D Vector function: u(x,y) = v v is a vector value v = (x’, y’) The set of values u(x,y) = v is called a vector field

Fluid Velocity == Vector Field Can model a fluid as a vector field u(x,y) u is the velocity of the fluid at (x,y) Velocity is different at each point in fluid! Need to compute change in vector field Run AAA_PRESSURETEST.mb

Conceptual Leap Particle Simulation: Fluid Simulation : Track particle positions x = (x,y) Numerically Integrate: change in position Fluid Simulation : Track fluid velocities u = (u,v) at all points x in some fluid volume D Numerically Integrate: change in velocity

Equations of Fluid Dynamics Navier-Stokes Equation: Non-linear Partial Differential Equation Models fluid transport Derived from Newton’s second law conservation of momentum – all the forces go “somewhere” Mass-Conservation condition: If we have a liter of water at the beginning of the solution, we have a liter at the end…

Change in Velocity Derivative of velocity with respect to time Change in velocity, or acceleration So this equation models acceleration of fluids

Advection Term Advection term Force exerted on a particle of fluid by the other particles of fluid surrounding it How the fluid “pushes itself around” Change in Velocity

Particle Advection Video

Diffusion Term Advection Change in Velocity Viscosity constant controls velocity diffusion Essentially, this term describes how fluid motion is damped Highly viscous fluids stick together Like maple syrup Low-viscosity fluids flow freely Gasses have low viscosity

Weather: Advection & Diffusion “Jet-Stream”

Pressure Term Pressure follows a diffusion process Moving == velocity Fluid moves from high-pressure areas to low-pressure areas Moving == velocity So fluid moves in direction of largest change in pressure This direction is the gradient Diffusion Advection Change in Velocity p = 0.5 p = 1 p = 0 Time…

Weather: Pressure “Fronts” are the boundaries between regions of air with different pressure… “High Pressure Zones” will diffuse into “Low Pressure Zones”

Fluid Example Fast moving fluid is “pulled” towards slower-moving fluid Maya AAA_FLUIDEXAMPLE.mb – play in step-frame… Viscosity = 0.7 -> kills wigglies

Body Force Body force term represents external forces that act on the fluid Gravity Wind Etc… Diffusion Advection Change in Velocity Pressure

Summary And 1 liter == 1 liter constraint: Diffusion Advection Change in Velocity Pressure And 1 liter == 1 liter constraint: Need to simulate these equations…

Intermission Smoke Fire fedkiw_octree\smoke_octree.avi fedkiw_fire\flammable.avi

Implementation Overview

Fluid Representation Want to simulate motion of some fluid body fluid is represented by a vector field Two problems: Need to compute change in vector field (using Navier- Stokes equation) Need to track fluid position

Solution: Discretization Create regular grid

Solution: Discretization Create regular grid Discretize fluid into grid cells

Solution: Discretization Create regular grid Discretize fluid into grid cells Track single velocity vector in each grid cell

Simulation Step f u + Ñ - × = ¶ p d v t 1 ) ( “Solve” Navier-Stokes equation for each grid cell to compute change in velocity: f u + Ñ - × = ¶ p d v t 1 ) ( Body Force is just like mass-spring systems non-linear Advection term is difficult. Can finite-difference, but is not robust… finite-difference Diffusion and Pressure terms are linear systems of equations

Free Surface Tracking with Marker Particles Want higher-resolution surface for rendering Add a bunch of particles Passively Advect them based on fluid velocity

So the rest is easy, right? No Still have to enforce mass-conservation constaint: Standard equation does not take boundary conditions into account Boundary conditions are things like walls, fluid/air boundaries, rubber duckies, and so on Have to ‘hack’ the equations…this is hard… Numerical Stability is elusive…

Intermission 2 Melting Rigid Body + Fluid carlson_melting\bunnyside.mpg Rigid Body + Fluid carlson_rigidfluid\rigidfluid.avi

Problems with Fluid Simulation

Surface Resolution…

Weird Behavior….

Water or Vegetable Oil? fedkiw_fluid\glass00.avi Oh, and it’s very, very slow 7 minutes per frame for water glass…

Hard to Control Animators want to control fluid behavior Fluid simulation has a lot of free variables There has been limited success so far…

Numerical Stability

Maya Fluid Effects

What does fluid effects support? Naver-Stokes-based Fluids: Smoke Clouds Explosions Fire “Goo” type-stuff Ad-Hoc / Mass-Spring fluids: Oceans Ponds

Fluid Effects Algorithms Unconditionally Stable Navier-Stokes simulation Means they never explode, even with large timesteps Jos Stam, “Stable Fluids”, SIGGRAPH 99 Do not preserve volume very well Ok for smoke Problematic for water glass… Gets worse w/ larger timestep

Maya Smoke Smoke demo Create fluid volume w/ smoke emitter Play w/ turbulence, volume, dissipation, etc Set color Add sphere, make collide Add fire

Maya Fire Looks like smoke…

More Fluid Effects Demos misc\WindTunnelParticles.ma Smoke\Thick2DSmoke.ma Misc\RedGooCollision.ma

Maya Ocean 2D height field – no crashing waves Can attach ‘bouyant’ objects

Maya Pond 2D height field Mass-spring system Bouys, Boats, Wakes No splashing Mass-spring system Bouys, Boats, Wakes Can run in real-time

Fin (questions?)