Houdini 20.0 Nodes Dynamics nodes

POP Fluid dynamics node

Controls local density by applying forces between nearby particles.

On this page
Since 17.0

POP Fluid applies forces between nearby particles of a POP Object in an attempt to maintain the goal Particle Separation. This node can be used to capture simple fluid effects (such as cohesion and basic surface tension) with points.


First Input

This optional input has two purposes.

First, if it is wired to other POP nodes, they will be executed prior to this node executing. The chain of nodes will be processed in a top-down manner.

Second, if the input chain has a stream generator (such as POP Location, POP Source, or POP Stream), this node will only operate on the particles in that stream.


First Output

The output of this node should be wired into a solver chain.

Merge nodes can be used to combine multiple solver chains.

The final wiring should go into one of the purple inputs of a full-solver, such as POP Solver or FLIP Solver.



Turns this node on and off. The node is only active if this value is greater than 0. This is useful to control the effect of this node with an expression.


This is activation of the node as a whole. You can’t use this parameter to deactivate the node for certain particles.


Only affect a group of points (created with, for example, a Group POP or Collision Detection POP) out of all the points in the current stream.

Time Scale

An overall scale applied to the actual timestep.


Projection Type

This parameter governs which particle properties will be affected. Best results are achieved in Update Positions mode.

Update Positions

The particle positions and velocities will be updated.

Update Velocities

Only particle velocities will be updated.

Update Forces

Each particle’s force attribute will be updated.

Velocity Blend

When Projection Type is set to Update Velocities, this parameter controls how the constraint velocity is to be combined with the particle’s velocity. Value of 1 causes the particle’s velocity to be completely overridden, while value of 0 ignores the constraint velocity altogether.

Particle Separation

The desired distance between nearby particles.

Constraint Iterations

The number of iterations of constraint projection to perform. More iterations allow Particle Separation to be matched more closely at the cost of running time.

Constraint Stiffness

The stiffness determines how closely Particle Separation will be matched. Stiffer constraints have a lower tolerance for deviation from the goal, but can be unstable.

Maximum Acceleration

The maximum acceleration that can be applied to a particle by constraints. Lowering this parameter can help in mitigating instabilities.

Tensile Radius

Particles apply repulsive forces on their neighbors to prevent clustering. This parameter determines the distance (as a fraction of the particle’s kernel radius) at which this force is equal to Tensile Strength.

Tensile Strength

Magnitude of the repulsive forces between nearby particles.


Enabling viscosity causes velocity diffusion, resulting in more coherent motion among nearby particles.

Vorticity Confinement

Counteracts energy dissipation by maintaining vortices.

Use OpenCL

Use the OpenCL device to accelerate computations.


Neighborhood Size

The desired number of points in each particle’s neighborhood.

Adaptive Range

Range of allowed kernel radii, as multiples of a global radius. Disabling this option forces use of a fixed kernel radius for all particles.

Max Neighbors

The number of points in a particle’s neighborhood is not allowed to exceed this value. Only applies when Adaptive Range is turned off.

Construction Frequency

Number of times neighborhoods are constructed in a substep.


It is only safe to reduce Construction Frequency below 1 if particles are not being deleted from the bound geometry.



The name of the simulation data to apply the POP node to. This commonly is Geometry, but POP Networks can be designed to apply to different geometry if desired.

Stiffness Attribute

The name of the point attribute that determines the constraint stiffness for each particle. Note that the value of this attribute will be scaled by Constraint Stiffness to obtain the actual stiffness.

Output Density

When enabled, the last computed density for each particle is stored in the specified attribute.

Dynamics nodes