University of Utah School of Computing
CS 5967/6967:
Physical Simulation for Computer Animation
INSTRUCTOR:    Adam Bargteil (Office hours: By appointment, MEB 3458)
TIME: M/W 1:25-2:45
PLACE:     WEB 122
Physically based simulation techniques have revolutionized special effects in film and video games, creating extremely realistic effects while allowing unprecedented artistic control and avoiding dangerous situations. This course will explore physically based simulation methods for computer animation of a wide variety of phenomena and materials including rigid and deformable solids, cloth, liquids, and explosions. Students will be introduced to numerical methods, physical models, data structures, and theoretical results which form the building blocks of these methods. To gain hands-on experience, students will implement basic simulators for several phenomena.


  • Particle Systems
  • Deformable Solids & Fracture
  • Cloth & Thin Shells
  • Smoke & Explosions
  • Liquids
  • Rigid Bodies
  • Hair
  • Finite Element Methods
  • Finite Difference Methods
  • Collision Detection & Response
  • Stability and Implicit Integration
  • Level Set Methods
  • Smoothed Particle Hydrodynamics
  • Model Reduction Techniques
  • Simulation Control
Programming experience and basic familiarity with linear algebra and calculus is assumed. Some background in computer graphics is helpful.
PROGRAMMING ASSIGNMENTS: Your programming assignments should produce two final products: a short video and a short paper. The video should demonstrate your system and the paper should describe what you've done. Late Policy: You have five late days to be used over the semester. These should provide sufficient flexibility to handle other project deadlines. After using these days, there will be a 10%/day late penalty.
Assignment Due Date Description
Particle System Sep. 10, 2008     Description
Cloth or Deformable Bodies     Oct. 6, 2008 Description
Smoke Simulator Nov. 3, 2008 Description (updated 11/3/08)
Final Project Dec. 10, 2008
While there is no text covering the topics in this course, Physically Based Deformable Models in Computer Graphics by Andrew Nealen, Mathias Muller, Richard Keiser, Eddy Boxerman and Mark Carlson is a nice survey paper of many of the topics we will cover. Robert Bridson has recently published a book on Fluid Simulation for Computer Graphics. (The course notes are free.) The 2001 course notes on Physically Based Modeling are another good resource. Other useful resources can be found in the schedule below.
CLASS SCHEDULE (subject to change)

Date Topic Reading
Particle Systems
Particle Systems---a Technique for Modeling a Class of Fuzzy Objects
W.T. Reeves
Particle Animation and Rendering Using Data Parallel Computation
Karl Sims
Flocks, Herds, and Schools: A Distributed Behavioural Model
Craig Reynolds
Labor Day. No Classes.
Spring Mass Systems &
Elastic Bodies
Physically Based Modeling: Differential Equations Basics
Andrew Witkin & David Baraff
Physically Based Modeling: Particle System Dynamics
Andrew Witkin
Elastically Deformable Models
Demitri Terzopoulos, John Platt, Alan Barr, Kurt Fleischer
Modeling Inelastic Deformation: Viscoelasticity, Plasticity, Fracture
Demitri Terzopoulos & Kurt Fleischer
Finite Element Methods
Graphical Modeling and Animation of Brittle Fracture
James O'Brien & Jessica Hodgins
Finite Element Notes
Adam Bargteil
Project 1 Presentations
Stability & Implicit Integration
Physically Based Modeling: Implicit Methods for Differential Equations
David Baraff
Physically Based Deformable Models In Computer Graphics
Andrew Nealen, Mathias Muller, Richard Keiser, Eddy Boxerman, Mark Carlson
Linear-Strain Finite Elements
Stable Real-Time Deformations
M. Mueller, J. Dorsey, L. McMillan, R. Jagnow, B. Cutler
Invertible Finite Elements
Invertible Finite Elements For Robust Simulation of Large Deformation
Geoffrey Irving, Joey Teran, Ron Fedkiw
Cloth I
Large Steps in Cloth Simulation
David Baraff & Andrew Witkin
To be presented by Kenneth Williams
Robust Treatment of Collisions, Contact and Friction for Cloth Animation
Robert Bridson, Ron Fedkiw, John Anderson
Modal Decompositions &
Reduced Coordinates
Interactive Deformation Using Modal Analysis with Constraints
Kris Hauser, Chen Shen, James O'Brien
To be presented by Cable Thompson
Real-Time Subspace Integration for St.Venant-Kirchhoff Deformable Models
Jernej Barbic & Doug James
To be presented by Cable Thompson
Shape Matching
Meshless Deformations Based on Shape Matching
M. Muller, B. Heidelberger, M. Teschner, M. Gross
To be presented by Tiago Etiene
FastLSM: Fast Lattice Shape Matching for Robust Real-Time Deformation
Alec Rivers & Doug James
To be presented by Tiago Etiene
Fluid Simulation using
Finite Differences
Realistic Animation of Liquids
Nick Foster & Dimitri Metaxas
Rigid, Melting and Flowing Fluid (pages 31-54)
Mark Carlson
More Fluid Simulation
Stable Fluids
Jos Stam
Smoke & Water
Visual Simulation of Smoke
Ron Fedkiw, Jos Stam, Henrik Wann Jensen
To be presented by Jason Scott
Animation and Rendering of Complex Water Surfaces
Doug Enright, Steve Marschner, Ron Fedkiw
To be presented by Chao Yang
More Fluids
A Semi-Lagrangian Contouring Method for Fluid Simulation
Adam Bargteil, Tolga Goketkin, James O'Brien, John Strain
Fluid Animation with Dynamic Meshes
Bryan Klingner, Bryan Feldman, Nuttapong Chentanez, James O'Brien
Fluid Simulation with Particles
Particle-Based Fluid Simulation for Interactive Applications
Mathias Mueller, D. Charypar, Markus Gross
To be presented by Anthony Cummings
Adaptively Sampled Particle Fluids
Bart Adams, Mark Pauly, Richard Keiser, Leonidas Guibas
To be presented by Daniel Rees
Sand & Explosions
Animating Sand as a Fluid
Yongning Zhu, Robert Bridson
To be presented by Brian Summa
Animating Suspended Particle Explosions
Bryan Feldman, James O'Brien, Okan Arikan
To be presented by Rohan Madtha
Controlling Fluids
Target-Driven Smoke Animation
Raanan Fattal & Dani Lischinski
To be presented by James Fishbaugh
Detail-Preserving Fluid Control
Nils Thuerey, Richard Keiser, Mark Pauly & Ulrich Ruede
Rigid Body Dynamics
Physically Based Modeling: Rigid Body Simulation
David Baraff
Collision Detection &
Physically Based Modeling: Rigid Body Simulation
David Baraff
Resting Contact &
Lots of Bodies
Fast Contact Force Computation for Nonpenetrating Rigid Bodies
David Baraff
Nonconvex Rigid Bodies with Stacking
Eran Guendelman, Robert Bridson, Ron Fedkiw
To be presented by Jonathan Bronson
Volumetric Methods for Simulation and Rendering of Hair
Lena Petrovic, Mark Henne, John Anderson
To be presented by Carson Brownlee
A Mass Spring Model for Hair Simulation
Andrew Selle, Mike Lentine & Ron Fedkiw
To be presented by Michael Bellem
Coupling Fluids to
Rigid & Deformable
Rigid Fluid: Animating the Interplay Between Rigid Bodies and Fluid
Mark Carlson, Peter Mucha, Greg Turk
To be presented by Joonyong Ji
Coupling Water and Smoke to Thin Deformable and Rigid Shells
Eran Guendelman, Andrew Selle, Frank Losasso, Ron Fedkiw
To be presented by Murali Krishna Anagani
No Classes.
Graphical Modeling and Animation of Brittle Fracture
James O'Brien & Jessica Hodgins
Graphical Modeling and Animation of Ductile Fracture
James O'Brien, Adam Bargteil, Jessica Hodgins
To be presented by Siddharth Shankar
A Virtual Node Algorithm for Changing Mesh Topology During Simulation
Neil Molino, Zhaosheng Bao, Ron Fedkiw
To be presented by Mark Kim
Viscoelastic Fluids &
Elastoplastic Solids
A Method for Animating Viscoelastic Fluids
Tolga Goktekin, Adam Bargteil, James O'Brien
To be presented by Josh Bross
A Finite Element Method for Animating Large Viscoplastic Flow
Adam Bargteil, Chris Wojtan, Jessica Hodgins, Greg Turk
To be presented by Dan Gerszewski
Point-based Animation
of Solids
Point Based Animation of Elastic, Plastic and Melting Objects
Matthias Mueller, Richard Keiser, Andy Nealen, Mark Pauly, Markus Gross, Marc Alexa
To be presented by Yong Wan
Meshless Animation of Fracturing Solids
Mark Pauly, Richard Keiser, Bart Adams, Philip Dutre, Markus Gross, Leonidas Guibas
Final Project
Course Number 5967      6967     
Programming Assignments      60% 45%
Final Project 25% 25%
Paper Presentations 0% 15%
Final Exam 15% 15%