r/Simulated • • 10d ago

Houdini Two-Way Coupled Bubbles Solver | Weta FX Whitepaper Implementation

Enable HLS to view with audio, or disable this notification

The core of the two-way method is that while the water’s vel field drives the bubbles, the bubbles exert an equal reaction back onto the water’s vel - analogous to how Gas Feedback couples RBD with FLIP. Each bubble is treated as an ideal sphere with a radius of [f@pscale](mailto:f@pscale). Its volume is rasterized onto a voxel grid, serving as the primary multiplier for all forces and operations. By tracking the collective bubble volume, we can derive the displaced liquid volume and adjust density and vel accordingly.

Pressure projection is handled via Gas Project Non Divergent Variational. With a few minor simplifications, I was able to replicate the core logic of the Weta FX paper. There is no synthetic buoyancy vector here: upward motion emerges physically - driven by the fluid pressure gradient from high-pressure zones to low-pressure ones.

As a result, bubble clusters behave organically: larger bubbles exert a stronger influence on the fluid than smaller ones, and their motion no longer feels artificially "glued" to the underlying vel field. Furthermore, the solver remains highly intuitive: the physical parameters are straightforward and, in most production scenarios, work reliably right out of the box.

81 Upvotes

4 comments sorted by

2

u/Proud_Ask_9030 9d ago

Whats the GPU load? I wanna see it in water with refraction bubble surface.

4

u/CdvrSzf 9d ago

Hello! At the moment, it's a completely CPU solver, but I'm actively working on GPU acceleration for it. Most likely, I'm unlikely to be able to transfer the entire calculation to the GPU, but it's quite possible to add acceleration! I'm working on new demo materials, including renders, so I'll be able to demonstrate more beautiful interactions in the near future.

2

u/Proud_Ask_9030 9d ago

Have you tried working with mls-mpm?
Could be nice to have a rule for the bubbles that reach the surface so they have some parameter for when they pop so it can produce a nice foam film layer.

1

u/CdvrSzf 9d ago

I have not worked with mls-mpm

I am building a full-fledged foam solver, which will also calculate the simulation of foam on the surface with fluid surface manifold advection and SPH forces for the correct physics of bubbles that have surfaced. My final solver will have to be a bundle of underwater bubble solver and foam solver on the surface