Descent methods for elastic body simulation on the GPU

We show that many existing elastic body simulation approaches can be interpreted as descent methods, under a nonlinear optimization framework derived from implicit time integration. The key question is how to find an effective descent direction with a low computational cost. Based on this concept, we propose a new gradient descent method using Jacobi preconditioning and Chebyshev acceleration. The convergence rate of this method is comparable to that of L-BFGS or nonlinear conjugate gradient. But unlike other methods, it requires no dot product operation, making it suitable for GPU implementation. To further improve its convergence and performance, we develop a series of step length adjustment, initialization, and invertible model conversion techniques, all of which are compatible with GPU acceleration. Our experiment shows that the resulting simulator is simple, fast, scalable, memory-efficient, and robust against very large time steps and deformations. It can correctly simulate the deformation behaviors of many elastic materials, as long as their energy functions are second-order differentiable and their Hessian matrices can be quickly evaluated. For additional speedups, the method can also serve as a complement to other techniques, such as multi-grid.

[1]  Rüdiger Westermann,et al.  A real-time multigrid finite hexahedra method for elasticity simulation using CUDA , 2011, Simul. Model. Pract. Theory.

[2]  Doug L. James,et al.  FastLSM: fast lattice shape matching for robust real-time deformation , 2007, ACM Trans. Graph..

[3]  Jerrold E. Marsden,et al.  Geometric, variational integrators for computer animation , 2006, SCA '06.

[4]  Eitan Grinspun,et al.  Implicit-Explicit Variational Integration of Highly Oscillatory Problems , 2008, Multiscale Model. Simul..

[5]  Ronald Fedkiw,et al.  Energy Conservation for the Simulation of Deformable Bodies , 2012 .

[6]  Emmanuel J. Candès,et al.  Adaptive Restart for Accelerated Gradient Schemes , 2012, Foundations of Computational Mathematics.

[7]  James F. O'Brien,et al.  Fast simulation of mass-spring systems , 2013, ACM Trans. Graph..

[8]  Ronald Fedkiw,et al.  Robust quasistatic finite elements and flesh simulation , 2005, SCA '05.

[9]  Yurii Nesterov,et al.  Introductory Lectures on Convex Optimization - A Basic Course , 2014, Applied Optimization.

[10]  Eftychios Sifakis,et al.  An efficient multigrid method for the simulation of high-resolution elastic solids , 2010, TOGS.

[11]  Wolfgang Straßer,et al.  Continuum‐based Strain Limiting , 2009, Comput. Graph. Forum.

[12]  Mark Pauly,et al.  Projective dynamics , 2014, ACM Trans. Graph..

[13]  Markus H. Gross,et al.  Meshless deformations based on shape matching , 2005, ACM Trans. Graph..

[14]  Xavier Provot,et al.  Deformation Constraints in a Mass-Spring Model to Describe Rigid Cloth Behavior , 1995 .

[15]  Eitan Grinspun,et al.  Cubic shells , 2007, SCA '07.

[16]  Huamin Wang,et al.  A chebyshev semi-iterative approach for accelerating projective and position-based dynamics , 2015, ACM Trans. Graph..

[17]  Matthias Müller,et al.  Hierarchical Position Based Dynamics , 2008, VRIPHYS.

[18]  Alicia Cordero,et al.  New modifications of Potra-Pták's method with optimal fourth and eighth orders of convergence , 2010, J. Comput. Appl. Math..

[19]  Huamin Wang,et al.  Multi-resolution isotropic strain limiting , 2010, ACM Trans. Graph..

[20]  Wenping Wang,et al.  Parallel L-BFGS-B algorithm on GPU , 2014, Comput. Graph..

[21]  Tae-Yong Kim,et al.  Strain based dynamics , 2014, SCA '14.

[22]  Tae-Yong Kim,et al.  Unified particle physics for real-time applications , 2014, ACM Trans. Graph..

[23]  Robert H. Halstead,et al.  Matrix Computations , 2011, Encyclopedia of Parallel Computing.

[24]  Hongyi Xu,et al.  Nonlinear material design using principal stretches , 2015, ACM Trans. Graph..

[25]  Ronald Fedkiw,et al.  Invertible finite elements for robust simulation of large deformation , 2004, SCA '04.

[26]  Eftychios Sifakis,et al.  Computing the Singular Value Decomposition of 3x3 matrices with minimal branching and elementary floating point operations , 2011 .

[27]  James F. O'Brien,et al.  Multi-resolution isotropic strain limiting , 2010, SIGGRAPH 2010.

[28]  Martin H. Gutknecht,et al.  The Chebyshev iteration revisited , 2002, Parallel Comput..

[29]  Eftychios Sifakis,et al.  Efficient elasticity for character skinning with contact and collisions , 2011, ACM Trans. Graph..

[30]  Miles Macklin,et al.  Position based fluids , 2013, ACM Trans. Graph..

[31]  Gene H. Golub,et al.  Matrix computations (3rd ed.) , 1996 .

[32]  Nuttapong Chentanez,et al.  Long range attachments - a method to simulate inextensible clothing in computer games , 2012, SCA '12.

[33]  Andrew P. Witkin,et al.  Large steps in cloth simulation , 1998, SIGGRAPH.

[34]  Eitan Grinspun,et al.  A quadratic bending model for inextensible surfaces , 2006, SGP '06.

[35]  François Faure,et al.  Stable constrained dynamics , 2015, ACM Trans. Graph..

[36]  Miguel A. Otaduy,et al.  Simulation of Hyperelastic Materials Using Energy Constraints , 2013 .

[37]  Sophia Mã ¶ ller,et al.  Biomechanics — Mechanical properties of living tissue , 1982 .

[38]  Florence Bertails-Descoubes,et al.  A hybrid iterative solver for robustly capturing coulomb friction in hair dynamics , 2011, ACM Trans. Graph..

[39]  R. Ogden Non-Linear Elastic Deformations , 1984 .

[40]  Matthias Müller,et al.  Position based dynamics , 2007, J. Vis. Commun. Image Represent..

[41]  Eftychios Sifakis,et al.  Simulation of complex nonlinear elastic bodies using lattice deformers , 2012, ACM Trans. Graph..

[42]  Ronald Fedkiw,et al.  Simulation of clothing with folds and wrinkles , 2003, SCA '03.

[43]  Markus H. Gross,et al.  Interactive Virtual Materials , 2004, Graphics Interface.