1. Preface
  2. Simulation with Optimization
  3. 1. Discrete Space and Time
    1. 1.1. Representations of a Solid Geometry
    2. 1.2. Newton's Second Law
    3. 1.3. Time Integration
    4. 1.4. Explicit Time Integration
    5. 1.5. Implicit Time integration
    6. 1.6. Summary
  4. 2. Optimization Framework
    1. 2.1. Optimization Time Integrator
    2. 2.2. Dirichlet Boundary Conditions
    3. 2.3. Contact
    4. 2.4. Friction
    5. 2.5. Summary
  5. 3. Projected Newton
    1. 3.1. Convergence of Newton's Method
    2. 3.2. Line Search
    3. 3.3. Gradient-Based Optimization
    4. 3.4. Summary
  6. 4. Case Study: 2D Mass-Spring*
    1. 4.1. Spatial and Temporal Discretizations
    2. 4.2. Inertia Term
    3. 4.3. Mass-Spring Potential Energy
    4. 4.4. Optimization Time Integrator
    5. 4.5. Simulation with Visualization
    6. 4.6. GPU-Accelerated Simulation
    7. 4.7. Summary
  7. Boundary Treatments
  8. 5. Dirichlet Boundary Conditions*
    1. 5.1. Equality Constraint Formulation
    2. 5.2. DOF Elimination Method
    3. 5.3. Case Study: Hanging Sqaure*
    4. 5.4. Summary
  9. 6. Slip Dirichlet Boundary Conditions
    1. 6.1. Axis-Aligned Slip DBC
    2. 6.2. Change of Variables
    3. 6.3. General Slip DBC
    4. 6.4. Summary
  10. 7. Distance Barrier for Nonpenetration
    1. 7.1. Signed Distances
    2. 7.2. Distance Barrier
    3. 7.3. Solution Accuracy
    4. 7.4. Summary
  11. 8. Filter Line Search*
    1. 8.1. Tunneling Issue
    2. 8.2. Penetration-free Trajectory
    3. 8.3. Case Study: Square Drop*
    4. 8.4. Summary
  12. 9. Frictional Contact
    1. 9.1. Smooth Dynamic-Static Transition
    2. 9.2. Semi-Implicit Discretization
    3. 9.3. Fixed-Point Iteration
    4. 9.4. Summary
  13. 10. Case Study: Square On Slope*
    1. 10.1. From Ground To Slope
    2. 10.2. Slope Friction
    3. 10.3. Summary
  14. 11. Moving Boundary Conditions*
    1. 11.1. Penalty Method
    2. 11.2. Case Study: Compressing Square*
    3. 11.3. Summary
  15. Hyperelasticity
  16. 12. Kinematics Theory
    1. 12.1. Continuum Motion
    2. 12.2. Deformation
    3. 12.3. Summary
  17. 13. Strain Energy
    1. 13.1. Rigid Null Space and Rotation Invariance
    2. 13.2. Polar Singular Value Decomposition
    3. 13.3. Simplified Models and Invertibility
    4. 13.4. Summary
  18. 14. Stress and Its Derivatives
    1. 14.1. Stress
    2. 14.2. Computing Stress
    3. 14.3. Computing Stress Derivatives
    4. 14.4. Summary
  19. 15. Case Study: Inversion-free Elasticity*
    1. 15.1. Linear Triangle Elements
    2. 15.2. Computing Energy, Gradient, and Hessian
    3. 15.3. Filter Line Search for Non-Inversion
    4. 15.4. Summary
  20. Governing Equations
  21. 16. Strong and Weak Forms
    1. 16.1. Conservation of Mass
    2. 16.2. Conservation of Momentum
    3. 16.3. Weak Form
    4. 16.4. Summary
  22. 17. Discretization of Weak Forms
    1. 17.1. Discrete Space
    2. 17.2. Discrete Time
    3. 17.3. Summary
  23. 18. Boundary Conditions and Frictional Contact
    1. 18.1. Incorporating Boundary Conditions
    2. 18.2. Normal Contact for Nonpenetration
    3. 18.3. Barrier Potential
    4. 18.4. Friction Force
    5. 18.5. Summary
  24. Finite Element Method
  25. 19. Linear Finite Elements
    1. 19.1. Piecewise Linear Displacement Field
    2. 19.2. Mass Matrix and Lumping
    3. 19.3. Elasticity Term
    4. 19.4. Summary
  26. 20. Piecewise Linear Boundaries
    1. 20.1. Boundary Conditions
    2. 20.2. Solid-Obstacle Contact
    3. 20.3. Self-Contact
    4. 20.4. Summary
  27. 21. Case Study: 2D Self-Contact*
    1. 21.1. Scene Setup and Boundary Element Collection
    2. 21.2. Point-Edge Distance
    3. 21.3. Barrier Energy and Its Derivatives
    4. 21.4. Continuous Collision Detection
    5. 21.5. Summary
  28. 22. 2D Frictional Self-Contact*
    1. 22.1. Discretization and Approximation
    2. 22.2. Precomputing Normal and Tangent Information
    3. 22.3. Friction Energy and Its Derivatives
    4. 22.4. Summary
  29. 23. 3D Elastodynamics
    1. 23.1. Kinematics
    2. 23.2. Mass Matrix
    3. 23.3. Elasticity
    4. 23.4. Summary
  30. 24. 3D Frictional Self-Contact
    1. 24.1. Barrier and Distances
    2. 24.2. Collision Detection
    3. 24.3. Friction
    4. 24.4. Summary
  31. Spatial Reductions
  32. 25. Rigid Body Simulation*
    1. 25.1. Rigid Body Dynamics
    2. 25.2. Subspace Simulation
    3. 25.3. Affine Body Dynamics
    4. 25.4. Case Study: ABD Square Drop*
    5. 25.5. Summary
  33. 26. Modal Reductions*
    1. 26.1. Linear Modal Analysis
    2. 26.2. Linear Demo*
    3. 26.3. Non-linear Reductions
    4. 26.4. Reduction Basis
    5. 26.5. Summary
  34. Material Point Method
  35. 27. Spatial and Temporal Discretization
    1. 27.1. Material Particles
    2. 27.2. Interpolating Functions
    3. 27.3. Particle-Grid Transfers
    4. 27.4. Deformation Gradient and Particle State Update
    5. 27.5. Summary
  36. 28. Beyond Elasticity: Plasticity and Viscosity
    1. 28.1. Discretization of Plastic Flow
    2. 28.2. Yield Condition and Return Mapping
    3. 28.3. Summary
  37. 29. Boundary Treatments
    1. 29.1. Boundary Conditions
    2. 29.2. Frictional Contact on Material Particles
    3. 29.3. Summary
  38. 30. Case Study: Two Colliding Elastic Blocks in 2D*
    1. 30.1. Simulation Setup
    2. 30.2. Particle-In-Cell Transfer
    3. 30.3. Summary
  39. 31. Case Study: 2D Sand with a Sphere Collider*
    1. 31.1. Drucker-Prager Elastoplasticity
    2. 31.2. SDF-based Sphere Collider
    3. 31.3. Affine Particle-In-Cell Transfer
    4. 31.4. Summary
  40. Position Based Simulations
  41. 32. Position Based Dynamics (PBD)
    1. 32.1. Particle Simulation Preliminaries
    2. 32.2. Core Algorithm / Position Based Framework
    3. 32.3. Constraint Formulation
    4. 32.4. Constraint Solver
    5. 32.5. Stiffness and Damping
    6. 32.6. Summary
  42. 33. PBD Constraint Types
    1. 33.1. Cloth: Stretching and Bending
    2. 33.2. Collision Constraints
    3. 33.3. Volume Conservation Constraints
    4. 33.4. Position Based Fluids: Density and Surface Constraints
    5. 33.5. Continuum-based Constraints
    6. 33.6. Summary
  43. Special Topics
  44. 34. Linear System
    1. 34.1. Direct Solver
    2. 34.2. Basic Iterative Methods
    3. 34.3. Conjugate Gradient
    4. 34.4. Summary
  45. Bibliography

Physics-Based Simulation

Projected Newton