Please note: This PhD defence will be given online.
Ryan Goldade, PhD candidate
David R. Cheriton School of Computer Science
Supervisor: Professor Christopher Batty
Fluid animation in computer graphics is motivated to produce qualitatively believable fluid motion for applications in film, TV, and video games. Improving simulation efficiency allows visual effects artists to iterate faster on a director's vision or, alternatively, to produce higher quality animations within the same time budget. The standard method for fluid animation in computer graphics uses a uniformly sized regular grid to discretize and solve the governing equations. Although regular grids offer simple discretizations, they are often inefficient as they assign an equal amount of computational effort throughout the entire volume of fluid, regardless of visual or physical importance. By contrast, adaptive methods focus computational effort around regions of visual interest and reduce computational effort in less visually meaningful areas.
The work presented in this thesis focuses on improving the computational efficiency when simulating viscous liquids and air bubbles immersed in liquids by designing new discretizations to focus computational effort in regions that meaningfully contribute to creating realistic motion. For example, when simulating air bubbles rising through a liquid, the entire bubble volume is traditionally simulated despite the bubble's interior being visually unimportant. We propose our constraint bubbles model to avoid simulating the interior of the bubble volume by reformulating the usual incompressibility constraint throughout a bubble volume as a constraint over only the bubble's surface. Our constraint method achieves qualitatively similar results compared to a two-phase simulation ground-truth for bubbles with low densities (i.e., air bubbles in water). For bubbles with higher densities, we propose our novel affine regions to model the bubble's entire velocity field with a single affine vector field. We demonstrate that affine regions can correctly achieve hydrostatic equilibrium for bubble densities that match the surrounding liquid and correctly sink for higher densities. Finally, we introduce a tiled approach to subdivide large-scale affine regions into smaller subregions. Using this strategy, we are able to accelerate single-phase free surface flow simulations, offering a novel approach to adaptively enforce incompressibility in free surface liquids without complex data structures.
While pressure forces are often the bottleneck for inviscid fluid simulations, viscosity can impose orders of magnitude greater computational costs. We observed that viscous liquids require high simulation resolution at the surface to capture detailed viscous buckling and rotational motion but, because viscosity dampens relative motion, do not require the same resolution in the liquid's interior. We therefore propose a novel adaptive method to solve free surface viscosity equations by discretizing the variational finite difference approach of [Batty and Bridson 2008] on an octree grid. Our key insight is that the variational method guarantees a symmetric positive definite linear system by construction, allowing the use of fast numerical solvers like the Conjugate Gradients method. By coarsening simulation grid cells inside the liquid volume, we rapidly reduce the degrees-of-freedom in the viscosity linear system up to a factor of 7.7x and achieve performance improvements for the linear solve between 3.8x and 9.4x compared to a regular grid equivalent. The results of our adaptive method closely match an equivalent regular grid for common scenarios such as: rotation and bending, buckling and folding, and solid-liquid interactions.
To demonstrate the practical benefits of both contributions, we implemented both methods as drop-in replacements for the equivalent regular grid solvers of a commercial liquid simulator. We released our code as open source plug-ins to encourage adoption of our methods by the research community and visual effects artists.
200 University Avenue West
Waterloo, ON N2L 3G1