Two Phase Flip possible?

   466   1   1
User Avatar
Member
1 posts
Joined: 11月 2013
オンライン
Hello there,

after attempting unsuccessfully to simulate air and fluid together with the flip DOP solver, I am wondering,
if this has been done before or if the DOP flip solver architecture is maybe not ideal to simulate with two phases?

In my scenario there are...
...points with a mass of 1 and integer type 0 as fluid point source.
...and points with a mass of 0.01 and int type 1, representing the air point source.

Now seeding this into a flip solver, I have not found a way to get the air and fluid pressure to be calculated accordingly.
The options in the flip solver can simulate with a region of incompressible air around the flip sim but it does not allow for any user based seeding of air point sources. It also does not seem to support pressure adaptivity.

Using extra gas fields to simulate custom pressure fields with the gasprojectnondivergentvariational operator seemed to offer a way out but this also does not seem to be able to support a two phase pressure calculation.

So, after pondering this question over a couple of weekends, I finally figured maybe my friendly sidefx Forum has some answers ...
Can air and fluid with associated pressure calculation be done with the flip DOP framework in Houdini?

Happy for any thoughts or pointers...
User Avatar
Member
66 posts
Joined: 8月 2014
オフライン
I'm far from sure what the limits of the FLIP solver's capabilities are, but I presume the answer is going to be something along the lines of "it's not built to model it in a physically-correct way, but there are ways to fake it".

You can simply set f@density to 1 on air particles, 1000 on water particles, fill an entire container with particles, and switch on variable density... it'll sort-of work - the broad motion will look correct (at least for a couple of seconds), but any cells that end up with a mix of particle densities will be unable to separate those particles correctly (those voxels will just be seen by the pressure solve as a homogeneous fluid with a density the average of the particles it contains), and so droplets of water that should be treated as ballistic flying through the air will end up floating instead, and the water will quickly just "diffuse" into the air.

I've had some success in the past running a secondary smoke-solve alongside a FLIP solve, using the FLIP water surface/velocity as a collider in the smoke solve, and then using the smoke solve's velocity to advect near-surface/droplet particles, and especially white-water secondary spray particles (at least I think that's how I did it, from memory)... that's possibly the most practical way to do it using the tools available. Doesn't help for sub-surface incompressible pockets, but it adds life to large splashy motion.

I wonder if there's a way to run a custom separate pass that will work out the local cell fraction at the fluid surface, and push the different density particles to the correct side of the boundary. I doubt that would be enough on its own though.
I get the feeling others out there have probably gone further down this rabbit-hole (and/or actually understand the maths behind two-phase fluids). Would love to know more if anyone's got it working in a remotely physically-correct way.

...or we just wait for SideFX to implement that "Adaptive Phase-Field-FLIP for Very Large Scale Two-Phase Fluid Simulation" paper from Siggraph. I'm hoping it'll come along eventually (nudge nudge)
Edited by VortexVFX - 2026年9月23日 04:17:34
Dan Wood
  • Quick Links