Birth Inferno operator

The Birth Inferno operator can be used to set up an inferno simulation.

Inferno is tyFlow’s GPU-accelerated fluid simulation system, built on the Zenith engine. It can simulate smoke, fire, explosions and other effects using a sparse voxel grid that expands dynamically as fluid propagates through the scene. All Inferno operators work together within a single flow to define how a simulation is set up, driven, and exported. For any given Inferno simulation or recall setup, a Birth Inferno operator is always required at the top of the Inferno event/operator list in order to initialize the fluid simulation or recall process. For a general overview of the Zenith engine and how Inferno simulations work, see the Zenith FAQ.

Only one Birth Inferno operator can be active at a time. If multiple Birth Inferno operators exist in a flow, only the active one will drive the simulation. Clicking Active on an inactive operator will deactivate the currently active one and take its place.


Birth Inferno Rollout

Simulation

  • Active: toggles this operator as the active inferno simulation driver. The button label reflects the current state.

  • Reset: immediately resets the simulation to its start frame.

  • Reset with flow: when enabled, the simulation will reset automatically whenever the tyFlow simulation resets. When disabled, the simulation must be reset manually using the Reset button.

By disabling “reset with flow”, you can simulate Inferno fluid in a manner that will survive a simulation reset - this allows you to simulate with live feedback if you make changes to your setup. As a simple example: create a new flow with an active Birth Inferno operator. Then add a sphere or any other type of object to an Inferno Emitter operator below it. Disable “reset with flow” in the Birth Inferno operator and drag the object around in the scene - you should see the Inferno simulation update continuously each time the simulation resets due to the changes made to the object.

  • Start frame: the frame on which the Inferno simulation should begin.

Grids

  • Grid source: controls how the simulation grids are initialized.

Initialize new grids: a fresh simulation will be initialized using the specified voxel size.

Initialize grids from VDB: simulation grids will be initialized from an existing VDB file.

  • Voxel size: the size of each simulation voxel in world units. Only available when grid source is set to “Initialize new grids”.

Voxel size is one of the most impactful settings in the simulation. Smaller voxels produce finer detail but increase VRAM usage and computation time significantly.

VDB

The following settings are available when grid source is set to “Initialize grids from VDB”.

  • VDB filename: the path to the VDB file from which the simulation will be initialized.

  • Density: when enabled, the density grid with the specified name will be imported from the VDB file

  • Temperature: when enabled, the temperature grid with the specified name will be imported from the VDB file.

  • Units: when enabled, the imported temperature values will be converted from the specified unit system into the simulation’s internal normalized units.

  • Fuel: when enabled, the fuel grid with the specified name will be imported from the VDB file.

  • Color: when enabled, the color grid with the specified name will be imported from the VDB file.

  • Velocity: when enabled, the velocity grid with the specified name will be imported from the VDB file.

  • Velocity mode: controls how velocity data is stored in the source VDB.

Vector grid: velocity is stored as a single vector grid with the specified name.

Scalar grids: velocity is stored as three separate scalar grids. Specify names using the x/y/z name fields.

  • Vel scale: a scale multiplier applied to imported velocity values.

Solver

  • Advection: the method used to transport fluid quantities through the velocity field each simulation step.

Backtrace: a simple single-pass backward trace. Fastest but may exhibit dissipation over time.

BFECC: a bidirectional error compensation and correction method. More accurate than backtrace at some additional cost.

BFECC (conserve VRAM): very similar to regular BFECC, with some additional VRAM conserving techniques (uses 30% less VRAM, for a small performance cost).

MacCormack: similar to BFECC in accuracy and cost, using a different error correction scheme.

Conservation
  • Velocity: controls the reach of the pressure solver, which enforces incompressibility in the velocity field. Higher values allow pressure to propagate further, producing more fluid and turbulent motion.

  • Material: when enabled, material (density, temperature, fuel) values will be conserved during the advection step (relative to the specified strength value), resulting in a natural, dissipation of those values as they propagate through larger volumes of space. When disabled, material values will not be conserved during the advection step, resulting in a potential increase or buildup in material over time.

Vorticity
  • Vorticity: controls the amount of rotational energy preserved in the simulation. Higher values produce more detail, and swirling, turbulent behavior.

  • Adaptive vorticity: when enabled, vorticity will be scaled automatically based on the direction of normals within the advancing fluid domain.

Enabling “adaptive vorticity” in the Birth Inferno operator will use the default adaptive vorticity control values - for finer control, you can override the default adaptive vorticity values using an Inferno Vorticity operator.


Advanced Rollout

  • Evaluation order: controls when in the tyFlow pipeline the inferno solver is evaluated each frame.

Before particles: the solver evaluates before particle operators are processed.

Before PhysX: the solver evaluates after particles but before any PhysX simulation.

After PhysX: the solver evaluates after PhysX simulation has completed.

  • Simulation scale: a global multiplier applied to all simulation forces. Useful for scaling an existing simulation without adjusting individual force parameters.

  • Time scale: a global time multiplier applied to the simulation. Values above 1 speed the simulation up; values below 1 slow it down.

  • Max VRAM usage %: when enabled, the simulation will monitor GPU VRAM usage and attempt to stay within the specified percentage of the available total VRAM. When disabled, CUDA will attempt to spill over into system RAM when VRAM is full.

If you are running a simulation that is using nearly all of your available VRAM, and you notice cube-like artifacts form in your fluids, they are the result of the “Max VRAM usage” parameter preventing further sparse cube expansion in the scene. While you can disable the VRAM usage limiter, it comes at a cost (see below) - a better solution is usually to use an Inferno Bounds operator to constrain your simulation to areas of the scene visible to the camera (conserving VRAM by preventing sparse cube expansion into areas of the scene that will never be seen or rendered). You can also increase voxel size in order to simulate fluid in the same domain with fewer voxels and therefore less VRAM (at the cost of visual quality).

Disabling the Max VRAM usage parameter will allow CUDA to spill over into VRAM - but doing so comes at a serious performance cost. Once system RAM is used by CUDA, the simulation will run much slower, than if the simulation is restricted only VRAM.

Advection

By increasing the scalar/vector correction parameters when simulation time step is small (1⁄2 frame or lower), you can fight against the extra numerical dissipation that will occur during those small timesteps (and potentially retain more detail).

  • Scalar correction: the error correction factor applied during scalar grid (density, temperature, fuel) advection. Only active when advection is set to BFECC or MacCormack.

  • Vector correction: the error correction factor applied during vector grid (velocity) advection. Only active when advection is set to BFECC or MacCormack.

Dynamic Time Step

  • Enable dynamic time step: when enabled, each simulation frame will be subdivided into multiple sub-steps, improving stability for fast-moving fluids.

  • Mode: controls how the number of sub-steps per frame is determined.

Adaptive: the number of sub-steps is determined automatically each frame based on the maximum velocity magnitude in the grid.

Keyframed: the number of sub-steps is set to a fixed, animatable value.

  • Velocity threshold: the maximum velocity magnitude (in world units) allowable per sub-step. If the grid’s maximum velocity exceeds this value, additional sub-steps will be added (adaptive mode only).

  • Max steps: the maximum number of sub-steps allowed per frame (adaptive mode only).

  • Steps: the number of sub-steps to evaluate per frame (keyframe mode only).


  • Trace velocity: controls the velocity tracing step length used during advection, as a fraction of a voxel size. Smaller values will result in fluid tracing more steps through the velocity field during advection, resulting in potentially more tracing precision, at the expense of overall advection symmetry. A value of 0 disables multi-step tracing entirely.

  • Source buffer: the number of additional sparse voxel layers to pre-allocate around emitter regions at the start of the simulation.

  • Continuous emission: when enabled, emitter contributions are injected into the grid at every sub-step. When disabled, emission only occurs once per frame.

  • Multi-grid conservation: when enabled, a multi-resolution multigrid solver is used for pressure solving. Helps to preserve overall fluid shape at different voxel sizes (allowing you to simulate at a low res in order to tune overall behavior, and then get a similar result at a higher res once you’re ready to add detail) but potentially less accurate than the standard solver.

  • PCG conservation: when enabled, a preconditioned conjugate gradient solver is used for pressure solving. A more accurate method, but may be slower.

  • Perceptual color mixing: when enabled, fluid color values are blended in a perceptually-accurate color space, producing more natural-looking color transitions between smoke of different colors.

  • Advection quality: controls the sampling quality of the overall advection algorithm. Higher modes will produce fewer artifacts at the cost of speed.

History Independent Mode

  • Only update on time change: when enabled (while the simulation mode is set to history independent), the simulation will only update when the time slider position changes.

Adaptive Grid Rollout

The adaptive grid removes sparse voxels that fall below activity thresholds, reducing memory usage and computation. Each channel can independently contribute to determining which voxels remain active.

Grid Expansion

  • Min velocity: when enabled, only sparse grids with voxels whose velocity magnitude exceeds the specified threshold will be retained in the grid.

  • Min density: when enabled, only sparse grids with voxels whose density value exceeds the specified threshold will be retained in the grid.

  • Min temperature: when enabled, only sparse grids with voxels whose temperature value exceeds the specified threshold will be retained in the grid.

  • Min fuel: when enabled, voxels only sparse grids with vhose fuel value exceeds the specified threshold will be retained in the grid.


Density Rollout

  • Default color: the base color assigned to density voxels that have no explicit color value set by an emitter.

  • Dissipation: the rate at which density dissipates each step.

  • Dissipation time: controls whether the dissipation rate is applied per frame or per second.


Fuel Rollout

Buoyancy

  • Force: the upward force applied to the velocity field by the presence of fuel.

Temperature

  • Ignition: the temperature threshold at which fuel begins to ignite and burn.

  • Burn: the amount of heat released into the temperature grid when fuel combusts.

Burn

  • Propagation: the rate at which burning spreads to adjacent fuel-containing voxels.

  • Pressure: the outward expansion force generated by combustion. Higher values produce more explosive expansion.

  • Smother: controls how much fuel density suppresses burning. At 1.0, voxels at maximum fuel density will fully extinguish combustion.

  • Dissipation: the rate at which fuel is consumed per simulation step.

Smoke

  • Density: the amount of density added to the density grid when fuel burns.

  • Color: when enabled, smoke released by burning fuel will use the specified color rather than the simulation’s default density color.


Temperature Rollout

  • Units: the temperature unit system used for all temperature input values in the simulation.

Temperature reference points by unit system:
Celsius: -273.15 = absolute zero, 20 = room temperature, 1200 = fire
Fahrenheit: -459.67 = absolute zero, 70 = room temperature, 2200 = fire
Kelvin: 0 = absolute zero, 300 = room temperature, 1500 = fire
Normalized: -1 = absolute zero, 0 = room temperature, 6 = fire

Buoyancy

  • Force: the upward force applied to the velocity field by elevated temperature. Negative values can be used to create downward-moving effects.

  • Relativity: controls how buoyancy force is computed relative to temperature. At 0, buoyancy is applied uniformly to all voxels. At 1, its application is entirely dependent on temperature (hot fluid will rise faster than cool fluid).

  • Cooling: the rate at which temperature dissipates each step.

  • Cooling time: controls whether the cooling rate is applied per frame or per second.

  • Cooling shrinkage: controls how much negative pressure is added to the simulation in response to temperature decrease. Positive values cause fluid to pull inward as it cools, negative values will push it outwards.

  • Propagation: the rate at which temperature diffuses through the grid each simulation step.