(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 Time steps Substeps
Optimization Time Integrator Predictive Mass Time step For each time step � t position matrix Size � E ( x ) = 1 x t +1 = argmin x 2 ( x − x p ) T M ( x − x p )+ h 2 W ( x ) Incremental Deformation New node Inertia term potential Energy positions Nonlinear, : ) [Ortiz and Stainier 1999] Quadratic (Elasticity nonconvex! Potential) Hard! Provide robust simulation Challenging for: • large deformation and high-speeds • Large time step sizes � h x p = x t + hv t + h 2 M − 1 f * � for implicit Euler ! 3
Desiderata VFX [Smith et al. 2019] ML [Lee et al. 2018], VR/AR, and games Fabrication Engineering Robustness E ffi ciency Scalability Accuracy ! 4
Line-Search Methods 1. Precondition : � p i = − P i − 1 ∇ E ( x i ) x i +1 = x i + α p i E ( x i +1 ) ≤ E ( x i ) 2. Line Search: � ensures � E ffi ciency Scalability Accuracy P i Methods vary in � : Projected Newton (PN) [Teran et al. 2005] � P i = ∇ 2 E ( x i ) L-BFGS-H [Brown et al. 2013] P i = ∇ 2 E ( x t ) � quasi-Newton initialized with � L-BFGS L-BFGS-PD [Liu et al. 2017] P i = M + h 2 L � quasi-Newton initialized with � ! 5
ADMM-PD [Narain et al. 2016] � x t +1 = argmin x E ( x ) = 1 2 ( x − x p ) T M ( x − x p )+ h 2 W ( x ) 2. Global solve with � ( M + h 2 L ) − 1 } 1. Elasticity solve on element soup in parallel Ω " = { } Not convergent! E ffi ciency Scalability Accuracy X Y Z X M + h 2 L = Y Laplacian Z ! 6
Feature Table E ffi ciency Scalability Accuracy LBFGS-PD LBFGS-H PN : ( ADMM-PD DOT ! 7
100K tetrahedra, Time step size: 10ms, Converged to ! 10 − 5 CN 1.9 sec/frame, ! 8
Observations Deformations are local Articulated Structure Domain Decomposition ! 9
Domain Decomposition Subdomain copy of interface nodes Ω # Ω " Ω $ Ω , " = { } Original simulation domain Subdomains after decomposition ! 10
Domain Decomposition Domain Decomposition • Domain decomposition preconditions iterative linear solvers • Extensions to nonlinear systems with slow convergence Ω # Ω " Ω $ Ω , " = { } Original simulation domain Subdomains after decomposition ! 11
DOT Algorithm
Domain Decomposition Domain Decomposition Subdomain copy of interface nodes Ω # Ω " Ω $ Ω , " = { } Original simulation domain Subdomains after decomposition ! 13
Domain Decomposition Original copy of interface nodes Subdomain copy of interface nodes Subdomain copy of interface nodes Ω # Ω " Ω $ Ω , " = { , } Original simulation domain Subdomains after decomposition ! 14
Domain Decomposition Original copy of interface nodes Subdomain copy of interface nodes Ω # Ω " Ω $ Ω , " = { , } Original simulation domain Subdomains after decomposition ! 15
Decomposed Penalty Lagrangian � min Σ Ω j E j ( , ) s . t . = ) + 1 ) = Σ Ω i ( E j ( ) ) ) T L ( , , , 2 ( ( − − K j ill-conditioning!! Ω # Ω " Ω $ Ω , " = { , } ! 16
Decomposed Initializer For inner initializer Of LBFGS! H 1 ∂ 2 L The penalty Hessian: H 2 } 2 = ∂ { , H 3 Ω # Ω " Ω $ Ω , " = { , } Number of DOFs do not match!! ! 17
Decomposed Initializer Vector defined on original domain q Ω # Ω " Ω $ Ω , " = { , } ! 18
Decomposed Initializer Vector from original domain to subdomains q S Ω # Ω " Ω $ Ω , " = { , } ! 19
Decomposed Initializer Independent per domain back solves H − 1 1 H − 1 q S 2 H − 1 3 Ω # Ω " Ω $ Ω , " = { , } ! 20
Decomposed Initializer Vector back to original domain H − 1 1 S T r = H − 1 B q S 2 H − 1 3 Ω # Ω " Ω $ Ω , " = { , } ! 21
Penalty Stiffness ) + 1 ) = Σ Ω i ( E j ( ) ) ) T L ( , , , 2 ( ( − − K j ? ! 22
Penalty Stiffness ∂ 2 E j ∂ 2 E j ∂ 2 L 2 ∂ j ∂ ∂ j j Subdomain Hessian: H j = j } 2 = ∂ 2 E j ∂ 2 E j ∂ { j , j + K j ∂ j ∂ 2 ∂ j Ω # Ω " Ω $ Ω , " = { , } ∂ 2 E j ∂ 2 E for � K j Use − ≠ ∂ ∂ 2 2 ! 23
� � � � � � DOT Pseudo-code || ∇ E ( x i ) || 2 ≥ ϵ CN While � // gradient residual convergence check [Zhu et al. 2018] q ← lowRankUpdate ( − ∇ E ( x i )) // 1st quasi-Newton update ( q 1 , q 2 , . . . , q s ) ← separate ( q ) // Separate full DoFs to subdomains r j ← backsolve ( q j ), ∀ j ∈ [1, s ] // Back-solve subdomains in parallel r ← merge ( r 1 , r 2 , . . . , r s ) // Merge subdomain to full coordinates Decomposed p ← lowRankUpdate ( r ) // 2nd quasi-Newton update Initialier x i +1 ← x i + α p // Line-search and update ! 24
Experiments and Results
Testing Examples ! 26
DOT Iteration Growth with Subdomain Count Decompose meshes with METIS [Karypis and Kumar 2009] 90 80 horse-7K(S) 70 horse-38K(S) horse-79K(S) Iteration Count 60 horse-7K(SS) horse-38K(SS) 50 kingkong-18K(SS) Sub-linear growth! kingkong-48K(SS) bunny-30K(SS) 40 kongkong-18K(TSS) monkey-18K(TSS) 30 elf-23K(TSS) hollowCat-24K(TSS) 20 horse-38K(TSS) 10 0 50 100 150 200 250 300 Number of Blocks ! 27
DOT Iteration Process A Visualization of DOT’s decomposition: ! 28
DOT Iteration Process Before DOT iterations: ! 29
DOT Iteration Process DOT iterations: ! 30
Elf tests DOT PN L-BFGS-PD 63K nodes, 361K elements, Time step size: 25ms, Converged to ! 10 − 5 CN ! 31
Horse test DOT PN L-BFGS-PD 136K nodes, 642K elements, Time step size: 25ms, Converged to ! 10 − 5 CN ! 32
Performance Log scale 10 4 10 4 PN With 3.7M elements LBFGS-H 10 3 10 3 LBFGS-PD 10 2 10 2 DOT (ours) 10 1 10 1 10 0 10 0 10 -1 10 -1 0 5 10 15 20 25 30 0 5 10 15 20 25 30 ! 33
100K tetrahedra, Time step size: 10ms, Converged to ! 10 − 5 CN 1.9 sec/frame, ! 34
147K tetrahedra, Time step size: 10ms, Converged to ! 10 − 5 CN 3.7 sec/frame, ! 35
Conclusion DOT , optimization time step solver that enables Robust, e ffi cient, and accurate frame-size time stepping for challenging large and high-speed deformations with nonlinear materials . ! 36
Thanks! (Source code coming soon)
Recommend
More recommend