SPGrid: a sparse paged grid structure applied to adaptive smoke simulation

We introduce a new method for fluid simulation on high-resolution adaptive grids which rivals the throughput and parallelism potential of methods based on uniform grids. Our enabling contribution is SPGrid, a new data structure for compact storage and efficient stream processing of sparsely populated uniform Cartesian grids. SPGrid leverages the extensive hardware acceleration mechanisms inherent in the x86 Virtual Memory Management system to deliver sequential and stencil access bandwidth comparable to dense uniform grids. Second, we eschew tree-based adaptive data structures in favor of storing simulation variables in a pyramid of sparsely populated uniform grids, thus avoiding the cost of indirect memory access associated with pointer-based representations. We show how the costliest algorithmic kernels of fluid simulation can be implemented as a composition of two kernel types: (a) stencil operations on a single sparse uniform grid, and (b) structured data transfers between adjacent levels of resolution, even when modeling non-graded octrees. Finally, we demonstrate an adaptive multigrid-preconditioned Conjugate Gradient solver that achieves resolution-independent convergence rates while admitting a lightweight implementation with a modest memory footprint. Our method is complemented by a new interpolation scheme that reduces dissipative effects and simplifies dynamic grid adaptation. We demonstrate the efficacy of our method in end-to-end simulations of smoke flow.

[1]  Frédéric Gibou,et al.  A local level-set method using a hash table data structure , 2012, J. Comput. Phys..

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

[3]  John Hart,et al.  ACM Transactions on Graphics , 2004, SIGGRAPH 2004.

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

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

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

[7]  Jessica K. Hodgins,et al.  A point-based method for animating incompressible flow , 2009, SCA '09.

[8]  Gene H. Golub,et al.  Matrix computations , 1983 .

[9]  Ken Museth,et al.  Hierarchical RLE level set: A compact and versatile deformable surface representation , 2006, TOGS.

[10]  Frédéric H. Pighin,et al.  Fluid simulation via disjoint translating grids , 2005, SIGGRAPH '05.

[11]  Yoshinori Dobashi,et al.  A Fast Simulation Method Using Overlapping Grids for Interactions between Smoke and Rigid Objects , 2008, Comput. Graph. Forum.

[12]  Leonidas J. Guibas,et al.  Adaptively sampled particle fluids , 2007, ACM Trans. Graph..

[13]  Ronald Fedkiw,et al.  Chimera grids for water simulation , 2013, SCA '13.

[14]  Sylvain Lefebvre,et al.  GigaVoxels: ray-guided streaming for efficient and detailed voxel rendering , 2009, I3D '09.

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

[16]  Ross T. Whitaker,et al.  Particle‐Based Simulation of Fluids , 2003, Comput. Graph. Forum.

[17]  Ned Greene,et al.  Voxel space automata: modeling with stochastic growth processes in voxel space , 1989, SIGGRAPH.

[18]  James F. O'Brien,et al.  Eurographics/acm Siggraph Symposium on Computer Animation (2007) Liquid Simulation on Lattice-based Tetrahedral Meshes , 2022 .

[19]  Ronald N. Perry,et al.  Adaptively sampled distance fields: a general representation of shape for computer graphics , 2000, SIGGRAPH.

[20]  R. Bridson,et al.  Matching fluid simulation elements to surface geometry and topology , 2010, ACM Trans. Graph..

[21]  Y. Vassilevski,et al.  An octree-based solver for the incompressible Navier–Stokes equations with enhanced stability and low dissipation , 2013 .

[22]  S. Osher,et al.  Spatially adaptive techniques for level set methods and incompressible flow , 2006 .

[23]  Xubo Yang,et al.  Fluid Animation with Multi-layer Grids , 2008 .

[24]  P. Colella,et al.  An Adaptive Level Set Approach for Incompressible Two-Phase Flows , 1997 .

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

[26]  Renato Pajarola,et al.  Interactive SPH simulation and rendering on the GPU , 2010, SCA '10.

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

[28]  Ken Museth DB+Grid: a novel dynamic blocked grid for sparse high-resolution volumes and level sets , 2011, SIGGRAPH '11.

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

[30]  Markus H. Gross,et al.  Two-scale particle simulation , 2011, ACM Trans. Graph..

[31]  James F. O'Brien,et al.  Fluid animation with dynamic meshes , 2006, ACM Trans. Graph..

[32]  Ken Museth,et al.  Out-of-core and compressed level set methods , 2007, TOGS.

[33]  Robert Bridson,et al.  Guide shapes for high resolution naturalistic liquid simulation , 2011, ACM Trans. Graph..

[34]  Markus H. Gross,et al.  Particle-based fluid simulation for interactive applications , 2003, SCA '03.

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

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

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

[38]  Christopher Batty,et al.  Tetrahedral Embedded Boundary Methods for Accurate and Flexible Adaptive Fluids , 2010, Comput. Graph. Forum.

[39]  Long Quan,et al.  Image-based plant modeling , 2006, SIGGRAPH 2006.

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

[41]  James F. O'Brien,et al.  Fluids in deforming meshes , 2005, SCA '05.

[42]  Ronald Fedkiw,et al.  Efficient simulation of large bodies of water by coupling two and three dimensional techniques , 2006, ACM Trans. Graph..

[43]  Ken Museth,et al.  Dynamic Tubular Grid: An Efficient Data Structure and Algorithms for High Resolution Level Sets , 2006, J. Sci. Comput..

[44]  F. Harlow,et al.  Numerical Calculation of Time‐Dependent Viscous Incompressible Flow of Fluid with Free Surface , 1965 .

[45]  James F. O'Brien,et al.  Simulating liquids and solid-liquid interactions with lagrangian meshes , 2013, TOGS.

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

[47]  Scott M. Murman,et al.  Applications of Space-Filling-Curves to Cartesian Methods for CFD , 2004 .

[48]  Matthias Müller,et al.  Real-time Eulerian water simulation using a restricted tall cell grid , 2011, ACM Trans. Graph..

[49]  Tosiyasu L. Kunii,et al.  Botanical Tree Image Generation , 1984, IEEE Computer Graphics and Applications.

[50]  Mathieu Desbrun,et al.  Smoothed particles: a new paradigm for animating highly deformable bodies , 1996 .

[51]  P. Colella,et al.  Local adaptive mesh refinement for shock hydrodynamics , 1989 .