Fast Fluid Simulations with Sparse Volumes on the GPU

We introduce efficient, large scale fluid simulation on GPU hardware using the fluid‐implicit particle (FLIP) method over a sparse hierarchy of grids represented in NVIDIA® GVDB Voxels. Our approach handles tens of millions of particles within a virtually unbounded simulation domain. We describe novel techniques for parallel sparse grid hierarchy construction and fast incremental updates on the GPU for moving particles. In addition, our FLIP technique introduces sparse, work efficient parallel data gathering from particle to voxel, and a matrix‐free GPU‐based conjugate gradient solver optimized for sparse grids. Our results show that our method can achieve up to an order of magnitude faster simulations on the GPU as compared to FLIP simulations running on the CPU.

[1]  Dieter Schmalstieg,et al.  Softshell , 2012, ACM Transactions on Graphics.

[2]  Eftychios Sifakis,et al.  SPGrid: a sparse paged grid structure applied to adaptive smoke simulation , 2014, ACM Trans. Graph..

[3]  Florence Bertails-Descoubes,et al.  A semi-implicit material point method for the continuum simulation of granular materials , 2016, ACM Trans. Graph..

[4]  Chenfanfu Jiang,et al.  Anisotropic elastoplasticity for cloth, knit and hair frictional contact , 2017, ACM Trans. Graph..

[5]  Matthias Müller,et al.  Real-time Eulerian water simulation using a restricted tall cell grid , 2011, SIGGRAPH 2011.

[6]  Insung Ihm,et al.  Practical animation of turbulent splashing water , 2006, Symposium on Computer Animation.

[7]  Christopher Wojtan,et al.  A Dimension‐reduced Pressure Solver for Liquid Simulations , 2015, Comput. Graph. Forum.

[8]  Mark J. Harris CUDA: performance tips and tricks , 2007, SIGGRAPH '07.

[9]  Adam W. Bargteil,et al.  Physics-based animation of large-scale splashing liquids , 2013, ACM Trans. Graph..

[10]  Rüdiger Westermann,et al.  Narrow Band FLIP for Liquid Simulations , 2016, Comput. Graph. Forum.

[11]  Chenfanfu Jiang,et al.  A material point method for viscoelastic fluids, foams and sponges , 2015, Symposium on Computer Animation.

[12]  Rama Karl Hoetzlein,et al.  GVDB: raytracing sparse voxel database structures on the GPU , 2016, High Performance Graphics.

[13]  Mark J. Harris Fast fluid dynamics simulation on the GPU , 2005, SIGGRAPH Courses.

[14]  Li-Tien Cheng,et al.  A second-order-accurate symmetric discretization of the Poisson equation on irregular domains , 2002 .

[15]  Ronald Fedkiw,et al.  A new grid structure for domain extension , 2013, ACM Trans. Graph..

[16]  Robert Bridson,et al.  MultiFLIP for energetic two-phase fluid simulation , 2012, TOGS.

[17]  Christopher Horvath,et al.  Directable, high-resolution simulation of fire on the GPU , 2009, SIGGRAPH '09.

[18]  Jieyu Chu,et al.  A Schur Complement Preconditioner for Scalable Parallel Fluid Simulation , 2017, ACM Trans. Graph..

[19]  Andrew Selle,et al.  Detail preserving continuum simulation of straight hair , 2009, SIGGRAPH 2009.

[20]  Mark J. Harris,et al.  Parallel Prefix Sum (Scan) with CUDA , 2011 .

[21]  Matthias Müller,et al.  A Multigrid Fluid Pressure Solver Handling Separating Solid Boundary Conditions , 2011, IEEE Transactions on Visualization and Computer Graphics.

[22]  Pradeep Dubey,et al.  Large-scale fluid simulation using velocity-vorticity domain decomposition , 2012, ACM Trans. Graph..

[23]  Eftychios Sifakis,et al.  A scalable schur-complement fluids solver for heterogeneous compute platforms , 2016, ACM Trans. Graph..

[24]  Christopher Wojtan,et al.  Highly adaptive liquid simulations on tetrahedral meshes , 2013, ACM Trans. Graph..

[25]  Keenan Crane,et al.  Energy-preserving integrators for fluid animation , 2009, SIGGRAPH 2009.

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

[27]  Andre Pradhana,et al.  Drucker-prager elastoplasticity for sand animation , 2016, ACM Trans. Graph..

[28]  Eftychios Sifakis,et al.  Power diagrams and sparse paged grids for high resolution adaptive liquids , 2017, ACM Trans. Graph..

[29]  Ming C. Lin,et al.  Free-flowing granular materials with two-way solid coupling , 2010, SIGGRAPH 2010.

[30]  Robert Bridson,et al.  A fast variational framework for accurate solid-fluid coupling , 2007, SIGGRAPH 2007.

[31]  Robert Bridson,et al.  Accurate viscous free surfaces for buckling, coiling, and rotating liquids , 2008, SCA '08.

[32]  Huamin Wang,et al.  Wetbrush: GPU-based 3D painting simulation at the bristle level , 2015, ACM Trans. Graph..

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

[34]  Ming C. Lin,et al.  Fast animation of turbulence using energy transport and procedural synthesis , 2008, SIGGRAPH 2008.

[35]  Robert Bridson,et al.  Restoring the missing vorticity in advection-projection fluid solvers , 2015, ACM Trans. Graph..

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

[37]  Hyeong-Seok Ko,et al.  Derivative Particles for Simulating Detailed Movements of Fluids , 2007, IEEE Transactions on Visualization and Computer Graphics.

[38]  Dan Bailey,et al.  Distributing liquids using OpenVDB , 2015, SIGGRAPH Talks.

[39]  J. Brackbill,et al.  FLIP: A method for adaptively zoned, particle-in-cell calculations of fluid flows in two dimensions , 1986 .

[40]  Stephen Jones,et al.  Production ready MPM simulations , 2017, SIGGRAPH Talks.

[41]  Xu Guo,et al.  Matrix-free GPU implementation of a preconditioned conjugate gradient solver for anisotropic elliptic PDEs , 2013, Comput. Vis. Sci..

[42]  Ronald Fedkiw,et al.  Simulating free surface flow with very large time steps , 2012, SCA '12.

[43]  Ignacio Llamas,et al.  Advections with Significantly Reduced Dissipation and Diffusion , 2007, IEEE Transactions on Visualization and Computer Graphics.

[44]  Sarah Tariq,et al.  Scalable fluid simulation using anisotropic turbulence particles , 2010, SIGGRAPH 2010.

[45]  Ronald Fedkiw,et al.  A novel algorithm for incompressible flow using only a coarse grid projection , 2010, ACM Trans. Graph..

[46]  Eitan Grinspun,et al.  Continuum Foam , 2015, ACM Trans. Graph..

[47]  Robert Bridson,et al.  Detailed water with coarse grids , 2014, ACM Trans. Graph..

[48]  Chenfanfu Jiang,et al.  The affine particle-in-cell method , 2015, ACM Trans. Graph..

[49]  Manuel Menezes de Oliveira Neto,et al.  Preserving geometry and topology for fluid flows with thin obstacles and narrow gaps , 2016, ACM Trans. Graph..

[50]  Ken Museth,et al.  VDB: High-resolution sparse volumes with dynamic topology , 2013, TOGS.

[51]  Alexey Stomakhin,et al.  A material point method for snow simulation , 2013, ACM Trans. Graph..

[52]  Adrien Treuille,et al.  Modular bases for fluid dynamics , 2009, ACM Trans. Graph..