|
|
Abstract:
We present an efficient geometric Multigrid solver for simulating viscous
liquids based on the variational approach of [Batty and
Bridson 2008]. Although the governing equations for viscosity
are elliptic, the strong coupling between different velocity components in the
discrete stencils mandates the use of more exotic smoothing techniques to
achieve textbook Multigrid efficiency. Our key contribution is the design of a
novel box smoother involving small and sparse systems (at most 9x9 in 2D
and 15x15 in 3D), which yields excellent convergence rates and performance
improvements of 3.5x - 13.8x over a naïve Multigrid approach. We
employ a hybrid approach by using a direct solver only inside the box smoother
and keeping the remaining pipeline assembly-free, allowing our solver to
efficiently accommodate more than 194 million degrees of freedom, while
occupying a memory footprint of less than 16 GB. To reduce the computational
overhead of using the box smoother, we precompute the Cholesky factorization of the
subdomain system matrix for all interior degrees of freedom.
We describe how the variational formulation, which requires volume weights computed at the centers
of cells, edges, and faces, can be naturally accommodated in the Multigrid
hierarchy to properly enforce boundary
conditions. Our proposed Multigrid solver serves as an excellent preconditioner
for Conjugate Gradients, outperforming existing state-of-the-art alternatives.
We demonstrate the efficacy of our method on several high resolution examples of viscous
liquid motion including two-way coupled interactions with rigid bodies.
|