SurfsUp: Learning Fluid Simulation for Novel Surfaces

*Equal Contribution

┬╣Columbia University         ┬▓University of Toronto         ┬│Vector Institute


Modeling the mechanics of fluid in complex scenes is vital to applications in design, graphics, and robotics. Learning-based methods provide fast and differentiable fluid simulators, however most prior work is unable to accurately model how fluids interact with genuinely novel surfaces not seen during training. We introduce SurfsUp, a framework that represents objects implicitly using signed distance functions (SDFs), rather than an explicit representation of meshes or particles. This continuous representation of geometry enables more accurate simulation of fluid-object interactions over long time periods while simultaneously making computation more efficient. Moreover, SurfsUp trained on simple shape primitives generalizes considerably out-of-distribution, even complex real-world scenes and objects. Finally, we show we can invert our model to design simple objects to manipulate fluid flow.

Method Overview

We propose a framework for simulating the interaction of fluids and surfaces by representing the surface using implicit representations. We argue that implicit representations, in particular signed distance functions (SDFs), provide a smooth, richly informative representation of local object geometry, useful not just for statics but for dynamics. We use a graph network simulator and add features to each fluid particle indicating the SDF value (indicating this particle's distance to the closest point on the surface), and the gradient of the SDF which provides the orientation w.r.t. the closest point. Please see the paper for further details.

SDF near surface
Our simulator is trained on fluid interacting with simpler, primitive shapes that have analytical SDFs and capture a range of local surface geometry (spheres, boxes, cones, cylinders, toruses). Examples of initial conditions for simulations in our training dataset are shown below; our key result is that we can generalize from these training shapes to highly complex, real-world shapes and scenes (see below). This is because accurate fluid-surface interactions depend only on local surface geometry of the object, and we capture this geometric variation in our training distribution.
SDF near surface

Simulating Fluid Interacting with Complex Scenes

Our method learns how to accurately model fluid interactions with local surface geometry, allowing us to generalize considerably out-of-distribution to new shapes. We can accurately and realistically simulate fluid interacting with complex, fine-grained real-world shapes and scenes, represented as neural SDFs.
We show the ability to simulate fluid interacting with ShapeNet objects such as chairs and bowls (using neural SDFs), as well as with analytical SDFs of shapes such as funnels. SurfsUp has high fidelity to the ground-truth dynamics, and we produce rollouts with a high degree of accuracy and realism.

Comparison to State-of-the-art Baseline

We compare our method to GNS, a state-of-the-art learned simulator which represents the surface explicitly as particles. Here the solid surface is discretized into particles, which are added to the graph and participate in the message-passing. Our method has several key generalization advantages compared to explicit representations of surfaces: (1) we can simulate fluid interactions with fine-grained geometry (like the coral below, where the baseline's discretized approach misses the geometry entirely -- best viewed full screen), and (2) we can scale fluid simulation to large, real-world scenes (like the room scene below, where GNS has insufficient resolution and penetrates the objects, or the mountains above). See the paper for more examples and dicussion.

Inverse Design

We briefly explore the potential of our simulator to solve inverse problems such as object design, via gradient-based optimization. We solve parametrized design tasks involving designs of bowls (can we capture and contain falling water?) and funnels (can we filter and concentrate the flow of water?), optimizing the parameters of an analytical signed distance function. We also differentiate through SurfsUp to directly optimize the latent space of a DeepSDF model trained on chairs, to find a chair that holds water dropped onto it. See results below and the paper for further details on these design tasks.
Parametrized Design Tasks
The bowl task incentivizes the designed structure to capture and contain falling water. Our simulator provides gradients that accurately refine the designed structure over the course of optimization, widening the opening on top and closing off the bottom opening of the object. The funnel task incentivizes the designed structure to concentrate falling water onto a small area on the ground.
Bowl: Initial Design
Intermediate Design
Final Design
Funnel: Initial Design
Intermediate Design
Final Design
Latent Space Design
We also perform design in latent space with our simulator, optimizing the latent code of a DeepSDF model trained on Shapenet chairs. We study the bowl task above; design optimization with our model successfully finds chairs that can capture falling water.
Chair design


        author    = {Mani, Arjun and Chandratreya, Ishaan Preetam and Creager, Elliot and Vondrick, Carl and Zemel, Richard},
        title     = {SURFSUP: Learning Fluid Simulation for Novel Surfaces},
        journal   = {arXiv preprint arXiv:2303.08128},
        year      = {2023},


We thank Huy Ha for help with creating visualizations of fluid rollouts. We also acknowledge Jan Bender for helpful feedback on finer points of the the SPlisHSPlasH simulator, as well as Kelsey Allen, Tobias Pfaff, and Alvaro Sanchez-Gonzalez for advice on training the graph network-based simulator. We thank Max Helman for early work on setup of the SPlisHSPlasH simulator. This research is based on work partially supported by the NSF STC for Learning the Earth with Artificial Intelligence and Physics, and the NSF NRI Award #1925157. Arjun Mani is supported by the NSF fellowship. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies, either expressed or implied, of the sponsors. The webpage template was inspired by this project page.