Domain - Grid

This parameter set is used to specify a Hybrido domain's properties.


 

Cell size

The Hybrido domain can be seen as bounded space that is subdivided into cells. Since RealFlow's HyFLIP solver uses an adaptive grid, the given “Cell size” value represents the length of the smallest voxel and is also shown in the form of small boxes at the domain's viewport icon. The size of the other grid elements is determined by RealFlow automatically.

Small values increase the number of cells and create more detail, but also take longer to simulate. Higher values are often used for previews, distant fluids or very large scenes. The number of cells is also responsible for the number of particles, because each volume element contains a certain amount of particles.

The value given here is directly connected to the project's scene scale settings. With RealFlow's standard scale of 1.0, one square of the viewport's grid measures exactly 1.0 m x 1.0 m. With the parameter's default value of 0.3, the smallest volume element of the domain is 0.3 m x 0.3 x 0.3 m. A value of 0.01 represents a voxel size of 0.01 m x 0.01 m x 0.01 m – that is just 1 cm per side. With such a tiny voxel size, the number of particles can easily reach several millions – depending on the size of the emitter. "Cell size" is measured in metres [m].

When you work with “Cell size” and objects you also have to take the object's “Volume” panel into consideration. There you will find another “Cell size” value, but this time for the rasterization of the colliding/interacting object.

Creation mode

You can choose from three different modes. “Adaptive” provides a very good compromise between speed and memory usage and is suitable for most situations. To make use of the “Dense” and “Sparse” options you have to know a few things about them:

When a domain with grid cells is added, RealFlow allocates a certain amount of memory. There are two fundamental ways to store the grid. In a so-called dense grid, all volume elements are stored, regardless whether they contain information or not. In a sparse grid, the situation is different: in this case, the grid is again subdivided into blocks of cells and memory will only be allocated when at least one cell within such a block contains information. The following parameter, “Block granularity” is used to adjust the size of these blocks.

@ threshold

This parameter is exclusively connected to the “Adaptive” simulation mode. In a dense grid, all voxels are mapped inside the memory throughout the entire simulation. This results in a faster simulation and it is also more GPU-friendly. If the grid is very sparse, the amount of used memory can be reduced and you can simulate with higher resolutions (= smaller “Cell length”). The parameter's value ranges between 0.0 and 1.0 and tells the solver how dense or sparse the grid will finally be. With 0.0 you have a perfectly sparse grid, while values around 1.0 are used for a completely dense domain. The entered number describes the ratio between cells with and without particles. This value is dimensionless and ranges between 0.0 and 1.0.

@ block granularity

As explained above, a sparse grid is subdivided into blocks of cells to reduce the amount of memory for simulation. The size of these blocks can be adjusted with this parameter and a simple formula:

Total number of cells per block = @ block granularity 3

With the default value of 8, the total number of voxels per block is 83 = 512. The less voxels per block you have, the more memory-efficient the simulation will finally be, but with a side-effect: it will be less efficient in terms of computation and the simulation becomes slower. This value accepts integers and is dimensionless.