Reactions User Guide

Project Velocity

This node ensures that the velocity of a Volume Grid has no unintentional expansion or contraction. This is one of two fundamental solver steps in any fluid simulation (the other is Advection). In the simple case this node makes the grid divergence free, such that the flow does neither expand nor contract. This is fundamental for the flow to look realistic. Without it, smoke could for example vanish at random points in space and be created at other random points, creating a noisy mess rather than a plausible smoke animation.

The Project Velocity node can also create controlled expansion or contraction. For example, we may want a fireball to expand outwards. The amount and shape of the expansion is controlled by the Divergence Control parameters.


Velocity Channel

Select a channel of type Vector from the connected Volume Grid here that this node will modify.



This value controls the expansion sensitivity of the active velocity region. A high value causes the active region to expand quicker, creating a larger buffer zone around the cloud.

The Project Velocity node may change the active region of the velocity channel. For example, if Divergence Control (see below) causes expansion of a fire ball, a larger region of space will be covered by the velocity channel. The Dilation Sensitivity parameter controls how much of the velocity bubble around the fire ball will be captured on the grid. If too little of it is captured, it will not capture the shape of the flow and cause boxing artifacts. If too much is captured, memory and processing time will be wasted on empty space, slowing down the simulation.


This value specifies the size of the buffer zone around the active region that the solver will use. A small buffer zone may cause the volume shape to be squeezed into the grid shape. A large buffer zone will require more memory and simulation time.


The Dilation Channel specifies the base active region. Sensitivity and Padding will be applied to this region to obtain the active region for all volume channels.

Divergence Control

These parameter allow to control divergence based on the values of another grid channel. For example, using the temperature channel as an input allows us to make hotter regions to expand more than colder regions. Using a dedicated divergence channel allows to control divergence from different sources like emitter geometry or the Combustion node.


Select a channel of type Fog from the connected Volume Grid here that will control the velocity divergence.


This curve maps values from the selected input channel to divergence values. Positive divergence values cause expansion, negative values cause contraction.


This value is a convenience multiplier for the remapped divergence. It is useful to keep the vertical Y values of the remapping curve roughly in the range between -1.0 and 1.0, then use a larger Scale value.



Selects the volume channel that the collision objects were voxelized into. This must be a channel of type Binary.


Specifies the number of iterations used for the collision solver. A value of one is sufficient for many simulations. More iterations can be necessary for the flow to fit to the collision geometry better when high velocities and complex collision geometry as used.