Variational Stokes: A Unified Pressure-Viscosity Solver for Accurate Viscous Liquids

Egor Larionov* Christopher Batty* Robert Bridson
University of Waterloo University of Waterloo Autodesk

* Joint first authors


We propose a novel unsteady Stokes solver for coupled viscous and pressure forces in grid-based liquid animation which yields greater accuracy and visual realism than previously achieved. Modern fluid simulators treat viscosity and pressure in separate solver stages, which reduces accuracy and yields incorrect free surface behavior. Our proposed implicit variational formulation of the Stokes problem leads to a symmetric positive definite linear system that gives properly coupled forces, provides unconditional stability, and treats difficult boundary conditions naturally through simple volume weights. Surface tension and moving solid boundaries are also easily incorporated. Qualitatively, we show that our method recovers the characteristic rope coiling instability of viscous liquids and preserves fine surface details, while previous grid-based schemes do not. Quantitatively, we demonstrate that our method is convergent through grid refinement studies on analytical problems in two dimensions. We conclude by offering practical guidelines for choosing an appropriate viscous solver, based on the scenario to be animated and the computational costs of different methods.


[MP4], [YouTube]
Supplemental Notes:
Supplemental Video:
[C++ Plugin for Houdini]


    author = "Egor Larionov and Christopher Batty and Robert Bridson",
    title = "Variational Stokes: A Unified Pressure-Viscosity Solver for Accurate Viscous Liquids",
    journal = {ACM Trans. on Graphics (SIGGRAPH 2017)},
    year = 2017


This work was supported in part by the Natural Sciences and Engineering Research Council of Canada (RGPIN-04360-2014, CRDPJ- 499952-2016) and Side Effects Software. Thanks to Ryan Goldade for helpful feedback and discussions as well as computing environment support, and to John Lynch for guidance on Houdini FLIP simulations and scenario setup.