Houdini 22.0 Nodes Copernicus nodes

Pyro Vortex Confinement Force Copernicus node

Applies a vortex confinement force to a velocity field.

On this page
Since 22.0

Note

Although COP Pyro is in COPs, you need DOP level permissions to use it. This means that COP Pyro is not available in Houdini Core, but only in Houdini FX, Houdini Apprentice, Houdini Indie, and Houdini Education.

This node applies a vortex confinement force to a velocity field. By strengthening existing vortices, it helps compensate for the loss of detail caused by diffusion during the fluid solver’s diffusion stages.

Parameters

Signature

The VDB type that the source accepts.

See Signatures for more information.

Activation

Turns this the effect of this node on and off. This node is only active when this value is 1.

Force

Operation

Controls how the force is combined with the incoming velocity field.

Set

Replaces the incoming velocities with the force values.

Add

Adds the force values to the incoming velocities.

Rotate

Rotates the force to align with the direction of the incoming velocities.

Type

Controls the method used to recover detail lost through diffusion. The first-order method uses first derivatives to approximate the local vorticity gradient. This method is fast and stable, but tends to introduce more numerical diffusion, resulting in greater loss of fine-scale detail. The second-order method uses a higher-order approximation that better preserves energy and small-scale features. This method can produce more detailed results, but is slower and may introduce instabilities. These can be mitigated using the Positive Diffusion Scale and Negative Diffusion Scale parameters.

Confinement Scale

Controls the strength of the vortex confinement force.

Positive Diffusion Scale

Controls the amount of positive diffusion applied. Positive diffusion improves stability by smoothing high-frequency noise and sharp numerical spikes in the vorticity field.

Negative Diffusion Scale

Controls the amount of negative diffusion applied. Negative diffusion acts as an anti-diffusion process, concentrating energy toward the centers of vortex structures instead of spreading it outward.

Kernel Size

Controls the size of the neighborhood stencil used to compute curvature at each pixel. Larger values generally produce smoother curvature results. This parameter has a similar effect to Frequency Separation, as it removes high-frequency detail that can cause unnatural jittering.

Target Energy

Applies smooth clamping based on the energy of the band. The target energy determines the maximum energy level at which curl can be amplified. This can help reduce unstable or noisy behavior.

Adaptive Confinement

Restricts vortex confinement to areas where vorticles are more likely to develop. This can help reduce the unnatural jittering that vortex confinement can introduce throughout the simulation.

Frequency Separation

Use Frequency Separation

Enables frequency separation, allowing you to control which swirl sizes are affected by this node.

Min Swirl Size

Defines the smallest swirl size to include. Swirls with a width equal to this value define the starting frequency of the band. When turned off, all swirl sizes up to Max Swirl Size are included. Increase this value together with Max Swirl Size, or set it close to Max Swirl Size, to affect only larger swirls.

Max Swirl Size

Defines the largest swirl size to include. Swirls with a width equal to this value define the ending frequency of the band. Increase this value together with Min Swirl Size to affect only larger swirls.

Threshold Mask

Threshold Volume

Mask out the effect using the threshold field. Threshold fields are intended to provide harsh on/off effects, but the range can be used to soften the transition.

Threshold Range

The value of the threshold field is mapped from this range to 0-1 and applied as a multiplier on top of Scale. The default 0.01 to 0 range is designed to concentrate the effect on the edges and empty regions of the threshold field, but not inside it. When the threshold field is a Vector VDB, this value represents the length of the given vector field.

Use Ramp

Turns on the Threshold Ramp, to change how the threshold field should scale the effect between the minimum and maximum values of Threshold Range.

Threshold Ramp

This ramp controls how the threshold field values are mapped between the minimum and maximum values of Threshold Range.

Control Mask

Control Volume

Mask out the effect using the control field. Control fields are usually used the same way as masks, and represent a smooth engagement of the effect.

Control Range

The value of the control field is mapped from this range to 0-1 and applied as a multiplier on top of Scale. The default 0 to 1 range is designed to concentrate the effect on regions with higher control field values. When the control field is a Vector VDB, this value represents the length of the given vector field.

Use Ramp

Turns on the Control Ramp, to change how the control field should scale the effect between the minimum and maximum values of Control Range.

Control Ramp

This ramp controls how the control field values are mapped between the minimum and maximum values of Control Range.

Angle Mask

Angle Mask

Mask out the effect by the angle between the velocity field values and a direction vector.

Angle Direction

The reference vector used to calculate the angle deviation against the velocity field.

Spread Angle

The value of the calculated angle is mapped until this angle range to 1-0 and applied as a multiplier on top of Scale. At the default 90 degrees, the effect is strongest where the vectors align, and gradually diminishes to zero as the angle reaches this value.

Use Ramp

Turns on the Angle Control Ramp, to change how the angle deviation should scale the effect between the aligned vectors and the given Spread Angle.

Angle Control Ramp

This ramp controls how the angle deviation is mapped between the aligned vectors and the given Spread Angle.

Axis Mask

Axis Mask

Mask out the effect along an axis direction. Rather than requiring the construction of VDBs to represent this, this allows direct specification of the world space range over which the effect is to be scaled.

Axis Direction

The reference vector along which the effect will be masked.

Axis Range

The position along the axis mask is mapped from this range to 0-1 and applied as a multiplier on top of Scale.

Use Ramp

Turns on the Axis Control Ramp, to change how the position along the axis should scale the effect between the minimum and maximum values of Axis Range.

Axis Control Ramp

This ramp controls how the position is mapped between the minimum and maximum values of Axis Range.

Inputs

v

Vector VDB to use as the original velocities.

direction

A Vector VDB allowing per-voxel control of the force direction.

threshold

A Float or Vector VDB to use as a threshold field. If it is a Vector VDB, its length is used.

control

A Float or Vector VDB to use as a control field. If it is a Vector VDB, its length is used.

angledir

A Vector VDB allowing per-voxel control of the angle mask direction.

Outputs

v

The modified velocities after the vortex confinement force is applied.

See also

Copernicus nodes