Vertex Block Descent

Anka He Chen,Ziheng Liu,Yin Yang,Cem Yuksel
2024-06-02
Abstract:We introduce vertex block descent, a block coordinate descent solution for the variational form of implicit Euler through vertex-level Gauss-Seidel iterations. It operates with local vertex position updates that achieve reductions in global variational energy with maximized parallelism. This forms a physics solver that can achieve numerical convergence with unconditional stability and exceptional computation performance. It can also fit in a given computation budget by simply limiting the iteration count while maintaining its stability and superior convergence rate. We present and evaluate our method in the context of elastic body dynamics, providing details of all essential components and showing that it outperforms alternative techniques. In addition, we discuss and show examples of how our method can be used for other simulation systems, including particle-based simulations and rigid bodies.
Graphics
What problem does this paper attempt to address?
The main problems that this paper attempts to solve are the deficiencies of existing physical simulation methods in terms of stability, computational performance, and convergence speed. Specifically: 1. **Stability problem**: Existing physical solvers are difficult to maintain stability under strict computational budgets, especially when dealing with large - scale elastodynamic simulations. 2. **Computational performance problem**: Many existing methods can provide high - quality results, but cannot meet the requirements for computational efficiency in real - time applications. 3. **Convergence speed problem**: Some methods require a large number of iterations to reach convergence, which makes it difficult for them to obtain satisfactory results within a limited computing time. To solve these problems, the author introduced a new method named "Vertex Block Descent (VBD)". VBD is an implicit Euler variational form solver based on the block - coordinate descent method. It updates local vertex positions through vertex - level Gauss - Seidel iterations, thereby reducing the global variational energy. This method has the following characteristics: - **Unconditional stability**: VBD can maintain stability even in a single iteration or with a large time step. - **Excellent computational performance**: By maximizing parallelism, VBD can operate efficiently within a given computational budget. - **Fast convergence**: Compared with other methods, VBD can achieve numerical convergence more quickly. In addition, the VBD method is not only applicable to elastodynamic simulations, but can also be extended to other types of physical simulations such as particle systems and rigid - body simulations. ### Formula summary 1. **Variational energy formula**: \[ G(x)=\frac{1}{2}h^{2}\|x - y\|_{M}^{2}+E(x) \] where \(y = x_{t}+hv_{t}+h^{2}a_{\text{ext}}\), \(a_{\text{ext}}\) is the external acceleration (such as gravity), and \(M\) is the mass - weighted norm. 2. **Local variational energy formula**: \[ G_{i}(x)=\frac{m_{i}}{2h^{2}}\|x_{i}-y_{i}\|^{2}+\sum_{j\in F_{i}}E_{j}(x) \] 3. **Hessian matrix formula**: \[ H_{i}=\frac{m_{i}}{h^{2}}I+\sum_{j\in F_{i}}\frac{\partial^{2}E_{j}(x)}{\partial x_{i}\partial x_{i}} \] 4. **Hessian matrix formula after adding the damping term**: \[ H_{i}=\frac{m_{i}}{h^{2}}I+\sum_{j\in F_{i}}\left(\frac{\partial^{2}E_{j}(x)}{\partial x_{i}\partial x_{i}}+\frac{k_{d}}{h}\frac{\partial^{2}E_{j}(x)}{\partial x_{i}\partial x_{i}}\right) \] 5. **Collision energy formula**: \[ E_{c}(x)=\frac{1}{2}k_{c}d^{2}\quad\text{with}\quad d = \max\left(0,(x_{b}-x_{a})\cdot\hat{n}\right) \] 6. **Friction force formula**: \[ f_{c,i}=-\mu_{c}\lambda_{c,i}\frac{\partial\delta x_{c}}{\partial x_{i}}T_{c}f_{1}(\|u_{c}\|)\frac{u_{c}}{\|u_{c}\|} \] where, \[ f_{1}(u)= \begin{cases} 2\leq \end{cases}