Neural Surface Potentials for Fast Flow Approximation
A learned surrogate for the boundary-integral solve of exterior potential flow
Preprint, 2026
Abstract
The potential flow around a rigid body in an ideal fluid is determined by six harmonic potentials on its surface, one per rigid degree of freedom. Computing them takes a boundary-integral solve per shape, repeated whenever the body deforms. We present Neural Surface Potentials (NSP), a feed-forward network that predicts all six potentials from a closed triangle mesh without per-mesh precomputation. By linearity, any rigid motion is a weighted sum of the six fields. By rotation equivariance, a network with one translational and one rotational output recovers all six from three passes on rotated copies of the mesh, and every rotation of a training shape is an exactly labelled example. Trained on about ten thousand shapes, NSP reaches median field errors of 4.0 to 6.7 % on validation shapes and 5.3 to 10.2 % on a harder held-out test set, and recovers the 6×6 added-mass tensor to a median error of 1.05 % and 1.58 %. All six modes take 105 ms on a mesh of about 6 000 vertices, 34 times faster than the double-precision dense solve that produced the labels. The isoperimetric ratio of a shape predicts where the network is least accurate.
Method
NSP is a PointNet++ encoder-decoder that reads the vertices of a closed triangle mesh, with their positions and normals in a canonical frame, and returns the potential at every vertex without any precomputation. The problem is linear in its boundary data, so the six Kirchhoff potentials, one per rigid degree of freedom, give the potential of any rigid motion as a weighted sum. The problem also commutes with rotations, so a network that predicts one translational and one rotational potential recovers all six from three passes on rotated copies of the mesh. The same identity turns rotation augmentation into exactly labelled training data by randomizing the orientation. The training labels come from a dense boundary-element solve on 10 418 shapes from Thingi10K and Manifold40.
Results
Across the six modes the median field error is 4.0–6.7 % on 403 validation shapes and 5.3–10.2 % on 77 held-out test shapes. The 6×6 added-mass tensor is recovered to a median error of 1.05 % on validation and 1.58 % on test. All six modes take 105 ms on a mesh of about 6 000 vertices, against 3.6 s for the double-precision dense solve on the same GPU.
Live inference on a deforming body
A body bends and the network predicts its potential φx for every pose.
About the demo
- It runs a smaller network than the paper's: a single-mode φx model with 1.1M parameters, not the two-channel 2.6M-parameter model. Its mean error on the 403 validation meshes is 6.64 %.
- Every pose is computed in your browser, with nothing cached: the bend, the canonical frame, the normals, the sampling and the network. The time shown covers all of it and depends on your device.
- The training set holds a low-poly Stanford bunny; Spot and the armadillo do not appear in it.
- It needs WebGL and a browser with WebGPU or WebAssembly.
BibTeX
@misc{padilla2026nsp,
title = {Neural Surface Potentials for Fast Flow Approximation},
author = {Padilla, Marcel},
year = {2026},
howpublished = {Preprint, ETH Z\"urich},
url = {https://marcelpadilla.com/Neural_Surface_Potential/}
}
Data, weights and licences
code is MIT; the meshes keep their own terms
The code, training pipeline and this page are MIT; the meshes, the solved fields and the demo's weights are not. The bunny and armadillo are from the Stanford 3D Scanning Repository (acknowledgement to the Stanford Computer Graphics Laboratory, no commercial use); Spot and the figure cat are CC0 and CC BY 4.0 via Oded Stein's collection; the training corpora Thingi10K and Manifold40 are not redistributed. The weights ship for non-commercial research use. The demo loads onnxruntime-web and three.js (both MIT).
This project is part of wrapping up my postdoc at ETH Zรผrich.