Hydro overview
Hydro simulates incompressible liquids with a divergence-free particle method on the GPU. Use it for water, oil, honey, splashes and wave tanks. It comes with a production surface mesher and a GPU whitewater pass.
The quickest start is a Hydro template or Quick Liquid Splash.
The graph
Section titled “The graph”Emitter ──────┐Hydro Liquid ─┤Forces ───────┼─► Hydro Solver ─► Surface Mesher ─► Simulation OutputColliders ────┤Two-Phase ────┘| Node | Purpose |
|---|---|
| Particle Emitter or Mesh Emitter | Where the liquid starts. A volume spawns it all at the start frame. A stream pours it continuously. |
| Hydro Liquid | The liquid’s density, viscosity and surface tension. See Liquids and presets. |
| Liquid Two-Phase | A second liquid. See Liquids and presets. |
| Forces | Gravity, wind, drag, vortex, turbulence, attractor, curve and explosion. |
| Colliders | Object Collider, Ground Plane and Kill Volume. |
| Hydro Solver | Runs the simulation. |
| Surface Mesher | Turns particles into a mesh. See Surface meshing. |
| Simulation Output | Decides how the result is drawn: Points or Surface. |
Buoyancy forces do not apply to Hydro. Fluid buoyancy comes from the liquid’s density instead.
Hydro Solver settings
Section titled “Hydro Solver settings”| Setting | Default | What it does |
|---|---|---|
| Preset | Custom | Turnkey liquid and whitewater settings. Picking one overwrites the values below. |
| Domain Scale (m) | 2 | Edge of the cubic liquid domain. Its walls contain the liquid. |
| Domain Object | none | World-space position of the domain’s centre. Unset keeps it centred on the world origin, floor-aligned at its base. |
| Particle Radius (m) | 0.015 | Radius of each fluid particle. The smaller it is, the finer the liquid and the more particles you need. |
| Rest Density (kg/m³) | 1000 | Density at rest. 1000 is water. |
| Viscosity (Smoothed) | 0.01 | Artificial kinematic viscosity. Higher is thicker. |
| Surface Tension | 0.05 | Cohesion that beads droplets and rounds them off. |
| Restitution | 0 | Boundary bounce. 0 absorbs splashes, 0.8 gives bouncy drops. |
| Wall Friction | 0.3 | Coulomb friction along walls and colliders. |
| Time Scale | 1 | 1.0 is real time. |
| Substeps, CFL Safety | 4, 0.4 | Substeps per frame, adjusted automatically by the CFL condition. |
| Implicit Viscosity | 0 | Unconditionally stable viscosity for thick honey, syrup or slime. |
| Enable Anisotropy | off | Anisotropic kernels that remove particle bumpiness in the reconstructed surface. |
For viscosity and surface tension in real units, use a Hydro Liquid node. Every setting is in the Solver reference.
Working with Hydro
Section titled “Working with Hydro”- Particle count. Quick Liquid Splash defaults to 15,000 particles. Frame cost grows with the count.
- Streams. A stream emitter releases Stream Rate particles per frame, so a jet is thinner per second of simulated time than at slow-motion clocks. Raise the rate to compensate.
- Real-time clock. A Blender frame advances 1/fps seconds, multiplied by Time Scale. Use a Time Scale below 1 for slow motion.
- Meshing is separate. The simulation produces particles. The surface is meshed during the bake, and can be rebuilt with new settings without re-simulating.
Performance
Section titled “Performance”Measured on a GTX 1060 (6 GB), 1/24 s real-time frames:
| Scene | Time per frame |
|---|---|
| Dam break, 12,000 particles | 132 ms |
| Settling block, 12,000 particles | 122 ms |
| Dam break, 40,000 particles (radius 1/96) | 514 ms |
| Dam Break template | 205 ms |
| Honey template | 438 ms |
For scenes under about 20,000 particles, the number of kernel launches (about 40 per substep) sets the frame time more than the arithmetic does.
Hydro’s kernels compile on the first run. See Kernel cache and warm-up.