←ALL OPERATORS
> simulations

Flow

simulations/flow·v1.5.1
IN:5  OUT:4

The Flow operator simulates smoke and fire in voxel bricks allocated around the smoke every frame, so the fluid can travel anywhere and its cost follows the smoke rather than a fixed box. An Emission Field feeds density, color, heat, fuel and velocity, fuel burns into heat, soot and an expanding blast, and a Bounds Field, a Collision Field and a Force Field contain, push and steer the flow alongside buoyancy, gravity, wind and turbulence.

The operator outputs a POPX Field with Weight, Color and Velocity for other field operators, particles advected by the flow with optional trails, and a lit volume render with fire glow that can be composited over a Render TOP. The simulation runs as a feedback loop (Initialize, Start, Play), and a Target Particle Feedback Loop POP adds forces to the particles on top of the flow.

PAGEFlow
Voxel SizeVoxelsizeSets the size of a voxel in world units. Halving it doubles the detail; the cost follows the active voxels, since the simulation is unbounded.
Max Active Voxels (M)MaxvoxelsThe simulation budget in millions of voxels. Past it the faintest smoke is dropped and the operator warns. Changing it reinitializes the simulation.
Display Active VoxelsDisplayactivevoxelsDraw the active bricks as wireframe boxes.
Active VoxelsActivevoxelsThe number of voxels simulated this frame, updated every 5 frames.
Budget UsedBudgetusedThe share of Max Active Voxels in use, read back every 5 frames. At 100 % the faintest smoke is dropped and the operator warns.
GPU MemoryGpumemoryAn estimate of the GPU memory the budget reserves: the brick pool, the brick map and the lighting.
Bounds FadeBoundsfadeThe distance, in world units, over which the smoke fades out as it approaches an open face of the bounds. 0 removes it at the face.
Display BoundsDisplayboundsDraw the active region's bounding box (red).
Pressure IterationsPressureitersThe pressure solver passes per frame. More is more incompressible and slower. Set by Quality unless Quality is Custom.
Viscosity IterationsDiffusionitersThe viscosity solver passes per frame (with Viscosity above 0). Set by Quality unless Quality is Custom.
Activation ThresholdActivationthresholdThe smoke density that keeps a brick active. Higher drops faint smoke sooner and uses fewer bricks; lower keeps thinner smoke and uses more.
PaddingPaddingThe bricks kept active around the smoke.
Brick LifetimeBricklifetimeThe frames a brick stays active after its smoke falls below the threshold.
Time ScaleTimescaleSpeed multiplier on the time step. 0 freezes and 2 doubles.
Time StepTimestepThe time step per frame in seconds, 1 divided by the cook rate (read-only). Time Scale multiplies it.
Max SubstepsMaxsubstepsThe most steps the simulation splits a frame into when the smoke moves fast. More keeps fast smoke sharp, at a higher cost. 1 never splits.
CFL ConditionCflHow many voxels the smoke may travel in one step before the frame is split into more steps. Lower is more accurate for fast smoke and costs more steps.
SubstepsSubstepsThe number of steps the current frame is split into (from the fastest smoke, up to Max Substeps).
Output FieldOutputfieldOutputs the smoke as a POPX Field for the operators downstream. Off saves its cost.
Output ResolutionOutputresolutionThe Output Field's cells along the longest side of its region. A 3D region is scaled down to fit the cell cap; a flat region keeps its full resolution.
Display FieldDisplayfieldDisplays the Output Field (its voxels) in the viewer. Needs Output Field on.
InitializeInitializepulseInitializes the POP from its input and parameters. The simulation starts as an empty grid, the Emission Field's grid.
StartStartpulseStart the simulation from the initialized state.
PlayPlayPause or play the feedback loop.
StepSteppulseAdvance the simulation by one frame while paused.
PAGEFields
Emission Field POPEmissionfieldpopThe field that feeds the simulation. Its grid is the simulation grid, and each frame it adds mass, color, temperature and velocity where it is occupied.
Color AttributeEmissioncolorattrThe emission field's color attribute (vec4, RGB premultiplied by occupancy).
Weight AttributeEmissionweightattrThe emission field's density attribute: the mass added per second, times Density Scale, where the field is occupied.
Density ScaleEmissiondensityscaleSets the mass added per second per unit of the emission field's Weight.
Temperature AttributeEmissiontempattrThe Emission Field's attribute that sets how hot each voxel is emitted. Empty uses the field's Weight, scaled by Temperature Scale.
Temperature ScaleEmissiontempscaleHow much heat the emission releases per second. Heat makes the smoke rise and expand, and ignites fuel. 0 emits no heat.
Fuel AttributeEmissionfuelattrThe Emission Field's attribute that sets how much fuel each voxel emits. Empty (or missing on the field) uses the field's Weight.
Fuel ScaleEmissionfuelscaleHow much fuel the emission releases. Fuel burns above the Ignition Temperature and releases heat and smoke. 0 emits plain smoke.
Velocity AttributeEmissionvelattrThe emission field's velocity attribute (world units per second): a moving voxelized object pushes the fluid.
Velocity ScaleEmissionvelscaleMultiplies the emitter's velocity. Where the emission field is occupied the fluid takes that velocity, so a moving voxelized object pushes the smoke.
Bounds Field POPBoundsfieldpopA field whose Dist defines static walls. Cells with a positive Dist are solid and the fluid slips along them. Outside the field's box is solid too.
Display Field BoundsDisplayfieldboundsShow the Bounds Field's wall surface (its Dist zero level, polygonized) in the viewer.
Dist Attribute (SDF)BoundsdistattrThe bounds field's signed distance attribute, negative in the fluid and positive in the wall.
Weight Attribute (Optional Mask)BoundsweightattrOptional: the bounds field's occupancy used as the fluid mask (1 fluid, 0 wall) instead of deriving it from the distance.
Boundary SoftnessBoundarysoftnessWidth (world units) over which the density fades into a wall when the mask comes from the distance.
Collision Field POPCollisionfieldpopA field with Dist and Velocity for a moving object. It is solid inside its surface, and the fluid flows around it and is pushed and dragged by it.
Display Collision FieldDisplaycollisionfieldShow the Collision Field's wall surface (its Dist zero level, polygonized, red) in the viewer.
Dist AttributeCollisiondistattrThe collision field's signed distance attribute, negative inside the solid object and positive in the fluid.
Velocity AttributeCollisionvelattrThe collision field's velocity attribute (world units per second).
Force Field POPForcefieldpopA field whose vector attribute pushes the fluid as an acceleration, applied to every cell inside the field's box.
Force AttributeForceattrThe force field's vector attribute (3 components): the acceleration the fluid receives, world units per second squared, times Force Scale.
Force Weight AttributeForceweightattrOptional 0 to 1 attribute of the force field that masks the force. Empty, or missing on the field, applies the force everywhere in the field's box.
Force ScaleForcescaleMultiplies the force field's acceleration. 0 turns it off.
PAGESmoke & Fire
VorticityVorticityVorticity confinement: puts back the small swirls that the grid smooths away. 0 turns it off.
ViscosityViscositySets how thick the fluid is, as a kinematic viscosity. 0 is none, high values are honey-like.
DampingVelocitydampingSets how fast the velocity decays, per second. 0 is none.
DissipationDensitydissipationHow fast the mass (Weight) fades, per second.
Fade OutFadeoutA density removed from the smoke every second, on top of Dissipation, so thin smoke vanishes in a finite time and releases its bricks. 0 turns it off.
Ignition TemperatureIgnitiontempThe temperature above which the fuel burns. The emission heats it (Fields page, Temperature Scale).
Burn RateBurnrateHow fast burning fuel is used up, per second. Higher is a shorter, fiercer flame.
Heat ReleaseHeatreleaseThe heat burning fuel releases. It drives the flame up (Buoyancy) and out (Expansion), and makes it glow (Render page, Fire).
Smoke ReleaseSmokereleaseThe smoke (soot) burning fuel releases.
Burn ExpansionBurnexpansionHow hard burning fuel pushes outward. It pushes only while the fuel burns, unlike Expansion, which pushes wherever the smoke is hot.
PAGEForces
Apply BuoyancyApplybuoyancyHot, light gas rises against Buoyancy Direction, heavy gas sinks (Gas Weight).
Buoyancy MultiplierBuoyancymultiplierOverall strength of the buoyancy acceleration.
Gas WeightGasweightHow heavy the substance is. 0.1 is a light smoke that rises when hot, 1 is a heavy gas that sinks.
Cooling RateCoolingrateHow fast the temperature returns to ambient, per second.
ExpansionExpansionThermal expansion: hot cells push outward, a source of outward flow that grows with the temperature.
Apply GravityApplygravityEnable a constant gravity acceleration on the velocity.
Gravity MultiplierGravitymultiplierMultiplies the Gravity vector.
Wind SpeedWindspeedScales the Wind.
TurbulenceTurbulenceThe strength of a swirling noise force (curl noise: it stirs the smoke without compressing it), in world units per second squared.
Turbulence SizeTurbulencesizeThe size of the turbulence swirls, in world units.
Turbulence SpeedTurbulencespeedHow fast the turbulence pattern changes over time.
PAGEAdvect
AdvectAdvectRun a particle system through the flow: the particles read the velocity at their world position (trilinear) and move with it.
Target Particle Feedback Loop POPTargetpareticlepopA Feedback Loop POP downstream to re-inject as the particle state. Empty: the internal loop.
SpeedSpeedMultiplier on the flow velocity the particles follow.
Flow DragFlowdragHow strongly the flow pulls the particles back after a force pushes them. 0 lets forces accelerate them freely.
Maximum ParticlesMaxparticlesThe particle buffer's size.
Birth RateBirthrateSets the number of particles born per second.
Spawn From DensitySpawnSpawn the particles where the flow's density is above Density Threshold instead of from the input points.
Density ThresholdDensitythresholdThe density below which the smoke spawns no particles. With Life From Density, particles die below half of it.
Spawn JitterSpawnjitterHow far from its voxel center a particle is born, in voxels. 0 places it at the center, 1 anywhere inside the voxel.
Spawn SeedSpawnseedChanges where in the smoke the particles are born.
Life (Seconds)LifeA particle's life in seconds.
Life Variance (Fraction)LifevarianceRandomizes each particle's life: a fraction of Life, or with Life From Density, a fraction around half the Density Threshold.
Random SeedRandomseedChanges the random life variance and the order the input points are used (Spawn off).
Lookup Density ColorLookupdensitycolorColors the particles with the smoke density they sit in, remapped per channel below. Not used with the Opacity Shadow Map.
Add Fire ColorLookupfirecolorAdds the fire glow of each particle's temperature, from the Fire Ramp and Fire Intensity, to the density color.
Channel Mask (RGBA)ChannelmaskWhich RGBA channels of the density are read.
From LowFromlowSets the low end of the input range of the color remap, per RGBA channel.
From HighFromhighSets the high end of the input range of the color remap, per RGBA channel.
To LowTolowSets the low end of the output range of the color remap, per RGBA channel.
To HighTohighSets the high end of the output range of the color remap, per RGBA channel.
TrailsTrailsOutput trails (the Trail POP) instead of the points.
Always CookAlwayscookThe trails cook every frame even when nothing pulls them.
Trail Length (Seconds)LengthSets the trail length in seconds.
Trail Increment (Frames)IncSets the number of frames between trail samples.
Oldest Point FirstOldestpointfirstOrder the trail points oldest first.
PAGERender
Render VolumeRendervolumeDraws the flow as a lit, raymarched volume in any Render TOP that includes this operator and in the Geometry Viewer.
Render ParticlesRenderparticlesDraw the particles (with Material) in your Render TOP.
Opacity Shadow MapOpacityshadowmapLight the particles with the volume's lighting (an opacity shadow map from the density).
MaterialParticlesmatThe particles' material (a Point Sprite MAT when empty).
Render TOPRendertopThe Render TOP whose lights light the smoke, the medium and the particles. With Compose With Scene, the volume is composited over its image.
Compose with SceneComposewithsceneOutputs the Render TOP's image with the volume composited over it, occluded by the scene's geometry. That Render TOP then does not draw the volume.
ScatteringScatteringSets how much light the smoke scatters toward the camera. The Medium is not affected.
AbsorptionAbsorptionHow much light the smoke absorbs along the ray. The Medium is not affected.
Density ScaleDensityscaleMultiplies the density read from the flow.
SharpenSharpenCrisps the smoke by pushing fine wisps and edges away from their surroundings at render time. 0 turns it off.
AnisotropyAnisotropyHow the smoke scatters light: 0 evenly in every direction, above 0 forward (smoke lit from behind glows at its edges), below 0 back toward the light.
Multiple ScatteringMultiplescatteringAdds the light that bounces around inside the smoke: thick smoke gets a soft, bright interior instead of a dark core.
Multiple Scattering AmountMsamountScales the multiple scattering.
OctavesMsoctavesThe number of light bounces the multiple scattering approximates. More octaves carry light deeper into dense smoke, for a brighter, softer interior.
Octave DepthMsdepthHow far each bounce reaches into the smoke. Higher is a deeper, milkier glow; lower keeps the bounced light near the lit side.
Ambient IntensityAmbientintensityThe strength of the ambient light, added to the ambient light of the render. 0 leaves the shadowed smoke black.
Shadow Step SizeLightstepsizeThe distance between the shadow samples toward each light, in light cells. Smaller is finer and slower; 1 is usually enough.
Medium DensityMediumdensityThe density of a uniform fog filling the Bounds, lit by each light and shadowed by the smoke. Needs Custom Bounds or Emission Field.
Fire IntensityFireintensityHow brightly hot smoke glows, with a blackbody color from its temperature that is not shadowed. 0 turns the glow off.
Temperature RangeFirerangeThe temperatures the glow spans: dark red at the first, white hot at the second.
Open Fire Ramp EditorOpenfirerampeditorOpens the editor of the custom fire ramp.
Reset Fire RampResetfirerampResets the custom fire ramp.
Fire Lights SmokeFirelightThe fire lights the smoke around it: the soot above and around a flame picks up its glow.
Fire LightFirelightamountHow brightly the fire lights the smoke.
Fire Light RadiusFirelightradiusHow far the fire light reaches, in world units.
Point SizePointsizeThe particles' point size.
AlphaAlphaThe particles' alpha.
PAGECommon
Free Extra GPU MemoryFreeextragpumemFree memory that has accumulated when output memory has grown and shrunk.
Input 0 POP - Emission Field
Input 1 POP - Bounds Field
Input 2 POP - Collision Field
Input 3 POP - Force Field
Input 4 POP - Particles In
Output 0 POP - Field
Output 1 POP - Particles Out
Output 2 POP - Particle Trails
Output 3 TOP - Scene Composite