A PPPM fast summation method for fluids and beyond

Solving the N-body problem, i.e. the Poisson problem with point sources, is a common task in graphics and simulation. The naive direct summation of the kernel function over all particles scales quadratically, rendering it too slow for large problems, while the optimal Fast Multipole Method has drastic implementation complexity and can sometimes carry too high an overhead to be practical. We present a new Particle-Particle Particle-Mesh (PPPM) algorithm which is fast, accurate, and easy to implement even in parallel on a GPU. We capture long-range interactions with a fast multigrid solver on a background grid with a novel boundary condition, while short-range interactions are calculated directly with a new error compensation to avoid error from the background grid. We demonstrate the power of PPPM with a new vortex particle smoke solver, which features a vortex segment-approach to the stretching term, potential flow to enforce no-stick solid boundaries on arbitrary moving solid boundaries, and a new mechanism for vortex shedding from boundary layers. Comparison against a simpler Vortex-in-Cell approach shows PPPM can produce significantly more detailed results with less computation. In addition, we use our PPPM solver for a Poisson surface reconstruction problem to show its potential as a general-purpose Poisson solver.

[1]  T. Theuns Parallel P3M with exact calculation of short range forces , 1993, astro-ph/9309035.

[2]  Frank Losasso,et al.  Simulating water and smoke with an octree data structure , 2004, SIGGRAPH 2004.

[3]  Ronald Fedkiw,et al.  A vortex particle method for smoke, water and explosions , 2005, ACM Trans. Graph..

[4]  T. Pfaff,et al.  Synthetic turbulence using artificial boundary layers , 2009, SIGGRAPH 2009.

[5]  Taku Komura,et al.  Harmonic parameterization by electrostatics , 2013, TOGS.

[6]  C. R. Anderson VORTEX METHODS FOR FLOWS OF VARIABLE DENSITY , 1983 .

[7]  Petros Koumoutsakos,et al.  Vortex Methods: Theory and Practice , 2000 .

[8]  Robert Bridson,et al.  Linear-time smoke animation with vortex sheet meshes , 2012, SCA '12.

[9]  Craig Upson,et al.  Combining physical and visual simulation—creation of the planet Jupiter for the film “2010” , 1986, SIGGRAPH.

[10]  Ulrich Pinkall,et al.  Filament-based smoke with vortex shedding and variational reconnection , 2010, SIGGRAPH 2010.

[11]  Olga Sorkine-Hornung,et al.  Robust inside-outside segmentation using generalized winding numbers , 2013, ACM Trans. Graph..

[12]  Andrew Selle,et al.  A vortex particle method for smoke, water and explosions , 2005, ACM Trans. Graph..

[13]  C. R. Anderson A method of local corrections for computing the velocity field due to a distribution of vortex blobs , 1986 .

[14]  Jonathan M. Cohen,et al.  Low viscosity flow simulations for animation , 2008, SCA '08.

[15]  Fabrice Neyret,et al.  Simulation of smoke based on vortex filament primitives , 2005, SCA '05.

[16]  Robert Bridson,et al.  Animating sand as a fluid , 2005, ACM Trans. Graph..

[17]  Jos Stam,et al.  Stable fluids , 1999, SIGGRAPH.

[18]  Ronald Fedkiw,et al.  Visual simulation of smoke , 2001, SIGGRAPH.

[19]  A. Chorin Numerical study of slightly viscous flow , 1973, Journal of Fluid Mechanics.

[20]  David R. Hill,et al.  OpenVDB: an open-source data structure and toolkit for high-resolution volumes , 2013, SIGGRAPH '13.

[21]  Ronald Fedkiw,et al.  Simulating water and smoke with an octree data structure , 2004, ACM Trans. Graph..

[22]  Ramani Duraiswami,et al.  Fast multipole methods on graphics processors , 2008, J. Comput. Phys..

[23]  Anthony Leonard,et al.  Simulation of Three-Dimensional Incompressible Flows with a Vortex-in- Cell Method, , 1981 .

[24]  Jiezhi Wu,et al.  A theory of three‐dimensional interfacial vorticity dynamics , 1995 .

[25]  Eftychios Sifakis,et al.  A parallel multigrid Poisson solver for fluids simulation on large grids , 2010, SCA '10.

[26]  R W Hockney,et al.  Computer Simulation Using Particles , 1966 .

[27]  Sarah Tariq,et al.  Interactive fluid-particle simulation using translating Eulerian grids , 2010, I3D '10.

[28]  Sang Il Park,et al.  Vortex fluid for gaseous phenomena , 2005, SCA '05.

[29]  Marcus Herrmann,et al.  A Eulerian level set/vortex sheet method for two-phase interface dynamics , 2005 .

[30]  Ronald D. Henderson Scalable fluid simulation in linear time on shared memory multiprocessors , 2012, DigiPro '12.

[31]  Jens Honore Walther,et al.  An influence matrix particle-particle particle-mesh algorithm with exact particle-particle correction , 2003 .

[32]  Leslie Greengard,et al.  A fast algorithm for particle simulations , 1987 .

[33]  Rüdiger Westermann,et al.  Large-Scale Liquid Simulation on Adaptive Hexahedral Grids , 2014, IEEE Transactions on Visualization and Computer Graphics.

[34]  Markus H. Gross,et al.  Lagrangian vortex sheets for animating fluids , 2012, ACM Trans. Graph..

[35]  Markus H. Gross,et al.  Optimized Spatial Hashing for Collision Detection of Deformable Objects , 2003, VMV.

[36]  A. Roshko,et al.  On density effects and large structure in turbulent mixing layers , 1974, Journal of Fluid Mechanics.

[37]  Michael M. Kazhdan,et al.  Poisson surface reconstruction , 2006, SGP '06.

[38]  Ulrich Pinkall,et al.  Filament-based smoke with vortex shedding and variational reconnection , 2010, ACM Trans. Graph..

[39]  Markus H. Gross,et al.  Synthetic turbulence using artificial boundary layers , 2009, ACM Trans. Graph..

[40]  Yongning Zhu,et al.  Animating sand as a fluid , 2005, SIGGRAPH 2005.

[41]  Diego Rossinelli,et al.  Flow simulations using particles: bridging computer graphics and CFD , 2008, SIGGRAPH '08.

[42]  Tobias J. Hagge,et al.  Physics , 1929, Nature.