Divergence-Free and Boundary-Respecting Velocity Interpolation Using Stream Functions
Symposium on Computer Animation 2019 - Poster
In grid-based fluid simulation, discrete incompressibility of each cell is enforced by the pressure projection. However, pointwise velocities constructed by interpolating the discrete velocity samples from the staggered grid are not truly divergence-free, resulting in unphysical local volume changes that manifests as particle spreading and clustering. We present a new velocity interpolation method that produces analytically divergence-free velocity fields in 2D using a stream function. The resulting fields are guaranteed to be divergence-free by a simple calculus identity: the curl of any vector field yields a divergence-free vector field. Furthermore, our method works on cut cell grids to produce fields that strictly obey solid boundary conditions. Therefore, no artificial gaps are created between fluid particles and solids, and fluid particles do not trespass into solid regions.