Houdini 20.5 Nodes Dynamics nodes

Gas Axis Force dynamics node

A microsolver that applies a force around an axis to a velocity field.

On this page
Since 19.0

Overview

The Gas Axis Force node exerts a force around a specified line segment. The forces can be applied to a vector field representing velocities, and can cause the velocities to do the following:

  • Move toward or away from the axis (suction component)

  • Travel along the line segment (axis component)

  • Spin around the axis (orbit component)

Note

Axis and orbit forces directly modify the velocity vectors, but the suction force works on the bound Divergence Field. This relies on a subsequent pressure projection DOP (such as Gas Project Non Divergent Multigrid) to incorporate the suction effect. The Gas Axis Force microsolver is suitable for fluid simulations, since fluid solvers have an internal pressure projection operator.

Axis and orbit forces are applied in a cylindrical region around the line segment. Within this tube, a speed is prescribed for each force, along with a strength value. The Gas Axis Force DOP will try to drive the velocity field toward the goal vectors based on the speed, and the strength determines how hard the force will work to reach this goal.

Parameters

Start Point

Starting point of the line segment. This line segment is the axis for the force.

End Point

End point of the line segment. This line segment is the axis for the force.

Influence Distance

The forces are applied in a cylindrical region around the line segment. This parameter controls the radius of this cylinder. Increasing this value will extend the active region of this force.

Global Strength

A global strength multiplier for the force. Suction, axis, and orbit components are affected by this strength. Increase this parameter to uniformly amplify the effect of this node.

Apply as

Controls how the axis and orbit forces are applied to the velocity field. Directional Drag splits the incoming velocity vector into components that point in the axial and orbital directions, then modifies these parts independently. If one of the forces has 0 strength, this mode leaves the respective velocity component unchanged (this includes part of the velocity vectors that point at the line segment). Full Drag first assembles the full goal velocity, then drives the incoming vectors toward the goal. This mode is similar to applying targetv and airresist attributes in POPs. When set to Force, the goal velocities instead act like an additive force. That is, the goal velocities are multiplied by the applicable strength, then scaled by the timestep, and added to the destination field.

Note

Directional Drag and Full Drag define a goal velocity field in the active cylinder, then drive the incoming velocity values toward this goal. These modes are stable. They will not overshoot the goal. Force mode continuously adds to the velocity field and may give rise to very high speeds if left unchecked.

Suction Force

Strength

Strength of the suction force that pulls toward the line segment. Positive values pull toward the axis, whereas negative values will blow outwards (away from the axis).

Set this parameter to 0 to turn off the suction force.

Note

Suction force does not directly touch the Velocity Field, but is instead applied to the Divergence Field. This relies on a subsequent pressure projection node to transfer these divergence values to the velocity field. Fluid solvers (such as Pyro Solver (Sparse)) have an internal pressure projection routine that takes care of this step.

Warning

When working on a sparse smoke simulation, only parts of the line segment that lie in the simulation active region will produce suction.

Pump Thickness

Specifies thickness of the tube around the line where divergence values are set. This value should be larger than the voxel size of the simulation fields to avoid aliasing. Increasing this parameter will also amplify strength of the suction force.

Suction Along Axis

Allows you to vary the amount of induced divergence (or strength of suction) along the line segment. The left and right sides of this ramp correspond to the Start Point and End Point, and the vertical axis spans from 0 to the Strength value.

Axis Force

Speed

Speed Range

The range of goal speeds in the direction of the line segment. Negative speed signals that the goal velocity points in the opposite direction (from the End Point toward the Start Point).

Speed Along Axis

Allows you to vary the goal axis speed along the line segment. The left and right sides of this ramp correspond to Start Point and End Point, and the vertical axis covers the given Speed Range.

Strength

Strength

Strength of the axis force that generates motion in the direction of the line segment. When applied as drag, larger values of this parameter will align the incoming velocities more closely with the goal. When applied as force, increasing strength will increase the magnitude of the additive force.

Set this parameter to 0 to turn off the axis force.

Note

The final strength of the force at any point in the cylinder is the product of Strength with the two modifiers from the Strength Along Axis and Strength Away from Axis ramps.

Strength Along Axis

Allows you to vary the strength of the axis force along the line segment. The left and right sides of this ramp correspond to Start Point and End Point, respectively. The vertical axis spans 0 to 1, and the evaluated value of this ramp acts as a multiplier for Strength.

Strength Away from Axis

Allows you to vary the strength of the axis force based on the distance to the line segment. The left side of this ramp represents the center of the active cylinder (distance of 0 to the axis), while the right side corresponds to its outer edge (at a separation of Influence Distance). The vertical axis spans 0 to 1, and the evaluated value of this ramp acts as a multiplier for Strength.

Orbit Force

Speed

Speed Range

The range of goal speeds around the line segment. With the axis directed from Start Point to End Point, positive speeds correspond to right-handed rotation around the line. Negative speeds generate rotation in the opposite direction.

Speed Falloff

Controls the relationship between orbital speed and orbital distance. When set to Constant, the speed is independent of distance. Orbital speed is directly proportional to distance in Scale by Distance mode (similar to a rotating rigid body). When Scale by Inverse Distance is selected, orbits are fastest at the line segment and gradually become slower as they get further away from the center of the active cylinder.

Speed Along Axis

Allows you to vary the goal orbit speed along the line segment. The left and right sides of this ramp correspond to Start Point and End Point, and this ramp’s vertical axis covers the given Speed Range.

Strength

Strength

Strength of the orbit force that generates rotational motion around the line segment. When applied as drag, larger values of this parameter will align the incoming velocities more closely with the goal. When applied as force, increasing strength will increase the magnitude of the additive force.

Set this parameter to 0 to turn off the orbit force.

Note

The final strength of the force at any point in the cylinder is the product of Strength with the two modifiers from the Strength Along Axis and Strength Away from Axis ramps.

Strength Along Axis

Allows you to vary the strength of the orbit force along the line segment. The left and right sides of this ramp correspond to Start Point and End Point, respectively. The vertical axis spans 0 to 1, and the evaluated value of this ramp acts as a multiplier for Strength.

Strength Away from Axis

Allows you to vary the strength of the orbit force based on the distance to the line segment. The left side of this ramp represents the center of the active cylinder (distance of 0 to the axis), while the right side corresponds to its outer edge (at a separation of Influence Distance). The vertical axis spans 0 to 1, and the evaluated value of this ramp acts as a multiplier for Strength.

Strength Mask

Use Mask Field to Attenuate Strength

When this checkbox is turned on, the strength of the applied forces is scaled by contents of the Mask Field. Values of this field are remapped to the 0-1 range and applied as multipliers on top of Global Strength.

Mask Range

Values in the Mask Field are remapped from this range to 0-1.

Remap the Mask Field

When this checkbox is turned on, the remapped mask values (from Mask Range) are additionally passed through the Mask Ramp.

Mask Ramp

This ramp’s vertical axis is the strength modifier and the horizontal axis is the remapped mask value.

Bindings

Velocity Field

Name of the velocity field. Axis and orbit forces are applied directly to the velocities in this field.

Stencil Field

A scalar field to use as a stencil for where to perform this node’s computations. Voxels whose stencil value strictly exceeds 0.5 will have the operation applied, while the rest will be left unchanged.

Note

If a stencil field isn’t provided or does not exist, the operation will be performed everywhere.

Divergence Field

Name of the fluid’s goal divergence field. Suction force affects this field.

Note

Suction relies on a subsequent pressure projection node to modify velocities based on divergence. Fluid solvers (such as Pyro Solver (Sparse)) have an internal pressure projection routine that takes care of this step.

Mask Field

Name of the mask field. When Use Mask Field to Attenuate Strength is turned on, values of this field affect the strength of the applied forces.

Advanced

Use OpenCL

Use the OpenCL device to accelerate computations.

Dynamics nodes