Skip to content
Voro
  1. Geometry
  2. Solvers

Gas / Smoke

Gas / Smoke moves density, temperature and velocity through a grid. Buoyancy raises hot gas, density weight pulls it down, and dissipation fades the fields over time. Optional combustion adds fuel burning, heat and soot.

Place Gas / Smoke in the Geometry view, under Solvers. Start with the built-in emitter on, Resolution at 96 and Bound Size at 2. Its default position is below the domain center. Keep Combustion off while adjusting the smoke plume.

For point-driven emission, select a points resource in Resources > Connections and raise Points Density Rate or Points Temperature Rate. Both start at 0, so connecting points alone does not emit smoke. Turn off the built-in emitter if you want only the point source.

The geometry input accepts incoming geometry. Connections accepts sdf, points, velocity and xforms resources for obstacles, point emission, external flow and moving bodies.

The outputs are density, velocity, temperature, lookid and color fields. Connect velocity to Field Lines to inspect flow, or to another solver’s velocity input. Emitter Look Class stamps a field value; it does not select a finished rendered style. The current Path Trace scene workflow collects polygonal geometry and does not render these smoke fields directly.

  • Simulate controls advancement; Reset restarts the fields. Auto-Rebuild on Build Params and Rebuild control when structural changes take effect. Reset Fields clears the field state.
  • Resolution and the domain bounds set voxel size. Max Resolution reserves the grid pool. Begin with the default 40 Pressure Iterations before increasing grid detail.
  • Advection offers MacCormack for sharper transport and Semi-Lagrangian for a more conservative result.
  • Buoyancy responds to temperature above Ambient Temperature. Density Weight adds sinking. Density and Temperature Dissipation control how long the plume remains.
  • Vorticity Confinement adds curl to the flow. Turbulence adds animated curl noise; start with a small amplitude so you can still see the emitter’s motion.
  • Combustion On enables fuel burning. Fuel Emit Rate, Ignition Temperature, Burn Rate, Heat Release and Soot Yield control the burn. Check emitter temperature against ignition when no burning appears.
  • Force Field Strength scales a connected velocity resource. Show Preview, Preview Density and Preview Length affect the field preview, not the simulation grid.

The node’s velocity preview shows flow direction. It is not a smoke beauty render. Use a separate Field Lines node when you want its speed colors and length controls.

A denser three-dimensional grid increases memory use on all three axes. Keep the bounds around the plume and check emission and dissipation before raising Resolution.

Inputs

  • geometry points
  • sdf sdf collider
  • points points
  • velocity velocity field
  • xforms transforms

Outputs

  • density density field
  • velocity velocity field
  • temperature temperature field
  • lookid look id field
  • color color field
  • preview lines
  • preview_cd lines

Gas / Smoke

Auto-Rebuild on Build Params (Autorebuild) Toggle op('gas').par.Autorebuild
Default:
On
Options:
Off, On
Rebuild (Rebuildnow) Pulse op('gas').par.Rebuildnow
Default:
None
Simulate (Simulate) Toggle op('gas').par.Simulate
Default:
On
Options:
Off, On
Reset (Resetsolver) Pulse op('gas').par.Resetsolver
Default:
None

Preview

Show Preview (Previewshow) Toggle op('gas').par.Previewshow
Default:
On
Options:
Off, On
Preview Density (Previewdensity) Int op('gas').par.Previewdensity
Default:
12
Range:
2 to 48
Preview Length (cells) (Previewlength) Float op('gas').par.Previewlength
Default:
0.6
Range:
0 to 2

Outputs

Smoke Resources (Hdrsmokeres) Str op('gas').par.Hdrsmokeres

Read only.

Default:
"" (Empty String)
Density Output Resource (Densityname) Str op('gas').par.Densityname
Default:
smoke_density
Velocity Output Resource (Velocityname) Str op('gas').par.Velocityname
Default:
smoke_vel
Temperature Output Resource (Temperaturename) Str op('gas').par.Temperaturename
Default:
smoke_temp
Look-Class Output Resource (Lookidname) Str op('gas').par.Lookidname
Default:
smoke_lookid

Domain

Max Resolution (pool) (Maxresolution) Int op('gas').par.Maxresolution
Default:
128
Range:
16 to 256
Resolution (Resolution) Int op('gas').par.Resolution
Default:
96
Range:
8 to 256
Bound Size (cube) (Boundsize) Float op('gas').par.Boundsize
Default:
2
Range:
0.1 to 8
Bound Center X (Boundcenterx) Float op('gas').par.Boundcenterx
Default:
0
Range:
-10 to 10
Bound Center Y (Boundcentery) Float op('gas').par.Boundcentery
Default:
0
Range:
-10 to 10
Bound Center Z (Boundcenterz) Float op('gas').par.Boundcenterz
Default:
0
Range:
-10 to 10
Rebuild Grid (Rebuild) Pulse op('gas').par.Rebuild
Default:
None

Solver

Dt (Dt) Float op('gas').par.Dt
Default:
0.0166667
Range:
0.0001 to 0.5
Pressure Iterations (Iterations) Int op('gas').par.Iterations
Default:
40
Range:
1 to 200
Pressure Over-Relaxation (SOR) (Soromega) Float op('gas').par.Soromega
Default:
1
Range:
1 to 1.95
Advection (Advection) Menu op('gas').par.Advection
Default:
0
Options:
MacCormack (sharp), Semi-Lagrangian (conservative)
Solid Boundary (Boundary) Menu op('gas').par.Boundary
Default:
0
Options:
Free Slip, No Slip
Moving Boundary Slip (Boundaryslip) Float op('gas').par.Boundaryslip
Default:
0
Range:
0 to 1
Reset Fields (Resetfields) Pulse op('gas').par.Resetfields
Default:
None

Coupling

Coupling (Hdrcouple) Str op('gas').par.Hdrcouple

Read only.

Default:
"" (Empty String)
Clear Density In Bodies (Bodyclear) Toggle op('gas').par.Bodyclear
Default:
On
Options:
Off, On

Forces

Buoyancy (temperature) (Buoyancy) Float op('gas').par.Buoyancy
Default:
1.2
Range:
0 to 5
Density Weight (sink) (Densityweight) Float op('gas').par.Densityweight
Default:
0.08
Range:
0 to 1
Ambient Temperature (Ambient) Float op('gas').par.Ambient
Default:
0
Range:
-20 to 20
Vorticity Confinement (Vorticity) Float op('gas').par.Vorticity
Default:
0.35
Range:
0 to 2
Density Dissipation (Dissipationden) Float op('gas').par.Dissipationden
Default:
0.1
Range:
0 to 2
Temperature Dissipation (Dissipationtmp) Float op('gas').par.Dissipationtmp
Default:
0.25
Range:
0 to 2
Velocity Dissipation (Dissipationvel) Float op('gas').par.Dissipationvel
Default:
0
Range:
0 to 2
Turbulence / Wind (Hdrturb) Str op('gas').par.Hdrturb

Read only.

Default:
"" (Empty String)
Turbulence (curl-noise) (Turbulence) Float op('gas').par.Turbulence
Default:
0
Range:
0 to 20
Turbulence Scale (Turbulencescale) Float op('gas').par.Turbulencescale
Default:
2
Range:
0.05 to 20
Turbulence Speed (Turbulencespeed) Float op('gas').par.Turbulencespeed
Default:
1
Range:
0 to 10
Turbulence Octaves (Turbulenceoctaves) Int op('gas').par.Turbulenceoctaves
Default:
1
Range:
1 to 4
Turbulence Octave Gain (Turbulencegain) Float op('gas').par.Turbulencegain
Default:
0.5
Range:
0.05 to 1
Turbulence Lacunarity (Turbulencelacunarity) Float op('gas').par.Turbulencelacunarity
Default:
2
Range:
1.2 to 4
Turbulence Vertical Stretch (Turbulenceaniso) Float op('gas').par.Turbulenceaniso
Default:
1
Range:
0.25 to 4
Wind Direction (Windx) Float op('gas').par.Windx
Default:
0
Range:
-20 to 20
Wind Direction Y (Windy) Float op('gas').par.Windy
Default:
0
Range:
-20 to 20
Wind Direction Z (Windz) Float op('gas').par.Windz
Default:
0
Range:
-20 to 20
Wind Strength (Windstrength) Float op('gas').par.Windstrength
Default:
0
Range:
0 to 20
Force Field Strength (Plan vel:) (Fieldforce) Float op('gas').par.Fieldforce
Default:
1
Range:
0 to 20

Combustion

Combustion (Hdrcombust) Str op('gas').par.Hdrcombust

Read only.

Default:
"" (Empty String)
Combustion On (Combuston) Toggle op('gas').par.Combuston
Default:
Off
Options:
Off, On
Fuel Emit Rate (Fuelrate) Float op('gas').par.Fuelrate
Default:
4
Range:
0 to 20
Ignition Temperature (Ignitetemp) Float op('gas').par.Ignitetemp
Default:
2
Range:
0 to 40
Burn Rate (Burnrate) Float op('gas').par.Burnrate
Default:
4
Range:
0 to 40
Heat Release (Heatrelease) Float op('gas').par.Heatrelease
Default:
6
Range:
0 to 40
Soot (Smoke) Yield (Sootyield) Float op('gas').par.Sootyield
Default:
1.5
Range:
0 to 20
Fire Shaping (Hdrfireshape) Str op('gas').par.Hdrfireshape

Read only.

Default:
"" (Empty String)
Temperature Diffusion (Tempdiffuse) Float op('gas').par.Tempdiffuse
Default:
0
Range:
0 to 2
Radiative Cooling Rate (Coolingrate) Float op('gas').par.Coolingrate
Default:
0
Range:
0 to 10
Cooling Curve Exponent (Coolingexp) Float op('gas').par.Coolingexp
Default:
4
Range:
1 to 8
Cooling Reference Temp (Coolingmax) Float op('gas').par.Coolingmax
Default:
8
Range:
0.1 to 40

Emission

Box Emitter (Hdrbox) Str op('gas').par.Hdrbox

Read only.

Default:
"" (Empty String)
Emitter On (Emitteron) Toggle op('gas').par.Emitteron
Default:
On
Options:
Off, On
Emitter X (Emitterx) Float op('gas').par.Emitterx
Default:
0
Range:
-10 to 10
Emitter Y (Emittery) Float op('gas').par.Emittery
Default:
-0.7
Range:
-10 to 10
Emitter Z (Emitterz) Float op('gas').par.Emitterz
Default:
0
Range:
-10 to 10
Emitter Radius (Emitterradius) Float op('gas').par.Emitterradius
Default:
0.18
Range:
0.001 to 1
Emitter Falloff (Emitterprofile) Menu op('gas').par.Emitterprofile
Default:
0
Options:
Linear (soft), Smoothstep (round), Focused (core)
Emitter Density Rate (Emitterdensity) Float op('gas').par.Emitterdensity
Default:
3
Range:
0 to 10
Emitter Temperature Rate (Emittertemp) Float op('gas').par.Emittertemp
Default:
8
Range:
0 to 20
Emitter Look Class (Emitterlook) Menu op('gas').par.Emitterlook
Default:
0
Options:
Neutral, Smoke, Fire, Cloud, Nebula, Cel, God Ray
Emitter Velocity (jet) (Emittervelx) Float op('gas').par.Emittervelx
Default:
0
Range:
-20 to 20
Emitter Velocity (jet) Y (Emittervely) Float op('gas').par.Emittervely
Default:
0
Range:
-20 to 20
Emitter Velocity (jet) Z (Emittervelz) Float op('gas').par.Emittervelz
Default:
0
Range:
-20 to 20
Emitter Vel Pulse Amount (Emitterpulse) Float op('gas').par.Emitterpulse
Default:
0
Range:
0 to 1
Emitter Vel Pulse Freq (Hz) (Emitterpulsefreq) Float op('gas').par.Emitterpulsefreq
Default:
1
Range:
0.01 to 10
Emitter Dye Color (Emittercolorr) Float op('gas').par.Emittercolorr
Default:
0.5
Range:
0 to 1
Emitter Dye Color G (Emittercolorg) Float op('gas').par.Emittercolorg
Default:
0.5
Range:
0 to 1
Emitter Dye Color B (Emittercolorb) Float op('gas').par.Emittercolorb
Default:
0.55
Range:
0 to 1
Point Emitter (Plan points:) (Hdrpoint) Str op('gas').par.Hdrpoint

Read only.

Default:
"" (Empty String)
Points Emit Radius (Pointsradius) Float op('gas').par.Pointsradius
Default:
0.08
Range:
0.001 to 0.5
Points Density Rate (Pointsdensity) Float op('gas').par.Pointsdensity
Default:
0
Range:
0 to 10
Points Temperature Rate (Pointstemp) Float op('gas').par.Pointstemp
Default:
0
Range:
0 to 20
Points Velocity Rate (Pointsvelocity) Float op('gas').par.Pointsvelocity
Default:
0
Range:
0 to 0.2
Points Look Class (Pointslook) Menu op('gas').par.Pointslook
Default:
0
Options:
Neutral, Smoke, Fire, Cloud, Nebula, Cel, God Ray
Points Dye Color (Pointscolorr) Float op('gas').par.Pointscolorr
Default:
0.2
Range:
0 to 1
Points Dye Color G (Pointscolorg) Float op('gas').par.Pointscolorg
Default:
0.6
Range:
0 to 1
Points Dye Color B (Pointscolorb) Float op('gas').par.Pointscolorb
Default:
1
Range:
0 to 1

Look

Smoke Color (Heat Glow) (Hdrcolor) Str op('gas').par.Hdrcolor

Read only.

Default:
"" (Empty String)
Heat Tint Color (Heattintr) Float op('gas').par.Heattintr
Default:
1
Range:
0 to 1
Heat Tint Color G (Heattintg) Float op('gas').par.Heattintg
Default:
0.45
Range:
0 to 1
Heat Tint Color B (Heattintb) Float op('gas').par.Heattintb
Default:
0.12
Range:
0 to 1
Heat Ramp Temp Lo (Templo) Float op('gas').par.Templo
Default:
0
Range:
-20 to 40
Heat Ramp Temp Hi (Temphi) Float op('gas').par.Temphi
Default:
8
Range:
0.01 to 40
Color Weight (density->alpha) (Colorweight) Float op('gas').par.Colorweight
Default:
1
Range:
0 to 8