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