Houdini 19.5 Fluids

Fluid-object collisions

On this page

Accurate velocities for moving collision objects are extremely important for fluid simulations in general, but particularly for FLIP. Incorrect collision velocities can lead to less dynamic splashes or fluid leaking through geometry.

Houdini’s SOP-based FLIP fluids handles object collision and interaction through the FLIP Collide SOP node. Collision objects can be static, moving and deforming. The FLIP Collide SOP node provides a 4th input (New Collision Geometry) for connecting geometry or volumes.

Solver boundary conditions are not relevant for collisions, for example when you pour water into a glass. Solver boundary conditions are only evaluated for fluids, interacting with the simulation domain. The domain is defined through the FLIP Container SOP node. The image below shows the original object, and the collision geometry with Particle Separation values of 0.1 and 0.01.

Volume and surface collision

There are two main collision methods in the FLIP Collide node: Volume Collide and Surface Collide. By default, both options are turned on. Volume Collide creates a volume from the input geometry. The quality and resolution of this volume is exclusively controlled through the FLIP Container SOP node’s Particle Separation and Grid Scale parameters. Smaller separation values, create more details, but also require more memory. Those scenes also take longer to simulate, because the parameter is also responsible for the number of fluid particles.

Surface Collide is a 1:1 representation of the input mesh. If you use a volume as collider, then Surface Collide is not available.

Note

Some collision methods require you to go to the solver’s Collision sub-tab. Under Collision Behavior you can find the Particle Collisions dropdown menu. The default choice is Move Outside Collision.

  1. If there is at least one collision object with Surface Collide turned on, the solver’s Particle method (default option) is mandatory.

  2. Volume Collide is suited for all solid 3D objects and volumes.

  3. Surface Collide is the right choice with 2D objects such as grids.

  4. Both methods, Volume Collide and Surface Collide are required, when you merge open and closed 3D objects, and you have to choose Particle Collisions ▸ Particle in the solver as well.

To...Do this

Disable fluid-object collision globally

  • In the solver’s Collision tab, go to Particle Collisions and choose None.

Set the collision method for solid and closed 3D objects

  • Use the default combination of Volume Collide and Surface Collide.

Set the collision method for 2D objects

  1. Turn on Surface Collide.

  2. In the solver’s Collision tab, go to Particle Collisions and choose Particle.

Set the collision method for merged 2D and 3D objects

  1. Turn on Volume Collide and Surface Collide.

  2. In the solver’s Collision tab, go to Particle Collisions and choose Particle.

Use volumes as colliders

  1. Turn on Volume Collide only.

  2. In the solver’s Collision tab, go to Particle Collisions and choose Move Outside Collision.

Improve collision with low-resolution fluids

  1. Use the default combination of Volume Collide and Surface Collide.

Simulate fluid columns

  1. Turn on Volume Collide only.

  2. In the solver’s Collision tab, go to Particle Collisions and choose Move Outside Collision.

Use volume as collision object

  1. Turn on Volume Collide only.

  2. In the solver’s Collision tab, go to Particle Collisions and choose Move Outside Collision.

Leaking collision objects

Leaking often occurs with objects not being closed completely and Houdini isn’t able to create a proper collision volume. Very small objects are also prone to leaking. If possible, consider to increase the object’s scale to make it watertight.

In some cases, especially with thin collision objects, the FLIP Solver may not resolve the collision properly when simulating at relatively low resolutions. With very thin objects you may even need to create proxy collision geometry that generates a thicker Signed Distance Field (SDF). There are several ways to improve collision detection:

A common source for leaking are very fast particles or objects, although the object is big/thick enough and properly modeled. In those cases, the solver’s accuracy is insufficient. Go to the FLIP Solver SOP node’s Quality section and increase Global Substeps. Since substeps have strong influence on simulation times increase substeps only by 1 per test cycle. If the object is moving or deforming, increase the FLIP Collide node’s Velocity Substeps. Usually, Global Substeps and Velocity Substeps should match.

For low resolution simulations it can be useful to use both Volume Collide and Surface Collide for the same geometry. The volume collision will handle the bulk fluid, and the surface collision will avoid any particles leaking.

Make sure that surface colliders maintain topology during simulation, otherwise collision detection isn’t properly resolved in subframes. Use a Time Blend SOP and switch the playbar to sub-frames (see steps below) to verify the geometry interpolates properly.

  1. Press Alt + ⇧ Shift + G to open the Global Animation Options.

  2. For switching to sub-frames, turn off Integer Frame Values.

  3. If necessary, adjust Step.

Also check, if

  • the object has holes or corrupted geometry,

  • you turned on the correct Particle Collision method in the solver,

  • you turned on the correct mode (volume/surface) in the FLIP Collide node.

To...Do this

Show collision geometry

  • Turn on the FLIP Collide node’s Display/Render option.

  • In the FLIP Solver SOP node you can also control the collision geometry’s viewport representation. Turn on or off Visualization ▸ Show Collision for a wireframe model.

Clipping collision objects

Collision objects often interact with a water surface, for example in a beach setup: waves collide with rocks and cliffs and create splashes. To get a realistic behavior, particles inside the collision objects are removed. This process requires that the collision object is closed and solid. Objects with Surface Collide won’t work.

  1. If possible, close polygon holes or extrude surfaces to get a solid object.

  2. Check, if the FLIP Collide node’s Volume Collide option is turned on.

  3. Go to the FLIP Solver’s Collision sub-pane. Check, if Particle Collisions is set to Move Outside Collision.

The image below shows a water surface with closed and open collision geometry.

Solver collision settings

The solver’s Collisions sub-pane can resolve many issues with collision and leaking objects. The Particle Collisions dropdown menu lets you choose from three options.

  • With None, collision detection is completely deactivated.

  • Move Outside Collision is the default and the fastest collision handling method. This option provides the smoothest splashes, however it is not as accurate with fast-moving collision geometry. It is also the only method that works with volumetric collision objects.

  • Particle is mandatory, if at least one FLIP Collide node has the Surface Collide option turned on.

Moving and deforming objects

You can take the velocity of moving or deforming objects into account by turning on the FLIP Collide SOP’s Compute Velocity checkbox. With Velocity Scale it’s possible to control the intensity of the splashes. Higher values create stronger splashes and more impressive waves. If the splashes turn out too strong, increase the value to tame the particles.

Fluids

For beginners

SOP WORKFLOW

Particle Fluids (SOP)

Viscous fluids (SOP)

FLIP Configure tools (SOP)

Optimization (SOP)

Particle Fluids (DOP)

Viscous Fluids (DOP)

Oceans (DOP)

Optimization