Loading

Container

Resolution

Voxel Size

Specifies the size of a voxel. Voxels are cubes. This value specifies their side length. When changing this value, the resolution will change accordingly.

Grid Size

specifies the size of the fluid container. The simulation will clip everything outside of this box. In most cases, the simulation will clip even more than that, trying to minimize the box that acutually needs to be simulated. See the Clip Below parameters of the fluid channel tabs for more details.

The info field Max Memory Usage shows the memory that the simulation would use if the simulation used all the space in this container.

Grid Offset

There are two ways of moving the fluid container in space during simulation. You can move the container object like any other object in the scene or you can this Grid Offset parameter. Moving the container as an object will move the container and the fluid in it. If you're moving the container using the Grid Offset parameter, only the container will move. The fluid will stay in place or be clipped at the new container boundaries.

Max Memory Usage

This field shows the maximum resolution (in voxels) that the container can use as well as the amounts of memory that it would use in this case. How much the simulation will actually need depends on how the simulation grows over time.

Here is an example:

386x649x395 99.0MV - CPU 7.9GB GPU 3.7GB UpRes 62.4GB - Cache/F: 1.9GB UpRes 14.9GB

The first section shows the maximum dimensions of the container in voxels and the total number of MegaVoxels or Million Voxels (MV).

The middle section shows the amount of memory the simulation will at most require when run on the CPU, the GPU or in Up-Res mode.

The last section shows the maximum size a single cache frame would have on disk without compression for a normal simulation and an Up-Res pass.

When starting the simulation, TurbulenceFD will warn you if the available memory would not suffice would the simulation take up the whole container. You can ignore the warning if you know that your simulation will stay small enough or if you're keeping an eye on the simulation progress, so you can abort the simulation if necessary. When running simulations un-supervised, it's a good idea to make sure the container dimensions and simulation settings are chosen such that the avilable memory is sufficient.

If the available memory is exceeded, the machine will most likely become unresponsive and you may have to reboot your system.

Cache

Just like high-quality rendering, fluid simulation is a computationally very intensive task. Moreso than rendering however, detailed voxel grids require a lot of memory. A 128x128x128 grid (2 MegaVoxel) basically corresponds to 128 bitmap images with 128x128 32bit (=4byte) pixels for each channel we cache. The velocity channel is actually a vector channel, so it uses 3 times as much space. That's 2MegaVoxel x 4byte x 3 = 24MB for each frame - only for the velocity. Every additional channel uses another 8MB per frame.

Each frame is written to a separate .bcf file in the cache directory. Each .bcf file contains all active channels (see Simulation parameters) and the velocity, if you enable it (see Cache Velocity below). The filenames contain the frame number, so you can easily identify every single frame, for example to continue the simulation from that frame at a later time (see General parameters above).

While all frames are written to disk, TurbulenceFD will only keep a small number of frames in working memory and dynamically load frames from disk as necessary for rendering and in-editor previewing.

Simulation Caches

specifies a base directory for all simulation caches of this TurbulenceFD object. In the list below, you can use the add/rename/remove buttons to manage the caches in the base directory. Select the cache in the list that will be used for simulation and rendering.

Each cache is saved to a sub-directory of the base directory. If you start a simulation without specifying a base directory or cache, the default base directory from the TurbulenceFD preference tab will be used and a new cache will be created automatically.

You can specify an alternative cache base path in the Alt. Base Path field. This is useful for render farms that use a mix of MacOS and Windows. Since the paths will differ between the operating systems. TFD will use the alternative base path if the main base path cannot be found or accessed.

Lock Cache

If checked the current cache directory is locked against accidental overwrite. In order to run a simulation on a locked cache, you have to uncheck this box first.

Compress Cache

If you are using very high resolution grids and disk space becomes an issue, you can enable compression. Note that compressing the cache also requires processing time which will slow down the simulation. However, especially when saving large caches to a network drive, it can balance out with the time it takes to transmit the data over the network, because compression can reduce the file size up to 60%.

Cache Temp./Dens./Fuel/Burn

Select whether to store either of these fluid channels to disk. You only need to store the channels you use as shader inputs. You can save memory by not caching channels that are not shaded.

However, if you want to continue a simulation from any previously simulated frame without re-simulating al prior frames, all active channels need to be cached.

Cache Velocity

Caching the velocity of the fluid allows you to use Velocity Displacement during rendering, continue or restart simulations from any frame of the cache and move particles through the fluid. However, it requires considerable amounts of disk space. Because velocity is a 3-dimensional vector, caching the velocity takes 3 times as much memory as for example the temperature field.

Cache Collision

Cache the collision field used by the simulation. You can use the viewport preview with this channel to check how voxelization of the collision objects has turned out. See the Collision Object parameter in the emitter's General tab for more information about collision object voxelization.

The collision field is a partial signed distance field. For values inside collision objects, each voxel value represents the negative distance to the closest point on the object's surface. Voxels that are not inside any collision object have a very large positive value.

Current Frame Info

Shows details about the simulation cache for the current frame.