Table of Contents
Fetching ...

Vertex Block Descent

Anka He Chen, Ziheng Liu, Yin Yang, Cem Yuksel

TL;DR

This paper presents Vertex Block Descent (VBD), a block coordinate descent solver for the variational form of implicit Euler, where vertex-level Gauss-Seidel updates minimize the energy $G(\boldsymbol{x})= \tfrac{1}{2h^2}\|\boldsymbol{x}-\boldsymbol{y}\|^2_M + E(\boldsymbol{x})$ to achieve unconditional stability and strong parallelism in elastic body dynamics. It introduces local 3×3 Newton solves per vertex, optional damping and constraints, collision/friction models (including IPC), and an adaptive initialization, all designed to maintain energy descent with minimal iteration counts. The method is implemented on GPUs with vertex coloring to maximize parallelism, and it shows competitive or superior convergence compared to XPBD across large-scale, stress-test, and dynamic collision-rich scenarios. The framework is demonstrated to extend to particle-based and rigid-body systems and to unified simulations, highlighting VBD’s versatility for a range of physics-based animation tasks. Overall, VBD delivers stable, scalable, energy-descent iterations that can fit within constrained computation budgets while maintaining high physical realism.

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.

Vertex Block Descent

TL;DR

This paper presents Vertex Block Descent (VBD), a block coordinate descent solver for the variational form of implicit Euler, where vertex-level Gauss-Seidel updates minimize the energy to achieve unconditional stability and strong parallelism in elastic body dynamics. It introduces local 3×3 Newton solves per vertex, optional damping and constraints, collision/friction models (including IPC), and an adaptive initialization, all designed to maintain energy descent with minimal iteration counts. The method is implemented on GPUs with vertex coloring to maximize parallelism, and it shows competitive or superior convergence compared to XPBD across large-scale, stress-test, and dynamic collision-rich scenarios. The framework is demonstrated to extend to particle-based and rigid-body systems and to unified simulations, highlighting VBD’s versatility for a range of physics-based animation tasks. Overall, VBD delivers stable, scalable, energy-descent iterations that can fit within constrained computation budgets while maintaining high physical realism.

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.
Paper Structure (25 sections, 20 equations, 24 figures, 1 table, 1 algorithm)

This paper contains 25 sections, 20 equations, 24 figures, 1 table, 1 algorithm.

Figures (24)

  • Figure 1: Example simulation results using our solver, both of those methods involve more than 100 million DoFs and 1 million active collisions.
  • Figure 2: Twisting two beams together, totaling 97 thousand vertices and 266 thousand tetrahedra, demonstrating complex frictional contact and buckling.
  • Figure 3: Stress tests that begin simulations under extreme deformations: (top) a perfectly flattened armadillo model with 15 thousand vertices and 50 thousand tetrahedra, and (bottom) a Utah teapot model with 2 thousand vertices and 8.5 thousand tetrahedra, deformed by randomly placing its vertices onto the surface of a sphere. Both models quickly recover to their original shape shortly after the simulation starts. Both simulations use accelerated iterations with $\rho=0.95$.
  • Figure 4: Two collisions types: (a) edge-edge can have at most two pairs and (b) vertex-face can have at most one pair with the same color, since vertices on the same side of a collision must have different colors.
  • Figure 5: Different initialization options for a swinging elastic pendulum dropped from the same height (blue line) simulated with our method using only 20 iterations per frame, showing the same frame of the simulation. Notice that initializing using (a) previous position and (b) inertia fail to properly move under gravity, while (c) inertia and acceleration leads to accessive stretching (red line) when VBD does not run to convergence. (d) Our adaptive solution closely matches (e) the reference generated by fully converged Newton's method (green line).
  • ...and 19 more figures