Houdini 20.0 Vellum

Fluid tips and troubleshooting

How to

Vellum fluids seamlessly integrate into the Vellum solver. You can simulate interactions between Vellum fluids and Vellum grains or Vellum cloth, for example. Vellum hair is currently not supported. For best results it can be necessary to change specific attributes and parameters.

To...Do this

Optimize solver settings

Substeps play an important role for the fluid’s quality and stability. You can find them in the Vellum Solver DOP node’s Common tab under Iterations. We recommend at least 5 Substeps, while more substeps give you better results in pure fluid simulations. For high Viscosity and/or Surface Tension settings, we recommend values between 10 and 20. Note that higher substeps will also increase cooking time.

To optimize pure fluid simulations you can decrease Constraint Iterations to values around 20, and Smoothing Iterations can usually be set to 0.

In simulations with fluids and other constraint types like grains, softbodies, or cloth, more substeps and less iterations are usually the way to go. The settings below are a good starting point. Set

  • Substeps to 10,

  • Constraint Iterations to 20 and

  • Smoothing Iterations to 5.

Achieve continuous fluid emission

Fix disappearing particles in fluid-grains simulations

When you simulate grains and fluids, and particles disappear, go the Vellum Solver DOP node and turn off Advanced ▸ OpenCL Neighbor Search.

Work with friction

The impact of Friction and Dynamic Friction on Vellum fluids is limited, but can be useful for fluids, interacting with Vellum cloth. Both of these are multiplied by the corresponding attribute on the two things that are colliding. Friction also helps to slow down fluids and prevent them from spreading out too far. Friction can be applied per-particle on the Vellum Solver DOP/SOP (DOP/SOP) or the Vellum Configure Grain SOP. The parameters of the Vellum Configure Grain node act as multipliers on the solver parameters.

  • Friction corresponds with the solver’s Static Threshold parameter.

  • Dynamic Friction corresponds with the solver’s Dynamic Scale parameter.

If you want to apply friction to an object that interacts with Vellum fluids (or grains, softbodies, etc.), you can add an Attribute Create SOP and create friction and dynamicfriction float attributes. The object’s friction values are then multiplied with the friction values of the interacting Vellum material.

Improve fluid-grains interaction

Low Repulsion Weight values (< 0.1) will help to improve interaction between fluids and Vellum grains. With high Repulsion Weight values, Vellum grains will hardly mix with fluid particles.

Use the Minimal Solver

The Minimal Solver is used by the Vellum Brush SOP and isn’t recommended for end users.

Simulate multi-phase fluids

Multi-phase simulations are set up using the Vellum Configure Grains SOP node’s Phase attribute, which you can use to simulate mixing fluids like water and oil. Fluids with

  • equal Phase values, but different Viscosity and/or Surface Tension settings often stick together in touching areas.

  • different Phase values, but no Viscosity difference will interact, but behave like two fluids with no friction between them

  • different Phase values, and Viscosity and/or Surface Tension will separate more and hardly stick together.

For a description of how to set up a scene with three different fluids and the Phase attribute, please go to the Vellum fluid phases page.

Fix problems with low density fluids

In Vellum fluids, simulations tend to become unstable when Density is very low (< 10). You might also see exploding particles in simulations, where fluids have a high variance in Density values, for example 100 and 20000. Even high Substeps might not able to fix this issue. We recommend equalizing the Density values until the simulation becomes stable.

Decrease simulation time with high-viscosity fluids

Simulations can become slow with very high Viscosity values. You can add a dvisc vector attribute to the points before the simulation to warm start the viscosity solver.

  1. Add an Attribute Wrangle SOP.

  2. In the VEXpression input field, type v@dvisc;. Don’t forget the semicolon.

Avoid terracing

Sometimes you can see layered or terraced fluid particles. To avoid this, go to the Vellum Configure Grains SOP node and turn on Dither Surface.

Get splashier Vellum fluids

By default, acceleration is limited to avoid exploding particles. For splashier fluids, this default might be too low. To change this on the Vellum Solver DOP node, go to Advanced ▸ Motion and increase Max Acceleration. This attribute is, on the other hand, also suited to decelerate splashes.

If the amount of splashes is not sufficient, you can also increase the Vellum Configure Grains SOP node Particle Scale to create more particles.

Make particles match the sourcing object

Fluid particles can be “over-packed” with the Vellum Configure Grain SOP’s Packing Density. Higher values will displace particle positions to create a better representation of the sourcing object. Normally, values between 1.5and 2.0 are enough.

With grains, Packing Density should not be greater than 1.

Delete stray particles

Stray particles often occur with fluid-object collisions or in other situations, where particles are highly accelerated. The POP Kill DOP can be configured in various ways to get rid of stray particles. In SOP-based networks, the POP Kill node is placed inside the Vellum Solver SOP:

  1. Double click the solver to dive into it.

  2. Press ⇥ Tab to invoke the TAB menu. From there, add the POP Kill.

  3. Connect the POP Kill DOP’s output with the input of the FORCE node.

The Rule tab lets you create VEXpressions with thresholds for speed, position, or other attributes.

  1. Turn on Enable to make the VEXpression editable.

  2. For example, if you want to remove all particles with a speed greater than 2.5, enter

if (length(@v) > 2.5)
    dead = 1;

Particles can also be removed through helper geometry, e.g. a box, sphere or any other object.

  1. Open the Bounding tab.

  2. Turn on Enable.

  3. From the Bounding Type dropdown menu choose an entry and adjust the bounding geometry.

  4. For Bounding Object or Bounding Volume in SOP networks, use SOP Path to specify the bounding object or volume.