Jump to content

Flip Fluid - Caching Base Fluid simulation for whitewater


Recommended Posts

Hey Guys!! I basically want to simulate my flip tank, export the simulation cache, and then read the base fluid cache to simulate whitewater.


First i'm exporting my simulation cache using an "Rop_Output_Driver" like this..




Then i drop in a "file_node" to import my cached base fluid .bgeo like this..




I have about 4millions particles in this scene so i'm not expecting a realtime playback, but just jumping to a random frame takes ages, it feels really heavy like it's trying to simulate/cache base fluid again! I want to read the cache files and use them to simulate whitewater without having to simulate my base fluid again.. :(


I've also attached the scene file, hope someone can help me figure this out :wacko:


Link to comment
Share on other sites

No, it's not simulating any thing.

Houdini only calculate a live data when a node is wired to something. File sop is set to read files and doesn't have any input connection.


It's reading files from disk. As your files are bit heavy so it takes time to load them in memory.

Link to comment
Share on other sites

As for Flip fluids I usually ROP Output network .bgeo files same as you did, to get the mesh of the liquid.

If you are looking to simulate white water in a more confortable way, you can explicit cash at the AutoDop Network this liquid simulation, i usually do this before caching out the mesh. Then you can load this .sim files which are extremely heavy, turn off auto re-simulate, load this sim files and you can even choose a starting frame. Then you will be able to sim the white water faster.

Link to comment
Share on other sites

Peon this sounds just like what i want to do! I want to simulate the main flip, and use cache files to simulate whitewater faster, without having to re-sim the main flip. Can you describe this workflow a bit more detailed, or create a project file with this setup? 

Link to comment
Share on other sites

I don't know why i am doing this because i alreadu sent you setup and describe workflow, but let's try again.


1 - go inside fluidtank_fluid geo node

2 - you have write_fluid Rop node

3 - after you write you use read_fluid node to load your cache files, and most important thing is to display that node not dopimport1 like you had on picture, then houdini will load cache files not sim again

4 - if you want to preview your sim, with blue-white color on paticles just display fluid_prev node - this is just for preview


5 - in fluidtank_fluid geo node there is null node with name  FLUID, its nothing else then null node, i use that node after to read if i need in any part of scene

6 - if you go to wwater_source node you will see merge_fliptank that point to that null node ( FLUID) but thats actual cache file because its conected to read_fluid

7 - after that you go to whitewater_write and write wwater particles to disk using import_whitewater node or you can add rop node like i did for main fluid sim.


PS most important thing is that displayFlag be on cache node, not dopimport1 because dopimport1 is reading from dop, and he will simulate everytime.



Edited by CeeGee
Link to comment
Share on other sites

Mikkel, you can do what Igor CeeGee explains as he is a Master of Fluids but if you find yourself totally new with this, my description could be usefull regarding what i was explaining you before.


-Once you are happy with your liquid simulation at low rez, let say particle separation of 2.0, you can now set this to 0.1 and you are in Frame 1.

-At the botton right of the screen, set the timeline player as foward once only, not loop.

-At the AutodopNetwork, turn on Explicit Cache, create a folder where your houdini file is located, files for each frame will be named: -- -cache_${OS}_$SF.sim


Play your simulation and come back after around 4 hours, you will see your simulation at the last Frame.


Go to Frame 1, and at the AutodopNetwork, turn off Explicit Cache, and load your cache_${OS}_$SF.sim sequence at Display.


So now your sim is explicit cached and loaded in houdini, this will let you ROP OUtPut cache your liquid mesh as .bgeo faster.

and you can also start working with White Water and everything will be faster, not real time but at least houdini wont have to re calculate your liquid to calculate the white water.


And then, do the same for White water regarding explicit cache, and rop out put network.

Link to comment
Share on other sites

Igor and traiano thanks so much clearing this up, finally it makes perfect sense. I've used the method igor explained, but using .sim files also sounds interesting! I want to optimize as much as possible, so when i'm happy with my main flip simulation, is it better to use ExplicitCache (Sim files) to drive/calculate the whitewater? Or the rop output driver method Igor mentioned?


Thanks for you're response guys, i really appreciate it! B)

Link to comment
Share on other sites

once im happy with my low rez flip fluid, i personally crank up to 0.080 particle separation and I play forward with explicit cache on.

then I load the .sim sequence and I rop output network. then you can point to this rop cache in fluidtank as Igor explains to calculate the white water.

export white water as points.

Link to comment
Share on other sites

  • 3 years later...

Old post, I know, but I have a question or two I hope someone can answer. It's directly linked to CeeGee's suggestion post and test file setup.

I'm filling up a champagne fountain, and have two emitters. One for a "pre-fill", which is pouring fluid into the glasses before the actual shot starts. And an emitter from an animated bottle. Now, my question here is this; using CeeGee's setup, what do I have to do to cache out both my emitters as bgeo.sc files (as CeeGee is doing) ? The idea is to use the fluid cache to generate whitewater (champagne foam/bubbles, call it what you will), and the .sim setup just takes forever to cache out and the file size is ridiculous. 

Would it be possible to cache out each fluid object by itself, read them back in a File node for each, and then merge them? Would that work, or would I need to go about it in another way?

Hope I am making any sense here.


CG kisses & hugs from Bournemouth UK.



Using CeeGee's method, even with multiple emitters/objects it works. It automatically picks up on how many emitters are present in the sim. So just load in the first one in the DOP I/O and it's smooth sailing from there. 

Edited by Lunzium
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...