# JAX-SPH: A Differentiable Smoothed Particle Hydrodynamics Framework

arXiv: https://arxiv.org/abs/2403.04750 · HTML: https://mlsanity.com/paper/2403.04750/

## Key facts

- Cited by 4 papers in the map (data through 14 Oct 2026).
- Builds on 19 of its 48 references that are in the map.
- First posted on arXiv 7 Mar 2024.

## Builds on (most cited first, 19 of 19)

- [PyTorch: An Imperative Style, High-Performance Deep Learning Library](https://mlsanity.com/paper/1912.01703/) (2019)
- [Relational inductive biases, deep learning, and graph networks](https://mlsanity.com/paper/1806.01261/) (2018)
- [Learning to Simulate Complex Physics with Graph Networks](https://mlsanity.com/paper/2002.09405/) (2020)
- [Machine learning accelerated computational fluid dynamics](https://mlsanity.com/paper/2102.01010/) (2021)
- [On Neural Differential Equations](https://mlsanity.com/paper/2202.02435/) (2022)
- [Solver-in-the-Loop: Learning from Differentiable Physics to Interact with Iterative PDE-Solvers](https://mlsanity.com/paper/2007.00016/) (2020)
- [Learning to Control PDEs with Differentiable Physics](https://mlsanity.com/paper/2001.07457/) (2020)
- [Physics-informed neural networks for inverse problems in supersonic flows](https://mlsanity.com/paper/2202.11821/) (2022)
- [Physics-based Deep Learning](https://mlsanity.com/paper/2109.05237/) (2021)
- [SPNets: Differentiable Fluid Dynamics for Deep Neural Networks](https://mlsanity.com/paper/1806.06094/) (2018)
- [JAX-FLUIDS: A fully-differentiable high-order computational fluid dynamics solver for compressible two-phase flows](https://mlsanity.com/paper/2203.13760/) (2022)
- [Learning the Dynamics of Physical Systems from Sparse Observations with Finite Element Networks](https://mlsanity.com/paper/2203.08852/) (2022)
- [LagrangeBench: A Lagrangian Fluid Mechanics Benchmarking Suite](https://mlsanity.com/paper/2309.16342/) (2023)
- [Composing Partial Differential Equations with Physics-Aware Neural Networks](https://mlsanity.com/paper/2111.11798/) (2021)
- [Machine Learning for Partial Differential Equations](https://mlsanity.com/paper/2303.17078/) (2023)
- [Learning Lagrangian Fluid Mechanics with E(3)-Equivariant Graph Neural Networks](https://mlsanity.com/paper/2305.15603/) (2023)
- [Neural SPH: Improved Neural Modeling of Lagrangian Fluid Dynamics](https://mlsanity.com/paper/2402.06275/) (2024)
- [Smoothed Particle Hydrodynamics Techniques for the Physics Based Simulation of Fluids and Solids](https://mlsanity.com/paper/2009.06944/) (2020)
- [On the Relationships between Graph Neural Networks for the Simulation of Physical Systems and Classical Numerical Methods](https://mlsanity.com/paper/2304.00146/) (2023)

## Built on by (most cited first, 4 of 4)

- [SIMSHIFT: A Benchmark for Adapting Neural Surrogates to Distribution Shifts](https://mlsanity.com/paper/2506.12007/) (2025)
- [Stabilizing Test-Time Adaptation of High-Dimensional Simulation Surrogates via D-Optimal Statistics](https://mlsanity.com/paper/2602.15820/) (2026)
- [CraftSPH: A high-accuracy and composable differentiable SPH solver implemented in PyTorch](https://mlsanity.com/paper/2609.38208/) (2026)
- [A differentiable Lagrangian-coupled 3D Gaussian Splatting-SPH model for forward simulation and inverse analysis in solid mechanics](https://mlsanity.com/paper/2610.04336/) (2026)

## Abstract (arXiv)

Particle-based fluid simulations have emerged as a powerful tool for solving the Navier-Stokes equations, especially in cases that include intricate physics and free surfaces. The recent addition of machine learning methods to the toolbox for solving such problems is pushing the boundary of the quality vs. speed tradeoff of such numerical simulations. In this work, we lead the way to Lagrangian fluid simulators compatible with deep learning frameworks, and propose JAX-SPH - a Smoothed Particle Hydrodynamics (SPH) framework implemented in JAX. JAX-SPH builds on the code for dataset generation from the LagrangeBench project (Toshev et al., 2023) and extends this code in multiple ways: (a) integration of further key SPH algorithms, (b) restructuring the code toward a Python package, (c) verification of the gradients through the solver, and (d) demonstration of the utility of the gradients for solving inverse problems as well as a Solver-in-the-Loop application. Our code is available at https://github.com/tumaer/jax-sph.
