Jump to content
Rahul Girish

Flip Fluids deforming collision objects

Recommended Posts

So I am quite new to Houdini, 
I have a fairly simple setup where I am simulating the behavior of a viscous material where viscosity is increasing exponentially with age and multiplier. So by frame 120 particles stop moving.
I am emitting in a line in a loop back and forth so slowly the particles start creating a layered wall. 

However I have encountered 3 very intriguing problems which for the world in me I cannot seam to figure out:

1 - When meshing the particle data the particles that are close get meshed (obviously) and I don't really see the layering that I need to. Tried creating a very highrez model but didn't really work.
(Is there a way to use the viscosity or age variable to stop particles from meshing together and keep the layering intact?) Currently using VDB from Poligons then converting it. 

2 - Despite a very high Viscosity, the particles move somewhat when new layer of particle is added on top. Is there anything like Pop-State (as in previous releases) where I can freeze the particles with attributes? currently using (if viscosity>100000 {v = 0,0,0) to set velocity to 0 once viscosity is high enough.

3 - If I wanted to use a deformable (cloth/plastic/elastic) object to fill the flip fluid into how can I go about this?

I hope some of you brilliant houdini artists have some advice or tips on how to go about solving these problems. :D
Houdini file attached.

SimCon1.hip

Share this post


Link to post
Share on other sites
Quote

1 - When meshing the particle data the particles that are close get meshed (obviously) and I don't really see the layering that I need to. Tried creating a very highrez model but didn't really work.
(Is there a way to use the viscosity or age variable to stop particles from meshing together and keep the layering intact?) Currently using VDB from Poligons then converting it. 

You could try adding a custom attribute called "layer" that increments every time your source hits the end of its track and bounces back again. Or you could maybe do it by age. Then after the sim you can blast non-selected by something like @layer=1, and mesh that on its own, and so forth. 

Quote

2 - Despite a very high Viscosity, the particles move somewhat when new layer of particle is added on top. Is there anything like Pop-State (as in previous releases) where I can freeze the particles with attributes? currently using (if viscosity>100000 {v = 0,0,0) to set velocity to 0 once viscosity is high enough.

You can use the i@stopped attribute and set it to 1 once the particles reach a certain age. 

Quote

3 - If I wanted to use a deformable (cloth/plastic/elastic) object to fill the flip fluid into how can I go about this?

Not an issue. You can tick on "use deforming geometry" on your static object dop. Try using the "Collision Source" sop to help get you started. 

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Here is the i@stopped attribute included inside the if statement.
 

I dropped the viscosity threshold, quite a bit, so the fluid would come to a stop quicker.

if (@viscosity>3600){
    @viscosity = 3600;
    @v = set(0,0,0);
    i@stopped = 1;
}

 

fluid_buildup2.gif

ap_SimCon1.hiplc

Edited by Atom
  • Like 2

Share this post


Link to post
Share on other sites
On 8/26/2019 at 10:40 PM, jamesr said:

You could try adding a custom attribute called "layer" that increments every time your source hits the end of its track and bounces back again. Or you could maybe do it by age. Then after the sim you can blast non-selected by something like @layer=1, and mesh that on its own, and so forth. 

You can use the i@stopped attribute and set it to 1 once the particles reach a certain age. 

Not an issue. You can tick on "use deforming geometry" on your static object dop. Try using the "Collision Source" sop to help get you started. 

Incremental layer attribute was a nice idea! I tried it out quickly and it works well thanks!

Deforming geometry is a bit problematic though. I don't want to use a deforming geometry, rather deform the collision boundaries as the fluid fills the volume, as if its a box made with cloth on the sides constrained by the edges. 
This is I guess also the difficult part to incorporate, flexible collision geometry... 

On 8/27/2019 at 2:25 AM, Atom said:

Here is the i@stopped attribute included inside the if statement.
 

I dropped the viscosity threshold, quite a bit, so the fluid would come to a stop quicker.


if (@viscosity>3600){
    @viscosity = 3600;
    @v = set(0,0,0);
    i@stopped = 1;
}

 

fluid_buildup2.gif

ap_SimCon1.hiplc

Thanks a lot!

I'll post some images of the studies done once they are approved for others to see! :D

Share this post


Link to post
Share on other sites
On 8/29/2019 at 9:39 PM, Rahul Girish said:

Incremental layer attribute was a nice idea! I tried it out quickly and it works well thanks!

Deforming geometry is a bit problematic though. I don't want to use a deforming geometry, rather deform the collision boundaries as the fluid fills the volume, as if its a box made with cloth on the sides constrained by the edges. 
This is I guess also the difficult part to incorporate, flexible collision geometry... 

Thanks a lot!

I'll post some images of the studies done once they are approved for others to see! :D

Did you find out a way to softly deform a geometry with flip  ? 
Also, could you share the hip with the layer attribute cause I got the same problem but I didn't really understand what you fixed.

Share this post


Link to post
Share on other sites

Unfortunately I cannot find the incremental layer-attribute file I setup in my initial experiments. I remember working it out through time-remapping. i.e A set amount of time after particle emission (when it reaches the end of the track) a predefined particle attribute automatically increments by an integer value.
For my purposes however I ended up just using particle age component and exponentially increasing viscosity to 'simulate' the behavior of concrete printing. 

For the deforming geometry I found fluid force DOP connected to cloth solver worked the best. It creates a clean interaction between cloth simulation and fluid simulation which interact with one-another. 
You can find the test video attached showcasing the cloth geometry deforming with the viscous fluid > NewCloth.mp4

My project details can also be found online here if you need more info on the simulation methodology > https://www.project-curiosity.com/experiment/mas-eth-dfab-thesis

The hip file (very messy) with the simulation configuration can be found here > Mrk_22-Export.hiplc

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×