Poisson equations appear in many graphics settings including, but not limited to, physics-based fluid simulation. Numerical solvers for such problems strike context-specific memory, performance, stability and accuracy trade-offs. We propose a new Poisson filter-based solver that balances between the strengths of spectral and iterative methods. We derive universal Poisson kernels for forward and inverse Poisson problems, leveraging careful adaptive filter truncation to localize their extent, all while maintaining stability and accuracy. Iterative composition of our compact filters improves solver iteration time by orders-of-magnitude compared to optimized linear methods. While motivated by spectral formulations, we overcome important limitations of spectral methods while retaining many of their desirable properties. We focus on the application of our method to high-performance and high-fidelity fluid simulation, but we also demonstrate its broader applicability.
Physics-based animation can generate dynamic systems of very complex and realistic behaviors. Unfortunately, controlling them is a daunting task. In particular, fluid simulation brings up particularly difficult problems to the control process. This thesis presents two projects, each one improving on the state of the art related to each of these two stages. First, we introduce a new particle-based liquid control system. Using this system, an artist selects patches of precomputed liquid animations from a database, and places them in a simulation to modify its behavior. Second, a tracking solution for smoke upresolution is described. We propose to add an extra tracking step after the projection of a classical Eulerian smoke simulation. The resulting smoke animation faithfully reproduces the coarse aspect of the low-resolution input, while being enhanced with simulated small-scale details.
It is notoriously difficult for artists to control liquids while generating plausible animations. We introduce a new liquid control tool that allows users to load, transform, and apply precomputed liquid simulation templates in a scene in order to control a particle-based simulation. Each template instance generates control forces that drive the global simulated liquid to locally reproduce the templated liquid behavior. Our system is augmented with a variable proportion of temporary particles to help efficiently reproduce the templated liquid density, with fewer requirements on the surrounding environment. The resulting control strategy adds only a small computational overhead, leading to quick visual feedback for resolutions allowing interactive simulation. We demonstrate the robustness and ease of use of our method on various examples in 2D and 3D.
Controlling smoke simulations is a notoriously challenging and tedious task, usually requiring many trial-and-error iterations that prevent using expensive computations at high resolutions. Unfortunately, naıvely going from a more efficient low-resolution simulation to a high-quality high-resolution simulation usually results in a different behavior of smoke animation. Moreover, the longer the animation, the more different the result. We propose a tracking procedure where we optimally modify the velocity field of the simulation in order to make the smoke density distribution closely follow the low-resolution density in both space and time. We demonstrate the benefits of our approach by accurately tracking various 2D and 3D simulations. The resulting animations are predictable, preserving the coarse density distribution of the low-resolution guides, while being enhanced with plausible high-frequency details.