Decomposed Optimization Time Integrator for Large-Step Elastodynamics
Minchen Li1,2, Ming Gao1, Timothy Langlois2, Chenfanfu Jiang1, Danny Kaufman2
- 1. University of Pennsylvania
- 2. Adobe Research
(a) (d)
Decomposed Optimization Time Integrator for Large-Step - - PowerPoint PPT Presentation
(a) (d) Decomposed Optimization Time Integrator for Large-Step Elastodynamics Minchen Li 1,2 , Ming Gao 1 , Timothy Langlois 2 , Chenfanfu Jiang 1 , Danny Kaufman 2 1. University of Pennsylvania 2. Adobe Research Time Stepping DOT: Time
Minchen Li1,2, Ming Gao1, Timothy Langlois2, Chenfanfu Jiang1, Danny Kaufman2
(a) (d)
Time steps
Time
Substeps
DOT:
E(x) = 1
2 (x − xp)TM(x − xp)+
!3
Incremental potential [Ortiz and Stainier 1999] Inertia term Deformation Energy (Elasticity Potential)
W(x) Challenging for:
For each time step t Provide robust simulation
New node positions Predictive position Time step Size
Quadratic Nonlinear, nonconvex! Hard!
h2
Mass matrix
* for implicit Euler
xp = xt + hvt + h2M−1f
xt+1 = argminx
!4
Robustness Efficiency Scalability Accuracy
ML [Lee et al. 2018], VR/AR, and games VFX [Smith et al. 2019] Fabrication Engineering
!5
ensures
xi+1 = xi + αpi E(xi+1) ≤ E(xi)
Methods vary in :
Pi
Projected Newton (PN) [Teran et al. 2005] Pi = ∇2E(xi) L-BFGS-H [Brown et al. 2013]
Pi = ∇2E(xt)
L-BFGS-PD [Liu et al. 2017]
Pi = M + h2L
Efficiency Scalability Accuracy
L-BFGS
!6
Efficiency Scalability Accuracy
Laplacian X Y Z X Y Z
M + h2L =
Ω " = { }
xt+1 = argminxE(x) = 1
2 (x − xp)TM(x − xp)+
W(x) h2
Not convergent!
!7
Efficiency Scalability Accuracy LBFGS-PD LBFGS-H PN ADMM-PD DOT
!8
100K tetrahedra, Time step size: 10ms, Converged to ! 1.9 sec/frame, 10−5CN
Deformations are local
!9
Domain Decomposition Articulated Structure
Ω, " = { }
!10
Original simulation domain
Ω" Ω# Ω$
Subdomains after decomposition
Subdomain copy of interface nodes
!11
Ω, " = { }
Original simulation domain
Ω" Ω# Ω$
Subdomains after decomposition
!13
Ω, " = { }
Original simulation domain
Ω" Ω# Ω$
Subdomains after decomposition
Subdomain copy of interface nodes
!14
Ω, " = { , }
Ω" Ω# Ω$
Subdomains after decomposition Original simulation domain
Subdomain copy of interface nodes Subdomain copy of interface nodes Original copy of interface nodes
!15
Ω, " = { , }
Ω" Ω# Ω$
Subdomains after decomposition Original simulation domain
Subdomain copy of interface nodes Original copy of interface nodes
!16
min ΣΩjEj(
, )
s . t . =
L( , , ) = ΣΩi(Ej( , ) + 1 2 ( − )T ( − ))
Ω, " = { , }
Ω" Ω# Ω$
Kj
ill-conditioning!!
!17
∂2L ∂{ , }2 = H1 H2 H3
For inner initializer Of LBFGS!
Ω, " = { , }
Ω" Ω# Ω$
Number of DOFs do not match!!
The penalty Hessian:
!18
Ω, " = { , }
Ω" Ω# Ω$
Vector defined on original domain
!19
Ω, " = { , }
Ω" Ω# Ω$
Vector from original domain to subdomains
!20
H−1
1
H−1
2
H−1
3
Ω, " = { , }
Ω" Ω# Ω$
Independent per domain back solves
!21
H−1
1
H−1
2
H−1
3
Ω, " = { , }
Ω" Ω# Ω$
Vector back to original domain
L( , , ) = ΣΩi(Ej( , ) + 1 2 ( − )T ( − ))
!22
Kj
Subdomain Hessian:
!23
Hj = ∂2L ∂{
j, j}2 = ∂2Ej ∂
2 j
∂2Ej ∂
j∂ j
∂2Ej ∂
j∂ j
∂2Ej ∂
2 j + Kj
∂2E ∂
2
Ω, " = { , }
Ω" Ω# Ω$
∂2Ej ∂
2
Use
−
for Kj
≠
While // gradient residual convergence check [Zhu et al. 2018]
||∇E(xi)||2 ≥ ϵCN
!24
q ← lowRankUpdate( − ∇E(xi))
(q1, q2, . . . , qs) ← separate(q)
rj ← backsolve(qj), ∀j ∈ [1,s]
r ← merge(r1, r2, . . . , rs)
p ← lowRankUpdate(r)
xi+1 ← xi + αp
Decomposed Initialier
!26
!27
50 100 150 200 250 300
Number of Blocks
10 20 30 40 50 60 70 80 90
Iteration Count
horse-7K(S) horse-38K(S) horse-79K(S) horse-7K(SS) horse-38K(SS) kingkong-18K(SS) kingkong-48K(SS) bunny-30K(SS) kongkong-18K(TSS) monkey-18K(TSS) elf-23K(TSS) hollowCat-24K(TSS) horse-38K(TSS)
Decompose meshes with METIS [Karypis and Kumar 2009]
Sub-linear growth!
!28
A Visualization of DOT’s decomposition:
!29
Before DOT iterations:
!30
DOT iterations:
!31
PN L-BFGS-PD DOT
63K nodes, 361K elements, Time step size: 25ms, Converged to !10−5CN
!32
PN L-BFGS-PD DOT
136K nodes, 642K elements, Time step size: 25ms, Converged to !10−5CN
!33
5 10 15 20 25 30 10-1 100 101 102 103 104 5 10 15 20 25 30 10-1 100 101 102 103 104
DOT (ours) PN LBFGS-H LBFGS-PD
With 3.7M elements Log scale
!34
100K tetrahedra, Time step size: 10ms, Converged to ! 1.9 sec/frame, 10−5CN
!35
147K tetrahedra, Time step size: 10ms, Converged to ! 3.7 sec/frame, 10−5CN
DOT, optimization time step solver that enables Robust, efficient, and accurate frame-size time stepping for challenging large and high-speed deformations with nonlinear materials.
!36