

Normal Scale and Tangent scale determine the amount of vel perpendicular to the surface and tangental to the surface that is applied to the particles. Stick Bias is a bias factor blending in/out the vel. Max Distance is actually the amount that the collision field is expanded to “trap” those particles. The Stick Scale parameter multiplies the stickvel field. No geometry/polys are used at all in the Solver. Then use this field to “capture” the FLIP particles and then modify their velocity using the stickvel vector field.

Note that the entire sticky logic works by grabbing the collision field in the simulation and expanding it out a bit. Using the above methods, you can override any field in the FLIP sim including the “stickvel” vector field to even boost or cut this. Some ideas would be to modulate the density Volume you feed in to the sticky fields by the velocity of the turning wheels or to accumulate the stick across time by adding a second field to hold on to the previous frame's stick field and add that in on the current frame, etc. It's wide open as to how you want to approach this. I used the Source Volume DOPs to add the stick fields copied in from SOPs.
#Houdini viscosity index how to#
See the fully commented example file attached to this post to see how to construct the SOP volumes, how to use the Stick on Collision Control Field parameter with the default of “stick”, and how to actually add a field called “stick” to your simulation object and then populate it with any volume data you want. This mask is variable so that it can be any value to control the stickiness on the surfaces. It defaults to a name of “stick” or in other words, if you have a volume called “stick” attached to your simulation object, then it will be used as a mask. There is a Control Field input that you can use to supply a volume mask attached to your simulation object to control this behaviour. Also it's just an asset with a GasFieldVOP inside, if you want to look at how it works. Edit: I should add, the Stick on Collision DOP supports scaling its effect via an external field, so you should be able to control the location of the effect.

The second pass through just shows the default behavior. The first pass through the flipbook shows with the velocity modification active the streamers show modified velocities. And I'm sure there are cases where this won't work that I'm overlooking, but it's worth a try for your setup. If you want slippery walls you'll need to create actual collision geometry for them. This won't work at the fluid boundaries since those are handled differently inside the viscosity solver. In this case it mixes “vel” (fluid) into “collisionvel” (collisions). Fortunately there's a DOP asset that will do this for you: the Gas Stick on Collision DOP, which ironically we can use in reverse to achieve a non-stickiness by reversing the fields it operates on. The pressure solver ignores tangential velocities anyway (enforcing only a non-penetration constraint), so as long as we modify only the tangential velocities we should be OK using that modified collision velocity for both solves. So when the viscosity solver looks up the collision velocity it will actually use the fluid's velocity in the tangent direction. Essentially you want to mix the fluid velocity that is tangent to the collisions back into the collision velocity field. In the meantime you can cheat a bit by manipulating the collision velocity field before it goes into the viscosity and pressure solves. Improving the viscosity solver to support a varying amount of stickiness is a good RFE I'll add it to the bug db.

The viscosity solver currently only supports a “no slip” condition when considering collision velocities, which essentially means the “stickiness” between collisions and fluid is the same as internally to the fluid. i want a mud that can be pushed around but not stick to geometry unless i specify. Robinlawrie im not sure if im asking a silly question, or if nobody knows the answer, but this has really stopped me dead at the moment.
