decomposed optimization time integrator for large step
play

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


  1. (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

  2. Time Stepping DOT: Time Time steps Substeps

  3. 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

  4. Desiderata VFX [Smith et al. 2019] ML [Lee et al. 2018], VR/AR, and games Fabrication Engineering Robustness E ffi ciency Scalability Accuracy ! 4

  5. 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

  6. 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

  7. Feature Table E ffi ciency Scalability Accuracy LBFGS-PD LBFGS-H PN : ( ADMM-PD DOT ! 7

  8. 100K tetrahedra, Time step size: 10ms, Converged to ! 10 − 5 CN 1.9 sec/frame, ! 8

  9. Observations Deformations are local Articulated Structure Domain Decomposition ! 9

  10. Domain Decomposition Subdomain copy of interface nodes Ω # Ω " Ω $ Ω , " = { } Original simulation domain Subdomains after decomposition ! 10

  11. Domain Decomposition Domain Decomposition • Domain decomposition preconditions iterative linear solvers • Extensions to nonlinear systems with slow convergence Ω # Ω " Ω $ Ω , " = { } Original simulation domain Subdomains after decomposition ! 11

  12. DOT Algorithm

  13. Domain Decomposition Domain Decomposition Subdomain copy of interface nodes Ω # Ω " Ω $ Ω , " = { } Original simulation domain Subdomains after decomposition ! 13

  14. Domain Decomposition Original copy of interface nodes Subdomain copy of interface nodes Subdomain copy of interface nodes Ω # Ω " Ω $ Ω , " = { , } Original simulation domain Subdomains after decomposition ! 14

  15. Domain Decomposition Original copy of interface nodes Subdomain copy of interface nodes Ω # Ω " Ω $ Ω , " = { , } Original simulation domain Subdomains after decomposition ! 15

  16. Decomposed Penalty Lagrangian � min Σ Ω j E j ( , ) s . t . = ) + 1 ) = Σ Ω i ( E j ( ) ) ) T L ( , , , 2 ( ( − − K j ill-conditioning!! Ω # Ω " Ω $ Ω , " = { , } ! 16

  17. 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

  18. Decomposed Initializer Vector defined on original domain q Ω # Ω " Ω $ Ω , " = { , } ! 18

  19. Decomposed Initializer Vector from original domain to subdomains q S Ω # Ω " Ω $ Ω , " = { , } ! 19

  20. Decomposed Initializer Independent per domain back solves H − 1 1 H − 1 q S 2 H − 1 3 Ω # Ω " Ω $ Ω , " = { , } ! 20

  21. Decomposed Initializer Vector back to original domain H − 1 1 S T r = H − 1 B q S 2 H − 1 3 Ω # Ω " Ω $ Ω , " = { , } ! 21

  22. Penalty Stiffness ) + 1 ) = Σ Ω i ( E j ( ) ) ) T L ( , , , 2 ( ( − − K j ? ! 22

  23. 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

  24. � � � � � � 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

  25. Experiments and Results

  26. Testing Examples ! 26

  27. 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

  28. DOT Iteration Process A Visualization of DOT’s decomposition: ! 28

  29. DOT Iteration Process Before DOT iterations: ! 29

  30. DOT Iteration Process DOT iterations: ! 30

  31. Elf tests DOT PN L-BFGS-PD 63K nodes, 361K elements, Time step size: 25ms, Converged to ! 10 − 5 CN ! 31

  32. Horse test DOT PN L-BFGS-PD 136K nodes, 642K elements, Time step size: 25ms, Converged to ! 10 − 5 CN ! 32

  33. 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

  34. 100K tetrahedra, Time step size: 10ms, Converged to ! 10 − 5 CN 1.9 sec/frame, ! 34

  35. 147K tetrahedra, Time step size: 10ms, Converged to ! 10 − 5 CN 3.7 sec/frame, ! 35

  36. 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

  37. Thanks! (Source code coming soon)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend