Table of Contents
Fetching ...

Learning to Simulate Complex Physics with Graph Networks

Alvaro Sanchez-Gonzalez, Jonathan Godwin, Tobias Pfaff, Rex Ying, Jure Leskovec, Peter W. Battaglia

TL;DR

This work presents Graph Network-based Simulators (GNS), a general, particle-based framework that casts physical dynamics as learnable, graph-based message-passing. A single architecture employing an encode-process-decode pipeline learns to simulate fluids, rigid solids, and deformable materials, with strong generalization to larger systems, longer trajectories, and unseen initial conditions. Compared to prior differentiable fluid models, GNS offers broader applicability, simpler design, and superior accuracy across multiple materials and interactions. These results advance differentiable physics and enable more flexible forward and inverse problems in complex continua and granular media.

Abstract

Here we present a machine learning framework and model implementation that can learn to simulate a wide variety of challenging physical domains, involving fluids, rigid solids, and deformable materials interacting with one another. Our framework---which we term "Graph Network-based Simulators" (GNS)---represents the state of a physical system with particles, expressed as nodes in a graph, and computes dynamics via learned message-passing. Our results show that our model can generalize from single-timestep predictions with thousands of particles during training, to different initial conditions, thousands of timesteps, and at least an order of magnitude more particles at test time. Our model was robust to hyperparameter choices across various evaluation metrics: the main determinants of long-term performance were the number of message-passing steps, and mitigating the accumulation of error by corrupting the training data with noise. Our GNS framework advances the state-of-the-art in learned physical simulation, and holds promise for solving a wide range of complex forward and inverse problems.

Learning to Simulate Complex Physics with Graph Networks

TL;DR

This work presents Graph Network-based Simulators (GNS), a general, particle-based framework that casts physical dynamics as learnable, graph-based message-passing. A single architecture employing an encode-process-decode pipeline learns to simulate fluids, rigid solids, and deformable materials, with strong generalization to larger systems, longer trajectories, and unseen initial conditions. Compared to prior differentiable fluid models, GNS offers broader applicability, simpler design, and superior accuracy across multiple materials and interactions. These results advance differentiable physics and enable more flexible forward and inverse problems in complex continua and granular media.

Abstract

Here we present a machine learning framework and model implementation that can learn to simulate a wide variety of challenging physical domains, involving fluids, rigid solids, and deformable materials interacting with one another. Our framework---which we term "Graph Network-based Simulators" (GNS)---represents the state of a physical system with particles, expressed as nodes in a graph, and computes dynamics via learned message-passing. Our results show that our model can generalize from single-timestep predictions with thousands of particles during training, to different initial conditions, thousands of timesteps, and at least an order of magnitude more particles at test time. Our model was robust to hyperparameter choices across various evaluation metrics: the main determinants of long-term performance were the number of message-passing steps, and mitigating the accumulation of error by corrupting the training data with noise. Our GNS framework advances the state-of-the-art in learned physical simulation, and holds promise for solving a wide range of complex forward and inverse problems.

Paper Structure

This paper contains 34 sections, 3 equations, 9 figures, 1 table.

Figures (9)

  • Figure 1: Rollouts of our GNS model for our Water-3D, Goop-3D and Sand-3D datasets. It learns to simulate rich materials at resolutions sufficient for high-quality rendering http://tny.sh/jFszr4x.
  • Figure 2: (a) Our GNS predicts future states represented as particles using its learned dynamics model, $d_\theta$, and a fixed update procedure. (b) The $d_\theta$ uses an "encode-process-decode" scheme, which computes dynamics information, $Y$, from input state, $X$. (c) The Encoder constructs latent graph, $G^0$, from the input state, $X$. (d) The Processor performs $M$ rounds of learned message-passing over the latent graphs, $G^0, \dots, G^M$. (e) The Decoder extracts dynamics information, $Y$, from the final latent graph, $G^M$.
  • Figure 3: We can simulate many materials, from (a)Goop over (b)Water to (c)Sand, and (d) their interaction with rigid obstacles (WaterRamps). We can even train a single model on (e) multiple materials and their interaction (MultiMaterial). We applied pre-trained models on several out-of-distribution tasks, involving (f) high-res turbulence (trained on WaterRamps), (g) multi-material interactions with unseen objects (trained on MultiMaterial), and (h) generalizing on significantly larger domains (trained on WaterRamps). In the two bottom rows, we show a comparison of our model's prediction with the ground truth on the final frame for goop and sand, and on a representative mid-trajectory frame for water.
  • Figure 4: (left) Effect of different ablations (grey) against our model (red) on the one-step error (a,c,e,g,i) and the rollout error (b,d,f,h,j). Bars show the median seed performance averaged across the entire Goop test dataset. Error bars display lower and higher quartiles, and are shown for the default parameters. (right) Comparison of average performance of our GNS model to CConv. (k,l) Qualitative comparison between GNS (k) and CConv (l) in BoxBath after 50 rollout steps (http://tny.sh/6I0girh). (m) Quantitative comparison of our GNS model (red) to the CConv model (grey) across the test set . For our model, we trained one or more seeds using the same set of hyper-parameters and show results for all seeds. For the CConv model we ran several variations including different radius sizes, noise levels, and number of unroll steps during training, and show the result for the best seed. Errors bars show the standard error of the mean across all of the trajectories in the test set (95% confidence level).
  • Figure 3.1: Additional ablations (grey) on the Goop dataset compared to our default model (red). Error bars display lower and higher quartiles, and are shown for the default parameters. The same vertical limits from Figure \ref{['fig:main_ablations']} are reused for easier qualitative scale comparison.
  • ...and 4 more figures