Consistent Shepard Interpolation for SPH-Based Fluid Animation

Stefan Reinhardt, Tim Krake, Bernhard Eberhardt, Daniel Weiskopf

SIGGRAPH Asia 2019




We present a novel technique to correct errors introduced by the discretization of a fluid body when animating it with smoothed particle hydrodynamics (SPH). Our approach is based on the Shepard correction, which reduces the interpolation errors from irregularly spaced data. With Shepard correction, the smoothing kernel function is normalized using the weighted sum of the kernel function values in the neighborhood. To compute the correction factor, densities of neighboring particles are needed, which themselves are computed with the uncorrected kernel. This results in an inconsistent formulation and an error-prone correction of the kernel. As a consequence, the density computation may be inaccurate, thus the pressure forces are erroneous and may  cause instabilities in the simulation process.We present a consistent formulation by using the corrected densities to compute the exact kernel correction factor and, thereby, increase the accuracy of the simulation. Employing our method, a smooth density  distribution is achieved, i.e., the noise in the density field is reduced by orders of magnitude. To show that our method is independent of the SPH variant, we evaluate our technique on weakly compressible SPH and on divergence-free SPH. Incorporating the corrected density into the correction process, the problem cannot be stated explicitly anymore. We propose an efficient and easy-to-implement algorithm to solve the implicit problem by applying the power method. Additionally, we demonstrate how our model can be applied to improve the density distribution on rigid bodies when using a well-known rigid-fluid coupling approach.



    author = {Reinhardt, Stefan and Krake, Tim and Eberhardt, Bernhard and Weiskopf, Daniel},
    title = {Consistent Shepard Interpolation for SPH-Based Fluid Animation},
    journal = {ACM Trans. Graph.},
    volume = {38},
    number = {6},
    year = {2019},
    articleno = {189},
    doi = {10.1145/3355089.3356503}



This work is partly supported by “Kooperatives Promotionskolleg Digital Media” at Hochschule der Medien and the University of Stuttgart. Special thanks go to Yannic Schoof for the final renderings and Jonathan Ziegler for the voice-over in the video.






[Coming Soon]