Houdini 19.0 Vellum

Interaction with other Vellum constraint types

On this page

Overview

Vellum fluids are seamlessly integrated into the Vellum framework. Vellum fluids are able to interact with other Vellum objects of other different constraint types, except Vellum hair and strings: pressure, struts, cloth, tet, and sheet match types. All interactions in the simulation can be performed through a single Vellum Solver DOP.

Tip

When you simulate interactions with fluids involved (except cloth - see tip below), go to the Vellum Solver and start with 5 for Substeps, 20 for Constraint Iterations, and 0 for Smoothing Iterations.

Tip

For fluids with high Viscosity and/or Surface Tension, Substeps should be between 10 and 20. The same applies to simulations with fluids and cloth.

Fluid-fluid interaction

One example for fluid-fluid interaction is water and oil. The setup below uses two different fluid emitters. The video above shows a high-resolution simulation. Alternativtely, you can work with the Vellum Configure Grains SOP node’s Phase attribute.

Learn more about the Phase setup on the Fluid phases page.

Add a water pool

  1. In the Network Editor add a Box SOP node.

  2. Rename the node to water.

  3. Set Scale to 2, 0.07, 1.5.

  4. To align the box with the ground, change Center.Y to 0.035.

Create water

  1. On obj level, select the water node.

  2. From the Vellum shelf, choose Vellum Grains.

  3. Dive into the water node, and select the Vellum Configure Grains node.

  4. Set Type to Fluid, and decrease Particle Size to 0.015 to adjust the number of particles.

  5. Set Packing Density to 2to make the particles match the source geometry.

  6. Set Mass to Calculate Uniform.

  7. Turn on Jitter Scale and set it to 0.25 to avoid regular patterns.

  8. For Viscosity enter 0.3, for Surface Tension enter 5.

Add oil drops

  1. Go to obj level, and create a Geometry OBJ node.

  2. Rename the node to oil and dive inside.

  3. Add four Sphere SOP nodes and place them randomly with the tool. Make sure that Center.Y is between 0.3 and 0.6.

  4. Adjust the spheres' Uniform Scale to random values around 0.15.

  5. Create a Merge SOP node and connect the spheres to it.

  6. Select the Merge SOP node and turn on its Display/Render flag.

Create oil

  1. On obj level, select the oil node

  2. From the Vellum shelf, choose Vellum Grains.

  3. Dive into the oil node, and select the Vellum Configure Grains node.

  4. Set Type to Fluid, and decrease Particle Size to 0.015 to adjust the number of particles.

  5. Set Packing Density to 2to make the particles match the source geometry.

  6. Turn on Jitter Scale and leave the default value.

  7. Set Density to 700 to make the drops float on top of the water.

  8. Change Viscosity to 5 and Surface Tension to 10.

Enclose water and oil

  1. Return to obj level, and add another Box SOP node.

  2. Rename the node to container.

  3. Dive into the container node and set the Size values to 2, 2, 1.5.

  4. On obj level, select the container node.

  5. From the Collisions shelf tab, choose Static object.

  6. Turn off the container node’s Display/Render flag to make it invisible.

Adjust the solver

  1. Return to obj level and dive into the DOP Network.

  2. Select the Vellum Solver node.

  3. For Time Scale enter 0.5 to give you a better impression of what’s happening.

  4. Set Substeps to 10, Constraint Iterations to 20, and Smoothing Iterations to 0.

Simulate the scene. The oil drops will fall down and create crown splashes. During the first frames, the fluids appear to mix, but separate shortly after and rise. After a while you’ll see oil spots on the water surface. For a higher resolution, decrease Particle Size.

Grains-fluid interaction

One example for fluid-grain interaction is water, interacting with sand. The video above shows a high-resolution simulation.

For this scene you can use the setup from fluid-fluid interaction, although you have to change a few settings:

Create sand

  1. Rename the oil node to sand.

  2. Dive into the sand node, and select the box1 node.

  3. Select the Vellum Configure Grain SOP node.

  4. For Particle Scale enter 0.008 to control the number of particles.

  5. For Vellum grains, reset Packing Density to 1.

  6. Turn on Jitter Scale and leave the default value.

  7. Set Type to Grain and Density to 1700, the value for dry sand.

  8. Turn on the friction and weight parameters under Physical Attributes.

Modify water

  1. Dive into the water network and select the box1 node.

  2. Set Size.Y to 0.02, and Center.Y to 0.01.

  3. Select the Vellum Configure Grain SOP node.

  4. Change Particle Size to 0.008 to control the number of particles.

  5. For Viscosity, enter 0.1 and for Surface Tension, enter 15.

  6. Turn on Repulsion Weight and decrease it to 0.01 to make fluid and grains interact.

Adjust the solver

  1. Return to obj level, and select the Vellum Solver node.

  2. Change Substeps to 5, and Constraint Iterations to 20.

  3. Go to Advanced . Under Open CL, turn off OpenCL Neighbor Search to make fluids and grains interact.

The sand drops will fall into the water and burst, leaving flat sand “piles” behind. The water continues to interact with the sand and covers the shallow parts.

Cloth-fluid interaction

One example for fluid-cloth interactions is cloth, catching a fluid. For different results you can fine-tune cloth, fluid, and solver if necessary. The video above shows a high-resolution simulation.

Create the cloth object

  1. Start with a Grid SOP object.

  2. Rename it to cloth, and dive into it.

  3. Set Size to 2.5 by 2.5.

  4. Change Rows and Columns to 50 to get more resolution.

  5. Return to obj level and select the Grid SOP node.

  6. From the Vellum shelf, choose Vellum Cloth.

Adjust the cloth and pin border points

  1. In the viewport, press 2 to activate the top view.

  2. Inside cloth select the Vellum Constraints SOP node.

  3. Change Constraint Type to Cloth.

  4. Click on next to Pin Points and select all border vertices of the grid.

  5. Confirm your selection with Enter.

  6. In the viewport, go back to perspective mode by pressing 1.

Follow these steps to create the emitter

  1. Return to obj level in the network view.

  2. Create an emission object, for example a Sphere SOP.

  3. Rename the node to emitter, and dive into the node.

  4. Inside emitter, set Uniform Scale to 0.25.

  5. Move the sphere upwards along the Y axis to place it above the grid.

Configure the fluid

  1. Go back to obj level again. Keep the emitter node selected.

  2. From the Vellum shelf, choose Vellum Grains.

  3. Dive into emitter again, and select the Vellum Configure Grains SOP.

  4. Change Type to Fluid.

  5. For Particle Size, enter 0.02. This value can be fine-tuned later to get more particles.

  6. Turn on Jitter Scale. Use the default value.

  7. Turn on Viscosity, and enter 0.1.

  8. Turn on Surface Tension, and use a value of 10.

Create a container

  1. On obj level, create a Box SOP node and rename it to container,

  2. Select the container node.

  3. Open the Collision shelf, and select Static Object

  4. Dive into Box SOP, select box1, and set Uniform Scale to 2.5.

Adjust the solver

  1. Return to obj level, and dive into DOP Network node.

  2. There, select vellumsolver1.

  3. For Time Scale, enter 0.5 to slow down things.

  4. Change Substeps to 10.

More ideas

Other, typical examples for interactions between Vellum fluids and Vellum objects are

  • Fruits, falling into water (softbodies - fluids)

  • Beach ball, floating on top of a water surface (balloons - fluids)

  • Sand castle, washed away by water (grains - fluids)

  • Water balloon (balloons - fluids)

  • Foam on water (fluids - fluids)

  • Water, running through a hose (softbodies - fluids)

  • Detergent tabs (softbodies - fluids)

Example files

Vellum Fluid-Fluid Interaction

This example demonstrates how to create two interacting Vellum fluids with different viscosity and surface tension settings, for example water and oil.

Vellum Fluid-Grains Interaction

This example demonstrates how to create Vellum fluids interacting with Vellum grains. Please make sure to turn off Advanced ▸ OpenCL Neighbor Search in the Vellum Solver DOP node. This is necessary to prevent the simulation from disappearing particles.

Vellum Fluid-Cloth Interaction

This example demonstrates how to create Vellum fluids interacting with Vellum cloth.

Vellum

Cloth

Softbody

Fluid

Constraints

Collisions

Advanced