Fumaris | GPU Smoke & Fire Simulation for Blender

Venous_FX in Simulations & Effects


Fumaris 1.3.1 Documentation

Fumaris is an interactive GPU smoke and fire simulator for Blender. Use thelive volume preview to shape motion quickly, then bake standard OpenVDBsequences for Blender's native volume shading and rendering workflow.

Fumaris 1.3.1 adds a persistent Simulation GPU selector, timeline-linked ranges, cache protection/version controls and improved live preview lighting. Existing caches are preserved. The complete manual and release notes are included with every platform download.

Simulation GPU, Cache Protection and Preview Lighting

Choose Simulation GPU beside the simulation controls or in Fumaris preferences. Refresh lists supported Vulkan devices without starting a simulation. Save Blender preferences to keep the UUID-based choice. Stop the active job before switching GPUs. A missing saved GPU reports an error instead of silently choosing another. Automatic retains the previous selection behavior and honors launch environment overrides.

New Slot picks the next unused versioned cache slot. Protect locks a slot against Bake/Delete. Replacing or deleting an existing bake asks for confirmation. Switching slots shows that bake and hides the others.

Flame Light adds warm light from flames into nearby smoke. Light Scattering fills shadowed billows. Both affect only the interactive preview and do not alter the saved VDB or final render material.

Requirements

  • Blender 5.2 or newer
  • Windows x64, Linux x64 (glibc 2.35+), or Apple Silicon Mac (macOS 26+)
  • A Vulkan-capable GPU with a current driver
  • Enough GPU memory for the chosen resolution and sparse block capacity
  • Local writable storage for OpenVDB caches

NVIDIA GPUs have been tested under Windows and Linux. Intel Arc has also beentested under both operating systems. AMD uses the same vendor-agnostic Vulkanpath but has not yet been qualified, so AMD compatibility is not promised inthis release. Apple M4 (16 GB) has been tested using Metal through bundledMoltenVK. Intel Macs are unsupported. Mac unified memory is shared with Blenderand macOS; leave enough room for both.

Installation

  1. Download the ZIP matching your operating system. Do not extract it.
  2. Open Edit > Preferences > Extensions in Blender.
  3. Open the upper-right menu and choose Install from Disk.
  4. Select the Fumaris ZIP and enable the extension if prompted.
  5. Select an object and open Physics Properties > Fumaris.

GPU pipelines compile on first use of each feature. Driver caches can speedup later runs. Stop simulations and restart Blender after updating.

Quick Start

Fumaris uses one object as a settings host and collections to identify theobjects participating in the simulation.

For an automatic starting point, use Quick Setup in Physics > Fumaris orthe viewport Add menu and choose Rising Smoke, Steady Fire or Explosion.For a manual setup:

  1. Select any convenient object and set Flow Object to Domain.
  2. Create an emitter collection and assign it under Participants.
  3. Put source objects in that collection.
  4. Set each source object's Flow Object to Emitter and choose its shape.
  5. Select the domain and press Play for an interactive preview.
  6. Adjust the domain, emitters, effectors, and other participants.
  7. Press Stop, configure Output, and press Bake for final OpenVDB files.

Unlike Mantaflow, the domain object's dimensions are not a hard simulationbox. Flow allocates a sparse grid around active smoke. Participant collectionsare searched recursively, so child collections can be used to keep largersetups organized.

Preview And Bake

Preview

Play starts a persistent GPU simulation and advances the timeline only aftereach frame is ready. The default preview raymarches the live sparse volume onthe GPU. Moving the view rerenders the current frame without advancing thesolver.Most settings can be changed while preview runs and affect subsequent frames.

With Use Timeline enabled, Preview follows the scene frame range. Optional Warmup simulates frames before the visible range. New domains enable Use Timeline by default; existing domains keep their explicit Start/End range. Turn Use Timeline off to use that range. Press Stop to end Preview; do not start Blender timeline playback at the same time.

Preview controls include:

  • Preview Resolution, which scales the simulation used for preview;
  • viewport image scale and ray steps;
  • shared Appearance controls for smoke density/color and fire visibility, brightness, temperature range, and Blackbody scale;
  • optional self-shadowing;
  • Preview Bake, which displays the selected preview during a final bake at some performance cost.

The live preview uses simplified shading. Scene Occlusion, on by defaultin Preview Settings, uses viewport depth to hide smoke behind solid objects.Final OpenVDB materials and renders are unaffected.

Bake on Preview optionally records VDB takes during interactive playback.Enable it before Play; Pause or Stop imports completed frames. It uses PreviewResolution and adds export work. This differs from Preview Bake, which displaysthe live overlay during a normal final bake.

Bake

Bake resets Flow, simulates every frame sequentially, writes an OpenVDBsequence, and imports completed frames as a Blender Volume object. The statusrow reports elapsed time and peak system RAM and VRAM.

Under Output, choose a writable cache directory, assign an optional volumematerial, and enable only the grids your material needs. Cache Slots preservemultiple bakes instead of silently replacing the previous result.

Pressing Stop during a bake imports every valid frame already written. Flow'scomplete internal state cannot currently be serialized, so a stopped bakecannot resume; the next bake starts from the beginning. Delete removes theselected cache slot and its imported volume.

Domain Controls

Resolution determines density cell size. Sparse Block Capacity controlshow much active volume may exist and acts as a practical GPU memory ceiling.Raise both in measured steps: high resolution without enough blocks can clipgrowth or force a larger automatic cell size. Resolution has no hard maximum;values above the suggested slider range may be typed directly, subject to GPUmemory and sparse-capacity limits.

Sub-Steps controls complete solver steps per frame. Fast movement,combustion, and high-resolution effects may require more steps to converge.Use the lowest count that gives a stable result because cost rises roughlylinearly.

Smoke behavior controls include:

  • Gravity
  • Temperature Buoyancy
  • Smoke Buoyancy
  • Vorticity
  • Dissipation
  • Combustion, ignition, cooling, smoke production, and expansion

Small Sparse Blocks (Advanced, off by default) fits the smoke more closelybut is usually about 20% slower for the same GPU memory; it can save memoryfor thin smoke when Air Margin is 0.

Air Margin

Only the space near smoke is simulated. Smoke that reaches the edge of thatspace before the surrounding air exists shows horizontal steps or block-shapedterraces, and a plume with too little air around it rises as a column insteadof rolling into a mushroom cap. Both are most visible at high resolution andlow Sub-Steps, where blocks are small and the smoke crosses several per frame.

Air Margin (below Sparse Block Capacity) is the distance of clear air kepton every side of the smoke. It also reaches further ahead of moving smoke, byhow far the smoke will travel before the next allocation. The default of 0.5 msuits most plumes; large explosions can use 1 m or more. At 0 the smoke stillgets one complete layer of blocks around it, the least the solver needs.

Air Margin adds sparse blocks (typically 1.5x to 2.5x over a margin of 0), sowatch the capacity readout; when capacity runs out, smoke and emitters keeptheir blocks and the margin shrinks. The pressure solve always reaches acrossthe whole plume, so no separate setting is needed for large shapes.

A domain saved by an earlier version uses 0.5 m unless its Air Margin was setby hand, and so simulates differently from 1.2.1. Adaptive Boundary Padding,the earlier answer to the same stepping, has been removed.

Fast Emitters, Vehicles And Move With Object

An emitter or collider that crosses many voxels per frame is the hardest casefor any grid solver. The solver guards against it in every scene, and MoveWith Object with Carry Air (below Sub-Steps) removes most of the motion in thefirst place.

The built-in safeguards keep such scenes stable and compact:

  • Vorticity can sharpen swirls up to the speeds around them but cannot push past them, so a high Vorticity value with few Sub-Steps no longer runs away into exploding motion and smoke thrown out of the simulation.
  • A fast emitter is stamped along its whole path each step, however few Sub-Steps are used, instead of leaving separate puffs.
  • A collider at rest does not reserve simulation space on its own. A long road or a large wall used to consume blocks along its entire length before any smoke existed.
  • Moving air with only a trace of smoke no longer holds its blocks; the Air Margin keeps the air that real smoke needs.

Move With Object makes the domain simulate in its own object's space. Parentthe domain to the vehicle (or animate the domain itself) and the simulationgrid travels and turns with it. Emitters and colliders that ride along are thenat rest in the grid, so the flow around them is resolved cleanly with afraction of the Sub-Steps a scene-space simulation needs. Only the domainobject's location and rotation are used; its scale and its mesh are ignored.

  • Carry Air at 0 (the default) leaves the air still in the scene. Smoke trails behind the moving domain exactly as in a scene-space simulation, and objects that do not move in the scene, such as the road, are at rest in that air. At 1 the air travels with the domain, as inside a closed vehicle or a sealed container; values between mix the two.
  • Bakes are written in scene space: each VDB carries its own placement, so the imported volume needs no parenting and velocity grids hold scene-space motion for motion blur.
  • A domain that only travels moves its grid in whole voxels, which costs no sharpness. A domain that also turns resamples the smoke every step, which softens fine detail slightly; the faster it turns, the more.
  • Smoke that is left behind still occupies blocks. For a long run, limit the trail with Dissipation or an Outflow parented to the vehicle.
  • Sphere, box and mesh emitters and colliders are followed exactly through each frame. Particle and VDB sources that are fixed in the scene are placed once per frame, so they smear slightly when the domain moves fast.
  • Move With Object cannot be combined with Upres.
  • Changing Move With Object during preview restarts the simulation. Keep it fixed throughout a bake; animating this setting stops the bake with an error.

For a vehicle the camera follows, Move With Object is usually the betterchoice. For a vehicle that passes a still camera and leaves a long trail inview, either works; scene space keeps the resting trail perfectly sharp.

Emitters And Geometry Nodes

Preview And Detail Controls

Pause retains the volume in GPU memory for orbiting and appearance changes;Resume continues the solver, while Stop releases it. Preview Settings includeRay Steps, exposure, tone mapping, light direction and self-shadowing. Thesecontrols do not reproduce Blender scene lighting exactly.

Upres (Experimental)

Upres adds advected detail to smoke and optionally fire, using one shared detailmotion field and memory budget. It affects the live volume and baked fields;it does not increase the resolution of the velocity/pressure or combustionsolve. Stop the simulation before enabling or disabling Upres. Pausing retainsits allocation, so the toggle remains unavailable until you press Stop.

  • Smoke Detail controls density refinement. The default is 4; 0 uses original smoke.
  • Fire Detail controls temperature and burn refinement. Its default is 4; set it to 0 to preserve base fire fields. Fuel and combustion remain on the base grid; this is visual refinement, not additional combustion physics. When enabled, requested temperature/burn exports use the refined grid too.
  • Detail Size is shared by smoke and fire and measured in base cells, not an output-resolution multiplier. The default is 8. Larger values make broader swirls; values below 2 share a minimum sampling size.
  • Strength and size accept typed values beyond their slider ranges. Large values can distort the volume or expose patterns; more is not always better.
  • Detail Memory Limit defaults to 4096 MiB (4 GiB). Its slider reaches 32768 MiB; larger values can be typed, but this does not create additional VRAM.
  • The limit checks estimated peak allocation, not the current total shown by a GPU monitor. The base solver, temporary resources, and Blender also need room. System RAM does not replace GPU memory. Lower resolution or disable upres if the budget is reached; raise it only when the GPU has sufficient headroom.

Compare a short bake with upres disabled and with a higher base resolution.Depending on the effect, higher base resolution can be the better tradeoff.Upres is not a fix for sparse-boundary stepping or insufficient solver substeps.The advection correction falls back to ordinary advection when it overshoots,and applies coarse-field losses proportionally to reduce plateaus and holesunder strong shear. Very high detail strength/vorticity can still exposeunresolved base-grid structure.

Fumaris supports:

  • evaluated mesh surface and volume emission;
  • sphere and box emitters;
  • Blender particle systems as points or instanced meshes;
  • Geometry Nodes point clouds and evaluated meshes;
  • file-based OpenVDB sources; and
  • experimental evaluated Geometry Nodes volume sources.

Emitter channels include smoke, temperature, fuel, burn, divergence, initialvelocity, motion velocity, and mesh-normal velocity. Moving and deformingsources can use Motion Sub-Steps to sample intermediate poses. These emittersteps do not improve a static source or replace domain solver Sub-Steps.

Geometry Nodes point emitters can map named attributes for position, velocity,radius, smoke, temperature, fuel, burn, divergence, coupling, and emissionmasks. Store attributes on the point domain before Geometry Output. Missingoptional attributes fall back to object-level values, and empty point cloudsare valid.

Point clouds use batched spherical GPU emission while preserving varying radiusand mapped simulation channels. Very large point counts, or one unusually largepoint mixed with many small ones, can increase GPU work.

Source Operations

Each of Smoke, Temperature, Fuel and Burn has an operation beside its rate underChannel Coupling. It decides how the emitter writes that channel:

  • Blend (default) pulls the field toward the emitter's value at the coupling rate. Overlapping emitters settle on a mix, and an emitter with a low value thins denser smoke that drifts into it. Existing scenes use this.
  • Add injects value × coupling every second and removes nothing. Overlapping emitters accumulate, and smoke that stays inside the emitter keeps growing.
  • Maximum raises the field toward the emitter's value but never lowers what is already there. Use it to keep a weak source from eroding a thick plume, or to ignite with Temperature without cooling hotter fire.
  • Replace sets the field to the emitter's value everywhere inside it.

A channel whose coupling is 0 stays off in every mode. Velocity and Expansionalways blend. Colliders and outflows are unaffected.

OpenVDB Sources

An OpenVDB emitter reads density, temperature, fuel, burn andvelocity grids. Grid Names maps differently named grids from other tools;leave a name empty for the default. Fuel and Burn grids are read only when theemitter's Fuel or Burn value and coupling are above zero. Grids may each havetheir own transform and voxel size, as Fumaris bakes do for velocity; they areresampled onto the smoke grid.

Sequence treats the trailing number in the file name as a frame and loads thematching file for every simulated frame. Frame Offset shifts which file ascene frame reads. Missing files and valid empty grids emit nothing, so asequence can start late, contain gaps, or end early. Unreadable files stillreport an error. To feed a Fumaris bake back in, pick any frame of the bake,enable Sequence, and keep the original cache untouched while it is in use.

Emit Velocity Grid drives the simulation with the file's velocity at theVelocity coupling rate. It is off by default, so a stationary volume does notslow or push the fluid. Volume emitters start in Blend, which also pullssmoke inside the file's bounding box down toward the file's density; chooseMaximum or Add for Smoke when the source should only contribute.

Colliders, Effectors, And Outflows

Optional participant collections can be assigned for each role.

  • Colliders support mesh, box, and sphere shapes with velocity influence and adjustable margin.
  • Effectors support force, wind, vortex, and turbulence behavior with noise and distance falloff.
  • Outflows remove smoke and combustion channels from a mesh region.

Fumaris strengthens Flow's stock collision treatment, but colliders are notmathematically sealed pressure boundaries. Very fast smoke can still leakthrough thin or complex geometry. Increase collider margin, resolution, orSub-Steps when necessary.

Field Mask limits any effector to where the simulated smoke meets acondition. Choose Smoke, Temperature, Fuel, Burn or Speed, then a Start valuewhere the force begins and a Full value where it reaches full strength.Invert acts at full strength below Start and fades toward Full. The maskreads the live field on the GPU each step, so it follows the smoke rather thanthe effector's shape. Examples: turbulence masked by Temperature breaks up theflame but leaves cold smoke alone; turbulence masked by Smoke with Invert and asmall range stirs only thin wisps; drag masked by Speed slows only fast gas.Temperature uses the simulation's 0 to 1 range, as Ignition Temperature does;Speed is in meters per second.

OpenVDB Channels And Shading

Density is the standard smoke grid. Additional outputs include:

  • temperature: Kelvin-like values in a fixed 0-5000 range;
  • burn: raw combustion activity for advanced shading;
  • fuel: remaining unburned fuel; and
  • velocity: world-space motion for volume motion blur and compositing.

With no custom Volume Material selected, Fumaris includes temperature and burnautomatically and creates a Blender material from the domain's Appearancecontrols. It maps temperature through Blackbody for Emission Color and derivesEmission Strength from nonnegative burn, a smooth temperature gate, and1 - exp(-source). Smoke color, density, flame brightness, temperature range,and Blackbody scale can therefore be changed after baking. Raw burn remainsavailable for power users. No separate derived flame grid is exported.

Every extra VDB grid adds GPU readback, conversion time, memory use, disk use,and bake time. Disable channels the material does not need.

Performance Tips

  • Use Preview while developing motion and Bake only for final OpenVDB output.
  • Keep Preview Bake disabled unless the final bake needs to be watched.
  • Lower Preview Resolution, Viewport Scale, or Ray Steps for viewport work.
  • Increase resolution and sparse capacity gradually.
  • Use the lowest converged Sub-Step count.
  • Store caches on a fast local drive.
  • Split point clouds with widely different radii and reduce excessive point counts when point emission becomes the bottleneck.

Preview is normally much faster than Bake because it transfers oneviewport-sized image. Bake mustread complete grids back from the GPU, convert NanoVDB data to OpenVDB, andwrite it to storage.

Known Limitations

  • AMD hardware is currently unqualified.
  • Geometry Nodes Volume emission is experimental.
  • Preview is temporary feedback rather than a saved simulation cache.
  • Preview shading is simpler than final Blender volume shading.
  • Stopped bakes cannot resume solver state.
  • Only one Fumaris preview or bake can run at a time.
  • Colliders are practical Flow collision emitters, not sealed boundaries.
  • Results do not match Mantaflow parameter-for-parameter.
  • Intel Macs are unsupported. Move With Object cannot be combined with Upres.

Troubleshooting And Support

If Fumaris does not start or complete a simulation:

  1. Confirm that the downloaded ZIP matches the operating system.
  2. Update the GPU driver and restart Blender.
  3. Allow the first shader compilation several minutes to finish.
  4. Try the included demo or a minimal domain with one emitter.
  5. Reduce resolution and sparse capacity if GPU memory is exhausted.
  6. Confirm that the cache path is local, writable, and has free space.

Use the support channel on the purchase receipt. Include the Fumaris ZIP andversion, Blender version, operating system, GPU and driver, whether the issueoccurs in Preview or Bake, console output, reproduction steps, and the smallest.blend that reproduces the problem. Remove proprietary assets before sendinga project file.

$39

Have questions about this product?
Login to message

Details
Sales 30+
Rating
1 ratings
Published 2 months ago
Blender Version 5.2
Render Engine Used Cycles, Eevee
License GPL
Discover more products like this

gpu accelerated fire explosion smoke simulation Fluid