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 moving through an ideal fluid is determined by six harmonic potentials on its surface, one per rigid degree of freedom. Computing them requires a boundary-integral solve per shape, which has to be 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. Two properties of the problem shape the method. By linearity, the six fields give the potential of any rigid motion as a weighted sum. By rotation equivariance, a network with one translational and one rotational output recovers all six fields from three passes on rotated copies of the mesh, and rotation augmentation comes with exact labels at no cost. 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 it 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 training labels. A simple shape descriptor, the isoperimetric ratio, predicts on which meshes 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
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.
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).
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/}
}
This work is not yet published in a journal: the postdoc years leave little time to write it up properly.