Compressing Fluid Subspaces
ACM SIGGRAPH / Eurographics Symposium on Computer Animation (SCA) 2016

Aaron Demby Jones1, Pradeep Sen1, Theodore Kim1, 2
1University of California, Santa Barbara
2Pixar Animation Studios

Above: Several compressed fluid subspace re-simulations of varying quality. Visual quality is preserved for up to an order of magnitude compression and degrades gracefully as the compression level increases.


Subspace fluid simulations, also known as reduced-order simulations, can be extremely fast, but also require basis matrices that consume an enormous amount of memory. Motivated by the extreme sparsity of Laplacian eigenfunctions in the frequency domain, we design a frequency-space codec that is capable of compressing basis matrices by up to an order of magnitude. However, if computed naively, decompression can be highly inefficient and dominate the running time, effectively negating the advantage of the subspace approach. We show how to significantly accelerate the decompressor by performing the key matrix-vector product in the sparse frequency domain. Subsequently, our codec only adds a factor of three or four to the overall runtime. The compression preserves the overall quality of the simulation, which we show in a variety of examples.

    Paper [PDF, 14.6 MB]           Full Video [MOV, 298 MB]
   (Scroll down for YouTube)
    Source           Slides [PPTX, 10 MB] [PDF, 59 MB]

Supplemental Videos:
    Uncompressed Subspace Plume
6:1 Compressed Plume
11:1 Compressed Plume
22:1 Compressed Plume
        Uncompressed Vorticity = 0 Re-Simulation
6:1 Compressed Vorticity = 0 Re-Simulation
  Dirichlet Sphere:
    Uncompressed Subspace Sphere
10:1 Compressed Sphere
14:1 Compressed Sphere
30:1 Compressed Sphere
        Uncompressed Half Buoyancy Re-Simulation
14:1 Compressed Half Buoyancy Re-Simulation
  Neumann Fan:
    Uncompressed Subspace Fan
6:1 Compressed Fan
11:1 Compressed Fan
29:1 Compressed Fan
        Uncompressed Vorticity = 10 Re-Simulation
6:1 Compressed Vorticity = 10 Re-Simulation

This material is based upon work supported by a National Science Foundation CAREER award (IIS-1253948). We acknowledge rendering support from the Center for Scientific Computing from the CNSI, MRL: an NSF MRSEC (DMR-1121053), Hewlett-Packard, and NSF CNS-0960316. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.