VDB Solver operator

The VDB Solver operator can be used to advect volumes with a velocity field.


  • Mode: controls which grid type will be advected.

  • SDF/Density/Velocity/UVW grid name: the names of the source VDB grids.

SDF Solver

  • Spatial/temporal scheme: controls which scheme will be used to advect and then re-normalize the SDF grid. The default schemes tend to produce the best results in the shortest amount of time.

  • Iterations: the number of iterations of advection to apply to the grid.

  • Sync UVWs: when enabled, any existing UVW grids will be advected in lockstep with the SDF grid, using a custom particle-based proximity scheme.

  • Relax UVWs: when enabled, a laplacian relaxation algorithm will smooth out UVW values among neighboring cells.

  • Voxel radius: the radius, in voxel units, of the smoothing algorithm. Larger values will take longer to process but will smooth out UVWs across greater distances.

  • Amount: the amount to linearly interpolate between original UVW values and smoothed UVW values, per iteration of relaxation.

  • Iterations: the number of relaxation iterations to run per solver iteration.

Voxel-based UVW synchronization is a somewhat inaccurate endeavour, because if a voxel is advected a distance less than its width, the UVW value “inside” the voxel will ultimately “snap back” to its original value, which will give the appearance of UVWs sliding over the resulting mesh. This is because even though an SDF can model a surface with sub-voxel accuracy, the UVW data contained inside is rasterized to whole voxels. For best UVW accuracy, you should use a fully particle-based approach to mesh advection (ex: advect your particles in a regular particle-based blow, and then mesh with a tyMesher), rather than the VDB approach using the VDB Solver.


Since the advection algorithm traces voxels along their trajectory as they are advected, large velocity can cause significant calculation slowdowns. Enabling the limiter can alleviate this problem, with the caveat that clamping velocities can lead to artifacts if many voxel velocities are above the maximum value. These settings mostly act as a safety, whereas the proper workflow is to simply reduce velocities or reduce simulation timestep.

  • Clamp velocity magnitude: when enabled, the magnitude of voxels in the velocity grid used to perform the advection will be clamped.

  • Max: the maximum allowable magnitude for any voxel in the velocity grid.