Houdini 20.0 Nodes Geometry nodes

FLIP Container geometry node

Creates a domain for a SOP FLIP fluid simulation.

On this page
Since 19.5

This node creates and initializes a SOP particle fluid domain. For custom shapes, connect a closed object or volume to the input. The connected object doesn’t have to be rectangular, it can also move and even deform. If there’s no connected geometry or volume, the domain’s size and position is controlled through the node’s parameters.

The Particle Separation parameter controls the domain’s resolution, but also the number of particles and voxels, and the resolution of collision objects.

The FLIP Container node also provides the fluid’s physical attributes, for example density or viscosity.

When you turn on the FLIP Solver SOP node’s Waterline option, you can see a layer of particles. A closer look reveals that particles are also created outside the domain boundaries. This source band represents the influence of the environment and injects velocity and pressure to the fluid inside the domain. At the domain boundaries, particles are constantly sourced and deleted to maintain waterlevel and number of particles. So even with an obviously static fluid surface you can observe a change in the number of particles. When you go to the solver and add an Additional Velocity to the waterline, you can clearly see how particles are sourced and deleted.

The boundary frame is always present, even if there is no waterline. You can test this by adding a FLIP Boundary SOP node and emit particles from an object. The particles fall through the domain and they are deleted outside the domain’s boundaries.

Note

Note that the boundary particles are also taken into account when you surface the particles and the mesh becomes bigger. You can clip the outside particles with the parameters in the Particle Fluid Surface SOP node’s Bounding Box sub-pane.

Parameters

Particle Separation

This parameter controls the interaction distance between the fluid’s particles. Smaller values decrease the distance between your particles making the fluid more impressive, but may also slow down your simulation, since it will take longer to simulate. Decreasing particle separation means more particles that weigh less, but add up to the same mass per unit area.

For correct simulation results, also use this value in the FLIP Solver’s Particle Separation in the Setup sub-pane.

Note

Particle Separation also controls the resolution of collision objects, introduced through a FLIP Collide node.

Grid Scale

A scaling factor used to calculate the division size of the advection grid from the particle separation. Note that smaller values increase the number of voxels and RAM usage. The default should be good for most applications, but you can get more details with smaller values. For more detailed fluids you can try values between 1.5 and 1.7.

Note

Grid Scale also influences the resolution of collision objects, introduced through a FLIP Collide node.

Domain

Implicit Bounds

In most cases, domains are convex containers with more or less box-like shapes. Instead of an expensive VDB surface, Implicit Bounds creates a fast convex hull to represent the container’s geometry. Open Node Info and choose View Output ▸ Container. The HULL point group contains the container object’s vertices, while surface is 0,0,0.

Size

Set the domain’s dimensions.

Center

Set the domain’s position.

Forces

Gravity

The amount of force to apply to a unit-massed object. Because the force is scaled by the mass, objects will undergo this acceleration. The force’s direction is controlled through the Gravity Direction parameter.

If your units are meters, seconds, and kilograms, 9.81 is a good value for Earth’s gravity. With feet, seconds, and pounds, 32 is a good value for Earth’s gravity.

Gravity Direction

You can control the direction of the Gravity force by defining a vector. The default of 0,-1,0 simulates the natural direction along the Y axis.

Density

Density

Here you set a uniform mass density value for the entire fluid. The default value of 1000 represents the density of water in kg/m^3.

Varying Density

Turn on this parameter for a per-particle density. The density values have to be defined separately, e.g. through an Attribute Wrangle SOP node, connected to the FLIP Source node’s fourth input. You can find an example with a workflow description under Point variable density: multi-density.

Note

With Varying Density you have to turn off the FLIP Solver SOP node’s Advanced ▸ Solving ▸ Solve Pressure With Adaptivity option.

Surface Tension

Surface Tension

Surface tension flattens irregular features and pulls water into droplets. It is useful for small-scale simulations where the effect of surface tension is often more important than gravity in controlling the dynamics. For large values, additional solver substeps are often required to ensure stability.

Surface Tension

The value of the fluid’s surface tension. Note that high values often require additional solver substeps to ensure stability.

Enable Surface Tension Blur

This option smoothes forces and helps to reduce artefacts with high Surface Tension settings.

Blur Radius

The amount of blurring, when Enable Surface Tension Blur is on. Higher values give smoother results, but you might lose detail as well.

Viscosity

Viscosity

Turn on the viscosity solver.

Varying Viscosity

When turned on, viscosity can be defined per point to create fluids with spatial viscosity.The viscosity values have to be defined separately, e.g. through an Attribute Wrangle SOP node, connected to the FLIP Source SOP node’s fourth input. You can find an example with a workflow description under Point variable visosity: honey.

Viscosity

This is the uniform viscosity value for the entire fluid. With FLIP fluids, the default value for water is typically 0. Higher values create more viscous and rigid fluids, e.g. oil, honey, or tar.

Slip on Collision

Causes the collision velocity to match the fluid velocity when close to collision objects. This allows a viscous fluid to slide along the collision object.

Slip Scale

The amount of fluid velocity to blend into the collision’s tangential velocity, where a value of 1 indicates fully matching the fluid velocity.

Attributes

Add Vorticity Attribute

Compute the vorticity of the fluid velocity field and mix it into the vorticity attribute on the particles.

Add ID Attribute

Add a unique ID attribute to each particle.

Add Age Attribute

When turned on, the solver tracks the particles' age during simulation.

Add Relative Density Attribute

Compute the relative density of each particle. This attribute represents how many particles are present in the neighborhood of a given particle. Low values correspond to isolated particles, and high values correspond to tightly packed neighborhoods.

Add Rest Attribute

Creates a rest attribute, which can be used to track the position of the fluid over time. Turn this on to map noise or textures in the liquid shader.

Dual Rest Attributes

Creates a rest2 attribute that is one back from the main rest attribute, allowing you to run longer simulations without popping by blending between the two attributes.

Frames Between Reset

Number of frames before resetting the rest attributes.

Frame Offset

Which frame the rest attributes will be reset on. If you are prerolling the simulation, delaying the rest attribute initialization until after the preroll will usually give a better result.

Custom Attributes

Enter the number of custom attributes you want to create for the fluid, or click the + and - buttons to control their number.

Point Attribute Name

Enter the name of the attribute you want to create, e.g. temperature or Cd for color.

Rank

Choose the attribute’s data type from the drop-down menu.

Scalar

Attributes like viscosity or temperature consist of a single value; they're scalars.

Vector

If the attributes requires three values, e.g. Cd, then it’s a vector.

Value

This is the attribute’s background value. For scalars there is one field, vectors require three input values.

Custom Volume Name

To create a custom attribute, attribute-field pairs have to be defined. By default, both names are the same. Turn on this option only if you really have to.

Inputs

Sources

This output expects the fluid particles.

Container

This output expects the domain’s volume representation.

Collisions

This output expects the collision geometry’s volume representation.

Geometry for Container

The object or volume you want to use as a domain container. The connected object has to be closed.

Outputs

Sources

This output provides the fluid particles.

Container

This output provides the domain’s volume representation.

Collisions

This output provides the collision geometry’s volume representation.

See also

Geometry nodes