FumeFX is production-proven volumetric voxel-based fluid-simulation package. Computational fluid-dynamics (CFD) uses Navier-Stokes equation set to describe the motion of non-solid state phenomena, fluid substances like water, fire and smoke. The fluid-simulation is a term for processes using lightened forms of the Navier-Stokes equations, where the absolute exact movement of fluids are traded away for faster calculation speeds. For this reason, the fluid-simulation equations are popular among VFX-practitioners, where the exact physical behaviour of fluid substances is not required.

There are two ways of how fluids can be simulated. The first is particles, where the fluid substance is represented as point-cloud, every particle being drawn independently. And when particle count increases, the fluid resolution is increased. The other approach is using voxels. Voxels are in a way “slices”, like layers put on top of each other to form the fluid substance. The voxel uses grids, and the grid density is what determines the ultimate resolution of the simulation. There are advantages and disadvantages to both methods.

The real power of FumeFX comes when it is combined with tools like PFlow and Krakatoa. The advantages and disadvantages of both methods are based on the assumption that the Krakatoa is the rendering engine for the fluids.

Particles are faster to render than voxels

Particle point-clouds can be illuminated from inside the volume

Particle-simulations retain higher amount of details

Particle-simulations need higher densities in order to produce solid volumes of fluid substances

Voxels produce “solid” volumes, which makes them more suitable for fly-through animations where the observer is taken through the volume.

Lesser amount of voxels are needed for coherent looking simulations

 

Parameters

Grid Spacing

This parameter directly affects the visual quality of the simulation, lowering the of the voxel grid and thus creating more “slices” from which the fluid volume composes of. Lowering grid spacing increases simulation times.

Quality

This parameter defines the quality of the physical calculations. Higher values will simulate the fluid more precisely according to laws of physics but will also increase simulation times significantly. The basic value of 5 is good for most situations and offers good enough simulation quality with reasonable simulation times.

Time Scale

Time scale defines the speed of the evolution of the fluid. The fluid will change it’s shape more rapidly or more slowly when the parameter value is changed. It is not a time remapping effect, so slow-motion features can not be achieved with this parameter, but with a separate retimer-feature.

Gravity

The gravity parameter allows to simulate effects of gravitational pull including earthlike atmosphere. Increasing the value makes the fluid act naturally and lowering the value

Vorticity

Vorticity defines the inner turbulence of the fluid. Unlike the XYZ Turbulence, this does not modify the shape of the fluid, simply gives more local detail in the fluid. Raising the parameter value gives more small-scale details in the fluid, and lowering it smooth’s out the fluid.

Velocity Damping

Velocity damping hinders the fluids evolution over time. It tends to “freeze” the fluid in it’s state, and might be usable when creating for example trails of smoke. With the Velocity Damping set to zero, the fluid dissipates pretty quickly, and by increasing it the user can create much more defined froms with the fluid.

XYZ-Turbulence

These parameters applies turbulences in all dimensions, or to all of them independently depdening on the user. The fluid is moved along the dimension which the valueis applied, and introduces more chaotic, rippling look to the fluid-volume.

 

Properties

Wavelet Turbulence

Wavelet Turbulence is a feature within FumeFX, which allows the user to simulate rough fluid volumes, and if the fluid is desirable in it’s motion and behaviour but needs more details, the Wavelet Turbulence can be enabled when the fluid simulation volume is subdivided to create more detail into the fluid. The differences of the Wavelet Turbulence and lowering the grid spacing are that the lowering the grid spacing also affects the motion and behaviour of the fluid, and the desired effect can be lost in the process of lowering the grid spacing. And increasing the fluid-simulation resolution using Wavelet Turbulence is faster than simulating the fluid with the resolution the Wavelet Turbulence gives.

Note: when using Krakatoa, for some reason one cannot drive PFlow particles through a FumeFX simulation which has been refined with Wavelet Turbulence. So a choice needs to be made does one want to simulate higher grid spacing simulation and to enhance it by driving PFlow particles through the volume, or does one want to refine the FumeFX simulation with Wavelet Turbulence and lose the option of driving PFlow particles through it. Though this problem can be overcame by partitioning a Wavelet Turbulence volume, and then partitioning separately a FumFX/PFlow volume, and then using two PRT Loaders to bring them into the scene and render them as one volume. Please note that PFlow represents differently the simulated volume than FumeFX.