Fluid Sim

Simulate 2D fluid motion with velocity and density fields.

What it does

Turns a cloud of points, or a sampled shape, into liquid. Each point becomes a fluid particle that pushes, splashes and settles. This node configures how the liquid behaves and how it renders; the step itself runs each frame in a Physics World node wired to its output.

The Fluid group controls bulk behaviour: rest density, viscosity, the radius over which particles sense their neighbours, and surface tension, which beads droplets. The Solver group trades accuracy for speed, where more iterations hold incompressibility tighter at more cost, and tensile correction and damping tame clumping and jitter. The Water group applies once the liquid surface is visible: transmission, index of refraction, depth absorption, roughness and a depth tint cover the range from murky pond to clear glass.

Fluid pushes smoke around automatically when a Smoke Sim sits in the same Physics World. There is no wiring for that coupling.

When to use it

ParameterTypeDefault
inputOneOf([CollectionOf(Points), CollectionOf(Geometry)])
rest_densityNumber1000
viscosityNumber0.100
smoothing_radiusNumber10
surface_tensionNumber0
iterationsNumber4
tensile_correctionNumber-0.010
dampingNumber0.001
renderString"Surface"
transmissionNumber0.850
iorNumber1.330
absorptionNumber0.350
surface_roughnessNumber0.080
depth_tintColorrgba(0.78, 0.92, 0.96, 1.00)
strengthNumber1

Gotchas

Transmission defaults to 0.85, mostly clear water. Bring it toward 0 for an opaque, fully shaded surface. The rest of the Water group (IOR, absorption, roughness, tint) only shows once there is something to see through.

Render defaults to Surface, which reconstructs a smooth liquid surface from the particles every step. Points skips that reconstruction and draws particle sprites, which is cheaper and useful for previewing motion before committing to the surface look. Both draws points and surface together, for spotting foam or checking particle spread.

Fluid Sim alone does nothing. Configuration is stamped onto the incoming points, which pass straight through. Connect its output to a Physics World node's fluid input for the simulation to run.

Tensile Correction is negative by design, so it repels. It keeps particles from clumping together under tension. Pushing it toward 0, or positive, makes clustering and grainy surfaces more likely.

Worked example

  1. Scatter points across the area to fill with liquid, or feed in a shape to sample.

  2. Add Fluid Sim, wire the points into it, and leave Rest Density and Smoothing Radius at their defaults to start.

  3. Wire Fluid Sim's output into a Physics World node's fluid input, which runs the simulation.

  4. Raise Iterations if the liquid looks too squishy or compressible; lower Damping if it settles too fast.

  5. Switch Render to Surface and dial in Transmission, IOR and Depth Tint. IOR 1.33 gives water refraction.

See also

Physics World · Smoke Sim · Particle Sim · Points