Controllers
All controllers can be either a primitive shape (sphere, parallelepiped, cylinder) or a VDB grid. The exact VDB field names expected by the solver are configured in the solver tab under
IO -> Input Naming.
The GAZ Source node functions as both a source and a collider, depending on the selected mode.
Sources
The solver accepts VDB fields and geometry directly connected to the sources and colliders ports. Field name mappings, application modes, and multipliers are controlled in
GAZ Solver -> IO -> Input Naming/Default Sourcing Policy
.For finer control over each individual VDB, the
GAZ Source
node is used, allowing additional noise to be applied directly at the emission stage in the solver.Note: Despite the widespread use of the term
density
in Houdini as the primary field, a deliberate choice was made to use the correct term soot
within the solver, since density
is also used in its original physical sense.Temperature
is specified in Celsius. Keep this in mind when providing VDBs from standard Pyro presets, as they should be scaled by a factor slightly above the solver node’s Ignition Temperature.Note
All VDB grids will be converted to an internal format with the same resolution as used by the solver, so a large source with low resolution will result in inefficient memory usage.
In such cases, it is better to use a Force-type controller.
For maximum performance, the VDB voxel size should match the GAZ Solver node exactly and have no transformations, otherwise, the solver node will have to perform an expensive resampling.
Colliders
Fast-moving colliders should also provide their velocity to minimize solver artifacts. For VDBs, this is a separate velocity grid; for polygons, it is the
v
attribute on points (e.g., computed using the Point Velocity node).At high speeds, reducing the CFL parameter in the solver node may be necessary, as otherwise, the collider may “consume” the substance instead of pushing it away.
Forces
For applying forces, the
GAZ Force
node is used. It acts as a combination of global forces, a vector field, and a scalar mask field.All VDBs provided as force sources are passed to the solver as-is (via NanoVDB), making this type of controller ideal for large, low-detail vector VDB fields.
If high resolution is required, comparable to the solver’s voxel size, it is recommended to use a source in add or mix mode instead of a force.