Galerkin Method of Regularized Stokeslets for Procedural Fluid Flow with Control Curves
Ryusuke Sugimoto, Jeff Lait, Christopher Batty, Toshiya Hachisuka
TL;DR
This work addresses the challenge of designing incompressible velocity fields that follow user-defined control curves by introducing a curve-based workflow built on the Method of Regularized Stokeslets (MRS) with a Galerkin discretization. Velocities (and optionally angular velocities) along polylines are enforced via a small dense linear system, producing a global velocity field in unbounded domains through a linear superposition $\mathbf{u}(\mathbf{x}) = \mathbf{S}^\epsilon(\mathbf{x}, \mathbf{y}) \mathbf{f}$, while allowing spatially varying regularization $\epsilon(\mathbf{y})$ and torque contributions. The approach yields intuitive, artist-friendly control with provable incompressibility, supports angular-velocity constraints via Kelvinlets, and achieves efficient evaluation with GPU acceleration in typical curve-based workflows, exemplified by integration in Houdini. This method broadens practical fluid authoring for graphics by combining curve-based constraints with physically grounded Stokes flow, reducing volumetric discretization requirements and enabling robust performance for small to moderate problem sizes in visuals pipelines.
Abstract
We present a new procedural incompressible velocity field authoring tool, which lets users design a volumetric flow by directly specifying velocity along control curves. Our method combines the Method of Regularized Stokeslets with Galerkin discretization. Based on the highly viscous Stokes flow assumption, we find the force along a given set of curves that satisfies the velocity constraints along them. We can then evaluate the velocity anywhere inside the surrounding infinite 2D or 3D domain. We also show the extension of our method to control the angular velocity along control curves. Compared to a collocation discretization, our method is not very sensitive to the vertex sampling rate along control curves and only requires a small linear system solve.
