Scalable Laplacian Eigenfluids
Proceedings of ACM SIGGRAPH 2018


Qiaodong Cui, University of California, Santa Barbara
Pradeep Sen, University of California, Santa Barbara
Theodore Kim, Pixar Animation Studios
 



Above: Top row: r = 100, r = 200, r = 1000 basis functions are used. Bottom row: r = 2000, r = 4000, r = 12600 basis functions are used. Previous approaches have only been able to achieve r ≈ 500, and would have needed 2.25 TB of memory to simulate the r = 12600 case.

   
Abstract

The Laplacian Eigenfunction method for fluid simulation, which we refer to as Eigenfluids, introduced an elegant new way to capture intricate fluid flows with near-zero viscosity. However, the approach does not scale well, as the memory cost grows prohibitively with the number of eigenfunctions. The method also lacks generality, because the dynamics are constrained to a closed box with Dirichlet boundaries, while open, Neumann boundaries are also needed in most practical scenarios. To address these limitations, we present a set of analytic eigenfunctions that supports uniform Neumann and Dirichlet conditions along each domain boundary, and show that by carefully applying the discrete sine and cosine transforms, the storage costs of the eigenfunctions can be made completely negligible. The resulting algorithm is both faster and more memory-efficient than previous approaches, and able to achieve lower viscosities than similar pseudo-spectral methods. We are able to surpass the scalability of the original Laplacian Eigenfunction approach by over two orders of magnitude when simulating rectangular domains. Finally, we show that the formulation allows forward scattering to be directed in a way that is not possible with any other method.

   
    Paper [PDF, 38 MB]           Full Video [MOV, 259 MB]
   (Scroll down for YouTube)
  Additional Video [MOV, 156 MB]
   (Scroll down for YouTube)
    Supplementary material             Source [ZIP]
    Source [bit bucket]
   Slides [coming soon]
   

   
Supplemental Videos:
  Paddle Wheel: (r : rank of the basis. visc: viscosity)
    r = 100, visc=2·10-4
r = 200, visc=2·10-4
r = 1000, visc=2·10-4
r = 2000, visc=2·10-4
r = 4000, visc=2·10-4
        r = 8000, visc=2·10-4
r = 12600, visc=2·10-4
r = 12600, visc=3.5·10-4
r = 12600, visc=1·10-3
r = 12600, visc=2·10-3
        r = 12600, visc=0
90% tensor discarded
99.9% tensor discarded
99.99% tensor discarded
100% tensor discarded
  Colliding smoke:
    r = 200, visc=2·10-4
r = 3000, visc=2·10-4
r = 24000, visc=2·10-4
        %0 tensor discarded
%90 tensor discarded
%100 tensor discarded
        Stam with DCT projection
  Thin Dirichlet obstacles:
    r = 200
r = 1000
r = 7000
  Directable forward scattering:
    Original simulation
Positive function, c = 0.0003
Positive function, c = 0.0005
Positive function, c = 0.0017
Positive function, c = 0.0034
        Negative function, c = 0.0005
Mixed function
  Comparison with spectral methods and a real time demo:
    Reference spectral solution: 240*240 basis functions
Eigen fluids: 60*60 basis functions
Spectral collocation: 60*60 basis functions
        Real time demo
   

   

This work was supported by NSF CAREER award IIS-1253948, as well as IIS-1321168 and IIS-1619376. 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. We acknowledge support from the Center for Scientific Computing from the CNSI, MRL: an NSF MRSEC (DMR-1720256).