Velocity-Based Monte Carlo Fluids

ACM SIGGRAPH North America 2024 (Conference Papers)

Ryusuke Sugimoto, Christopher Batty, and Toshiya Hachisuka

University of Waterloo, Canada

Abstract

We present a velocity-based Monte Carlo fluid solver that overcomes the limitations of its existing vorticity-based counterpart. Because the velocity-based formulation is more commonly used in graphics, our Monte Carlo solver can be readily extended with various techniques from the fluid simulation literature. We derive our method by solving the Navier-Stokes equations via operator splitting and designing a pointwise Monte Carlo estimator for each substep. We reformulate the projection and diffusion steps as integration problems based on the recently introduced walk-on-boundary technique [Sugimoto et al. 2023]. We transform the volume integral arising from the source term of the pressure Poisson equation into a form more amenable to practical numerical evaluation. Our resulting velocity-based formulation allows for the proper simulation of scenes that the prior vorticity-based Monte Carlo method [Rioux-Lavoie and Sugimoto et al. 2022] either simulates incorrectly or cannot support. We demonstrate that our method can easily incorporate advancements drawn from conventional non-Monte Carlo methods by showing how one can straightforwardly add buoyancy effects, divergence control capabilities, and numerical dissipation reduction methods, such as advection-reflection and PIC/FLIP methods.


Errata

(July 28, 2025) In the supplemental note, there are five errata in the equations for sampling that we would like to clarify.
  • In Eq. (25), the denominator in the second line of the right hand side should not have the multiplication factor of 2.
  • To absorb the constant diffusion coefficient, \(\mathbf{w}(\mathbf{x}, s)\) should be defined to be \(\overline{\mathbf{u}}(\mathbf{x}, s/\nu)\) instead of \(\nu\overline{\mathbf{u}}(\mathbf{x}, s/\nu)\).
  • The sampling strategy for the initial condition term with PDF \(P_I(\mathbf{y}^i \mid \mathbf{x}, s)\) should be \(\mathbf{y}^i \leftarrow \mathbf{x} + 2\sqrt{s\gamma_{d/2}}\omega\) instead of \(\mathbf{y}^i \leftarrow \mathbf{x} + \sqrt{t\gamma_{d/2}}\omega\).
  • The sampling strategy for time \(\tau\), given points \(\mathbf{y}\), \(\mathbf{x}\), and time \(s\), described in the line above Equation 34, \(\tau \leftarrow s - \frac{\lVert \mathbf{y} - \mathbf{x} \rVert}{4\gamma_{d/2}}\), should be replaced with \(\tau \leftarrow s - \frac{\lVert \mathbf{y} - \mathbf{x} \rVert^2}{4\gamma_{d/2}}\) with the numerator squared.
  • At some places, the fundamental solution to the diffusion equation is denoted in bold font as \(\mathbf{Z}\). However, these should be read as the non-bold version \(Z\) instead.
(September 11, 2026) In addition to the errata listed above, we have identified a few further corrections to the supplemental note. We also found errors in the implementation of the method for scenes with obstacles. The code on GitHub has been updated accordingly. These issues were brought to our attention by Jianxiang Li, whom we thank for identifying them.
  • In Eq. (20), there should be a negative sign in front of the expression.
  • In Eq. (24), there should be a positive sign in front of the expression.
  • There was an error in the implementation associated with the error in Eq. (20). As a result, the simulation results for the scenes with obstacles reported in the paper are affected.
  • The implementation for the 3D scenes contained an error in which the line-intersection query always set the z coordinate of the intersection point to zero. As a result, the simulation results for the 3D scenes with obstacles reported in the paper are affected.

Video

  • Presentation Video
  • Supplementary Video

Publication

This work was presented at ACM SIGGRAPH North America 2024.
@inproceedings{Sugimoto:2024:VelMCFluids,
author = {Sugimoto, Ryusuke and Batty, Christopher and Hachisuka, Toshiya},
title = {Velocity-Based Monte Carlo Fluids},
year = {2024},
isbn = {9798400705250},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3641519.3657405},
doi = {10.1145/3641519.3657405},
booktitle = {ACM SIGGRAPH 2024 Conference Papers},
articleno = {8},
numpages = {11},
keywords = {Monte Carlo methods, fluid simulation, walk-on-boundary},
location = {Denver, CO, USA},
series = {SIGGRAPH '24}
}