15-769: Physically-based Animation of Solids and Fluids (F23)
Instructor: Minchen Li (minchenl@cs.cmu.edu, Office: Smith 228, office hours by appointment)
Time & Location: Tuesday and Thursday 5:00 PM - 6:20 PM, Wean Hall (WEH) 2302
Recommended Prerequisite: Programming, Linear Algebra, Vector Calculus, and Computer Graphics
At CMU, this may be achieved by taking (15-110 or 15-112 or 15-122 or 02-201) and { [ (21-240 or 21-241 or 21-242 or 21-341) and (21-256 or 21-259 or 21-268 or 21-269) ] or 21-254} and 15-462, as suggested in 15-458/858.
Online Platforms: Piazza (Q&A, announcements), Canvas (grades)
Overview
This seminar-based course delves into the heart of physically-based animations of solids and fluids, a key component in fields ranging from visual effects and VR to digital fashion. Central to this is solving partial differential equations (PDEs) using numerical methods, with applications extending to computational mechanics, robotic training, and 3D content creation. Combining lectures with student presentations, we will explore the simulation of various physical entities, such as rigid bodies, deformable bodies (Python examples available), shells, rods, liquids, and smoke, all the way from the discretization of the governing PDEs to the efficient implementation and evaluation of the numerical solvers.
Students will acquire a thorough understanding of both classic and state-of-the-art methods of solids and fluids simulation in computer graphics. They will also gain insights into the existing challenges in enhancing and applying these methods within the broader field.
Grading
- Final Project: 60% (10% × 3 presentations + 30% final report)
- In-Class Paper Presentation: 30% (15% each)
- Class Participation: 10% (attendance and discussion)
Final Project
There are 3 options for the final coding project:
- Perform a comprehensive experimental validation of at least 2 existing methods within a specific topic, with the aim of uncovering insights that are not widely recognized.
- Apply existing methods to a problem that has not previously been explored, ensuring that you provide adequate validation of your findings.
- Create a unique algorithm, either by extending existing methods or developing a new one from scratch, and carry out appropriate validation.
As indicated, each project option necessitates the exploration of uncharted avenues. Even if the outcomes are not as anticipated, the research experience gained is intrinsically valuable. Simply repeating what has already been done is not adequate.
You are permitted to utilize open-source code in all options with proper acknowledgement of the source.
If there isn't any available online implementation for a baseline method, you will need to undertake the implementation.
The project can be carried out as a team of 1-3 people (to be registered).
You are required to write a project report including introduction, related works, methods, results, and discussion. There are also project presentations.
Paper and Project Presentations
Each student needs to perform 2 paper presentations (30-min talk + 10-min Q&A, schedule to be registered). The paper for each presentation needs to be selected from different topics in this list.
Presenting other papers is also allowed after confirming with the instructor.
Here is a nice guideline that could be followed for the paper presentation as suggested in 16-848:
- Introduce the authors. Who are the authors? What do we know about their lab? What else have they done? (briefly)
- Introduce the paper. What is the goal of the paper and why is it interesting and important? This is sometimes a good place to show a preview of results so we have an idea of what is coming.
- Related work. What has been done in this area already? What background are they building on?
- Specific contribution. What is the specific gap that this paper is trying to close and what is their stated contribution?
- Techniques. How did the authors solve this problem? Tell us whatever is interesting to learn here in the time you have available. If there are parts that were hard to understand on first reading, go to the board or find some way to explain them to us now that you've had a chance to figure them out.
- Results. Show the results and help the audience sort out what is interesting and important (especially if there are endless plots).
- Discussion. In this section you should give your own opinion based on your study of the paper. Be sure to leave plenty of time for this section. Here are some questions to think about. Are the authors trying to solve an interesting problem in the first place? How good a job did they do? Are the results useful? To whom? What might you change or how might you solve this problem in a better way? Where do you expect the field to go from here, i.e., what important problems didn't the authors solve? Don't limit yourself to these questions -- just use them as a starting point to organize your own thoughts about the paper.
Each team needs to perform 3 project presentations (see our Schedule, length based on number of teams), they are Project Proposal Presentation, Midterm Progress Presentation, and Final Project Presentation.
The main goal of these presentations are to ensure you distribute the workload evenly during the semester, get inspired by your classmates, and receive valuable feedback.
AI Tools Policy
In this course, you are permitted to use generative AI tools for your presentations and course projects. These tools, such as ChatGPT, or others, can be powerful aids to increase efficiency, inspire creativity, and help you complete high-quality work.
Mandatory Appendix for AI Tool Usage.
If you employ AI tools for your presentation or project, you are required to include an appendix in your submission that explains how and to what extent the AI tools were used. This appendix should describe the specific tasks the AI was used for, the AI tool used, and the extent to which the AI-generated content was modified.
Citations and Academic Integrity.
Any AI-generated content must be properly cited in accordance with CMU's academic integrity policy. This includes content that has been paraphrased or modified. Failure to properly cite AI-generated content will be treated as a violation of academic integrity.
Accuracy and Responsibility.
It is crucial to understand that AI-generated content may not always be accurate or reliable. It is your responsibility to verify the validity and relevance of such content before incorporating it into your work. Failure to do so may result in a loss of scores.
By using AI tools in this course, you acknowledge your understanding and agreement to abide by these guidelines. Failure to comply will be considered a violation of CMU's academic integrity policy and may result in disciplinary actions.
Tentative Schedule
- Week 1
- Week 2
- Week 3
- Week 4
- Week 5
- Week 6
- Week 7
- Week 8: Fall Break, no classes
- Week 9
- Week 10
- Oct 31: Paper Presentation
- Nov 2: Midterm Progress Presentation
- Week 11
- Week 12
- Nov 14: Paper Presentation
- Nov 16: Paper Presentation
- Week 13
- Week 14
- Nov 28: Paper Presentation
- Nov 30: Paper Presentation
- Week 15
- Dec 5: Paper Presentation
- Dec 7: Final Project Presentation
- Final report due Dec 17 at 23:59 ET
Resources
Relevant Papers
Note: A bullet point with multiple papers is a paper bundle that needs to be presented in one presentation.
Optimization-based Time Integration
-
Projective dynamics: Fusing constraint projections for fast simulation (2014)
-
Optimization Integrator for Large Time Steps (2015)
-
XPBD: Position-Based Simulation of Compliant Constrained Dynamics (2016)
-
ADMM ⊇ Projective Dynamics: Fast Simulation of Hyperelastic Models with Dynamic Constraints (2017)
-
Quasi-newton methods for real-time simulation of hyperelastic materials (2017)
-
A GPU-Based Multilevel Additive Schwarz Preconditioner for Cloth and Deformable Body Simulation (2022)
-
Second-order Stencil Descent for Interior-point Hyperelasticity (2023)
(Adaptive) Spatial Discretization
-
Eulerian solid simulation with contact (2011)
-
A material point method for snow simulation (2013)
-
Reformulating Hyperelastic Materials with Peridynamic Modeling (2018)
-
Hybrid grains: Adaptive coupling of discrete and continuum simulations of granular media (2018)
-
Fast Corotated Elastic SPH Solids with Implicit Zero-Energy Mode Control (2021)
-
Surface-Only Dynamic Deformables using a Boundary Element Method (2022)
-
Multi-Layer Thick Shells (2023)
-
High-Order Incremental Potential Contact for Elastodynamic Simulation on Curved Meshes (2023)
-
Adaptive Anisotropic Remeshing for Cloth Simulation (2012)
Contact and Friction
-
Robust treatment of collisions, contact and friction for cloth animation (2002)
-
Asynchronous contact mechanics (2009)
-
Efficient and Accurate Collision Response for Elastically Deformable Models (2019)
-
Non-smooth Newton Methods for Deformable Multi-body Dynamics (2019)
-
Incremental Potential Contact: Intersection- and Inversion-free, Large-Deformation Dynamics (2020), Codimensional incremental potential contact (2021)
-
Augmented Incremental Potential Contact for Sticky Interactions (2023)
-
Efficient BVH-based Collision Detection Scheme with Ordering and Restructuring (2018)
-
A Large Scale Benchmark and an Inclusion-Based Algorithm for Continuous Collision Detection (2021)
Inversion-Robust Elasticity, Anisotropic Elasticity
-
Stable Neo-Hookean Flesh Simulation (2018), Analytic Eigensystems for Isotropic Distortion Energies (2019)
-
Stable anisotropic materials (2015)
-
Anisotropic elasticity for inversion-safety and element rehabilitation (2019)
-
Botanical materials based on biomechanics (2017)
Spatial Reduction
-
Discrete shells (2003), Discrete elastic rods (2008)
-
Efficient and Stable Simulation of Inextensible Cosserat Rods by a Compact Representation (2022)
-
Adaptive merging for rigid body simulation (2020)
-
A Unified Newton Barrier Method for Multibody Dynamics (2022)
-
Pose Space Deformation: A Unified Approach to Shape Interpolation and Skeleton-Driven Deformation (2000)
-
Real-time subspace integration for St. Venant-Kirchhoff deformable models (2005)
-
Optimizing Cubature for Efficient Integration of Subspace Deformations (2008)
-
Real-time large-deformation substructuring (2011)
-
Latent-space Dynamics for Reduced Deformable Simulation (2019)
-
Medial IPC: Accelerated Incremental Potential Contact With Medial Elastics (2021)
-
Model Reduction for the Material Point Method via an Implicit Neural Representation of the Deformation map (2023)
-
Homogenized Yarn-Level Cloth (2020)
Fluids
-
Implicit incompressible SPH (2013), Divergence-free smoothed particle hydrodynamics (2015)
-
Surface-Only Liquids (2016)
-
Efficient and Conservative Fluids Using Bidirectional Mapping (2019)
-
Kinetic-based Multiphase Flow Simulation (2020)
-
A Large-Scale Benchmark for the Incompressible Navier-Stokes Equations (2021)
-
The power particle-in-cell method (2022)
-
A Monte Carlo Method for Fluid Simulation (2022)
-
Fluid Cohomology (2023)
-
PolyStokes: A Polynomial Model Reduction Method for Viscous Fluid Simulation (2023)
Solid-Fluid Coupling
-
A Fast Variational Framework for Accurate Solid-Fluid Coupling (2007)
-
A Multi-Scale Model for Simulating Liquid-Hair Interactions (2017)
-
An Efficient B-Spline Lagrangian/Eulerian Method for Compressible Flow, Shock Waves, and Fracturing Solids (2022)
-
A Contact Proxy Splitting Method for Lagrangian Solid-Fluid Coupling (2023)
High-Performance Simulation
-
QuanTaichi: a Compiler for Quantized Simulations (2021)
-
SymX: Energy-based Simulation from Symbolic Expressions (2023)
-
Interactive Hair Simulation on the GPU Using ADMM (2023)
-
A Sparse Distributed Gigascale Resolution Material Point Method (2023)
Simulation Applications
-
Design and fabrication of materials with desired deformation behavior (2010)
-
FoldSketch: Enriching Garments with Physically Reproducible Folds (2018)
-
Two-Scale Topology Optimization with Microstructures (2017)
-
Fluid Directed Rigid Body Control using Deep Reinforcement Learning (2018)
-
ChainQueen: A Real-Time Differentiable Physical Simulator for Soft Robotics (2019)
-
Guaranteed Globally Injective 3D Deformation Processing (2021)
-
Deep Physics-aware Inference of Cloth Deformation for Monocular Human Performance Capture (2021)
-
Differentiable solver for time-dependent deformation problems with contact (2022)