Subspace Fluid Re-Simulation
Proceedings of ACM SIGGRAPH 2013


Theodore Kim and John Delaney
University of California, Santa Barbara
Media Arts and Technology Program
 



Above: An efficient subspace re-simulation of novel fluid dynamics. This scene was generated an order of magnitude faster than the original. The solver itself, without velocity reconstruction, runs three orders of magnitude faster.

   
Abstract

We present a new subspace integration method that is capable of efficiently adding and subtracting dynamics from an existing high-resolution fluid simulation. We show how to analyze the results of an existing high-resolution simulation, discover an efficient reduced approximation, and use it to quickly "re-simulate" novel variations of the original dynamics. Prior subspace methods have had difficulty re-simulating the original input dynamics because they lack efficient means of handling semi-Lagrangian advection methods. We show that multi-dimensional cubature schemes can be applied to this and other advection methods, such as MacCormack advection. The remaining pressure and diffusion stages can be written as a single matrix-vector multiply, so as with previous subspace methods, no matrix inversion is needed at runtime. We additionally propose a novel importance sampling-based fitting algorithm that asymptotically accelerates the precomputation stage, and show that the Iterated Orthogonal Projection method can be used to elegantly incorporate moving internal boundaries into a subspace simulation. In addition to efficiently producing variations of the original input, our method can produce novel, abstract fluid motions that we have not seen from any other solver.

   
    Paper [PDF, 2.7 MB]           Full Video [MOV, 183 MB]
   (Scroll down for YouTube)
    Source           Slides [PPTX, 21 MB] [PDF, 25 MB]
   

   
Supplemental Videos:
   
  Stam Plume:
    Original Stam Plume
Projected Tensor Plume
Zero Vorticity Re-Simulation
Double Vorticity Re-Simulation
Half Buoyancy Re-Simulation
        Double Buoyancy Re-Simulation
Double Time Re-Simulation
10-2 SVD discard threshold
10-3 SVD discard threshold
10-4 SVD discard threshold
        10-5 SVD discard threshold
10-6 SVD discard threshold
10-7 SVD discard threshold
  MacCormack Plume:
    Original MacCormack Plume
Projected Tensor Plume
Half Buoyancy Re-Simulation
Vorticity = 0 Re-Simulation
        Vorticity = 3 Re-Simulation
Vorticity = 6 Re-Simulation
Vorticity = 8 Re-Simulation
Vorticity = 10 Re-Simulation
        Vorticity = 15 Re-Simulation
Vorticity = 20 Re-Simulation
  Dirichlet Cylinders:
    Original simulation
Half Buoyancy Re-Simulation
Vorticity = 0 Re-Simulation
        Vorticity = 10 Re-Simulation
Vorticity = 50 Re-Simulation
  Neumann Wrecking Ball:
    Original sequence, without smoke
Original sequence, with smoke
Vorticity = 5 Re-Simulation
Vorticity = 10 Re-Simulation
        Vorticity = 15 Re-Simulation
Vorticity = 20 Re-Simulation
Vorticity = 100 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.