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 [bit bucket] Slides

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).