CS839 Topics in Computing : Physics-Based Modeling and Simulation

Fall Semester 2019


Course outline

This course is a review of current trends and technologies for physics based modeling and simulation, with applications to visual effects, interactive virtual environments and computer games. Topics to be covered in class include:

In discussing these topics, particular emphasis will be placed on the efficiency, robustness and stability of numerical algorithms used in simulation tasks, and on the software engineering practices that facilitate scalability and parallelization. Lectures will straddle the following three threads of emphasis: Theory discussion will cover the mathematical foundations of modeling and simulation techniques. Implementation aspects will include software engineering and parallel programming considerations. The discussion of Tools will address third-party APIs and data structures that facilitate development of simulation and visualization codes.


General information

Lecture meeting time : Mon/Wed/Fri 4:00pm - 5:15pm (on average, twice a week; exact schedule to be posted by start of instruction)
Lecture location : Computer Sciences 1257

Instructor : Eftychios Sifakis
Office : Computer Sciences building, Room 6387
Email : sifakis <at> cs <dot> wisc <dot> edu
Office hours : Mon/Wed/Fri 1:30pm - 2:15pm on days that class meets or by appointment

Prerequisites : No formal requirements. Nevertheless, a number of numerical techniques will be employed in the context of various topics; the theoretical details of these methods will be summarily covered in class. A certain degree of familiarity with calculus will be desired, although not essential. Competency in linear algebra is desired.


Schedule of lectures

DATE Lecture Information Assignments & Reading Materials

Wednesday, September 4th

Introduction to Physics Based Modeling
Discussion of course structure and logistics

Lecture Notes [PDF]

Friday, September 6th

Solid geometry representations. Dynamic Meshes. Pixar USD

Lecture Notes [PDF]

Monday, September 9th

The Pixar USD C-Language API and data format

Wednesday, September 11th

Introduction To Time Integration. Finite Element Methods Part 1

Lecture Notes [PDF][PDF]

Friday, September 13th

NO CLASS OR OFFICE HOURS

Monday, September 16th

Finite Element Methods: Part 2

Wednesday, September 18th

Implementation of Finite Element Methods.

Friday, September 20th

Implementation of Finite Element Methods (con't). Stability

Lecture Notes [PDF]

Monday, September 23rd

Implicit and Quasistatic Methods: Part 1

Lecture Notes [PDF]

Wednesday, September 25th

Implicit and Quasistatic Methods: Part 2

Friday, September 27th

NO CLASS OR OFFICE HOURS

Monday, September 30th

Practical Implementation of Backward Euler - Conjugate Gradients

Lecture Notes [PDF]

Wednesday, October 2nd

Nonlinear elasticity, Part I. Robust handling of inversion

Lecture Notes [PDF]

Friday, October 4th

Nonlinear elasticity, Part I. Robust handling of inversion

Lecture Notes [PDF]

Monday, October 7th

Nonlinear elasticity, Part I. Force differentials.

Lecture Notes [PDF]

Wednesday, October 9th

Nonlinear elasticity, Part II. Definiteness Correction

Lecture Notes [PDF]

Friday, October 11th

Nonlinear elasticity, Part III. Implementation considerations

Lecture Notes [PDF]

Monday, October 14th

NO CLASS OR OFFICE HOURS

Wednesday, October 16th

Interactive simulation of elastic materials

Shape Matching [PDF] FastLSM [URL] Projective Dynamics [URL]

Friday, October 18th

Introduction to cloth simulation and collision processing.

Lecture Notes [PDF]

Monday, October 21st

NO CLASS OR OFFICE HOURS

Wednesday, October 23rd

Collison detection and response with kinematic objects, using levelsets and penalty forces.

Lecture Notes [PDF]

Friday, October 25th

Introduction to self-collision processing.

Lecture Notes [PDF]

Monday, October 28th

Overview of other simulation topics for elastic media (Part I)

Lecture Notes [PDF]

Wednesday, October 30th

Overview of other simulation topics for elastic media (Part II)

Lecture Notes [PDF]

Friday, November 1st

Introduction to simulation of fluids (Part I; Governing Equations)

Robert Bridson's SIGGRAPH Course Notess [URL]

Monday, November 4th

NO CLASS OR OFFICE HOURS

Wednesday November 6th

Introduction to simulation of fluids (Part II; Discretization and solution)

Robert Bridson's SIGGRAPH Course Notess [URL]

Friday, November 8th

Paper Presentations by Students (Theme: MPM)

Monday, November 11th

Seminar by Guest Lecturer (Yuanming Hu, MIT/CSAIL)

Location : Computer Sciences 1240

Wednesday, November 13th

Paper Presentations by Students

Friday, November 15th

NO CLASS OR OFFICE HOURS

Monday, November 18th

Fast solvers for incompressible fluids (PCG and MultiGrid)

Lecture Notes [PDF]

Wednesday, November 20th

Fast Fluids solvers (con't). Project Logistics.

Lecture Notes [PDF]

Friday, November 22nd

Paper presentations by students