Johannes Brandstetter, Artur Toshev, Nikolaus Adams, Gianluca Galletti, Jonas Erbesdobler, Harish Ramachandran
We lifted 29 functions out of this paper's own repositories and ran 24 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| tumaer/jax-sph | canonical | 22 of 27 |
| copy not recorded | — | 2 of 2 |
| Function | Status | Where it lives |
|---|---|---|
| CubicKernel | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("3aecdc94485dd82f") |
| GaussianKernel | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("757f694ba9b864a6") |
| QuinticKernel | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("e71299cc5c7c2fb3") |
| RIEMANNEoS | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("67cc9af56d7b9c94") |
| SuperGaussianKernel | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("59622e5aa0799915") |
| TaitEoS | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("74064dfd85a06d28") |
| WendlandC2Kernel | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("e062820f4151fbb6") |
| WendlandC4Kernel | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("b70e8d6235713117") |
| WendlandC6Kernel | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("8a614af301f3e846") |
| acceleration_delta_fn_wrapper | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("620e9860205755e7") |
| acceleration_riemann_fn_wrapper | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("65cc2dd70d2ede31") |
| acceleration_standard_fn_wrapper | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("55bcd8c9fb4d8402") |
| acceleration_tvf_fn_wrapper | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("cf7b6117b3a800a6") |
| artificial_viscosity_fn_wrapper | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("e9772fcabc94e37e") |
| gwbc_fn_riemann_wrapper | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("484a4f6373cc90d2") |
| gwbc_fn_wrapper | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("540f2c455332e62d") |
| limiter_fn_wrapper | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("3a5977ac868b8646") |
| rho_evol_fn | Ran | this paper's copy was not recorded; identical code first harvested from tumaer/jax-sph pointer only · get_code("b2b87cb713d14139") |
| rho_evol_fn_delta_wrapper | Ran | this paper's copy was not recorded; identical code first harvested from tumaer/jax-sph pointer only · get_code("3f463624d5a53697") |
| rho_evol_riemann_fn_wrapper | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("180f8202e770c1e6") |
| rho_summation_fn | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("036ad2dbcd402efe") |
| temperature_derivative_wrapper | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("e689be2b6dd40cc1") |
| tvf_stress_fn | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("149e9977a43ee4a3") |
| wall_phi_vec_wrapper | Ran | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("fa2c0e8010787179") |
| BaseEoS | Not yet run | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("88214fd6f47afce8") |
| BaseKernel | Not yet run | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("8d8d56b4ecd17d77") |
| Tag | Not yet run | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("4c1ced7cf05db770") |
| WCSPH | Not yet run | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("754be323a56df590") |
| rho_renorm_fn | Not yet run | tumaer/jax-sph/jax_sph/solver.py code served (permissive licence) · get_code("0e17333b6adfde84") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
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., 2024b) 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-inthe-Loop application. Our code is available at https://github.com/tumaer/jax-sph.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2403.04750")
get_code_for_paper("2403.04750")
have("2403.04750")
Connect an agent — have() is free.