←ALL OPERATORS
> simulations

SPH

simulations/sph·v1.5.1
IN:1  OUT:1

The SPH operator turns the points of any POP into fluid particles that press toward a target density, drag each other along through viscosity and fall under gravity, using its own neighbor grid. It outputs a particle stream with the simulated P and PartVel.

Simple mode applies one solver step to the input every frame, while Advect runs a feedback loop (Initialize, Start, Play) with a Target Feedback Loop POP for forces downstream. The ground, a bounding box and a field collider act as fluid walls with friction, and Mesh Boundary samples a mesh collider so the fluid rests on it.

PAGESPH
Target Feedback Loop POPTargetpopA reference to a POP node downstream in the network whose data is retrieved one frame later. P, PartVel and PartForce are read back.
SubstepsSubstepsNumber of solver substeps per 1/60 second. More substeps are more stable.
IterationsIterationsNumber of pressure iterations per substep. More iterations make the fluid stiffer and less compressible.
Time ScaleTimescaleSpeed multiplier on the time step. 0 freezes and 2 doubles.
Time StepTimestepThe time step per frame in seconds, 1 divided by the cook rate (read-only). Time Scale multiplies it.
InitializeInitializepulseInitializes the POP from its input and parameters.
StartStartpulseStart the simulation from the initialized state.
PlayPlayPause or play the feedback loop.
StepSteppulseAdvance the simulation by one frame while paused.
PAGEProperties
Smoothing RadiusSmoothingradiusKernel radius. Particles closer than this interact.
Target DensityTargetdensitySets the rest density the pressure drives the fluid toward. The useful range is about 0.05 to 0.3 with a Smoothing Radius of 0.05.
Pressure MultiplierPressuremultiScales the pressure force that holds the fluid at Target Density.
Near Pressure MultiplierNearpressuremultScales a short-range repulsion that stops particles clumping. Keep it small; 0 is the calm default.
ViscosityViscosityViscosity of the fluid: 0 is inviscid, 0.1 is water, 1 is honey.
PAGECollisions
Enable Ground CollisionEnablegroundcollisionCollide with an infinite ground plane.
Display GroundDisplaygroundDisplay the ground plane.
Ground Collision MarginGroundmarginDistance the particles keep from the ground.
Enable Bounding Box CollisionEnablebboxcollisionKeep the particles inside the bounding box.
Display Bounding BoxDisplaybboxEnable drawing the bounding box.
Lower BoundsBboxlowerboundsEnable the lower walls of the bounding box in each axis.
Upper BoundsBboxupperboundsEnable the upper walls of the bounding box per axis.
Bounding Box MarginBboxmarginDistance the particles keep from the box walls.
Display GeometryDisplaygeoEnable drawing the collider, as the mesh or the field's zero surface.
Collision PassesGeocollisionpassesNumber of collider solves per substep. More passes hold fast moving geometry.
Mesh BoundaryMeshboundaryTreat the POP collider surface as an SPH wall of boundary particles. When off, only the cheaper hard ray collision is used.
Boundary SamplesBoundarysamplesSets the number of boundary particles sampling the collider mesh. Aim for a spacing near half the Smoothing Radius.
Collision POPCollisionpopThe collider, either a mesh POP or an SDF field volume.
SolidSolidWhen on, particles inside the collider are pushed out. When off, the collider is hollow.
Keep InsideKeepinsideWhen on, the collider is hollow and every outside particle is pulled back in. When off, only escaping particles are caught.
ProjectProjectPlace every particle on the collider surface instead of colliding.
Collision OffsetCollisionoffsetDistance the particles keep from the collider surface.
Collision DampingCollisiondampingVelocity lost on contact. 0 bounces and 1 stops.
Uniform ScaleScaleSpecifies a uniform scale factor for the collider and the bounding box.
PAGEForces
Gravity MultiplierGravitymultiplierMultiplies the Gravity vector.
Wind SpeedWindspeedThe wind acceleration along Wind Direction, in units per second squared.
Velocity DampingVelocitydampingAmount of damping applied to the velocity. 0 applies no damping.
Limit VelocityLimitvelocityEnable clamping the particle speed to Max Velocity.
Max VelocityMaxvelocitySets the speed cap, the same at any frame rate. 100 gives 16.7 units per second.
Static ThresholdStaticthresholdSets the static friction coefficient. Contacts below it grip.
Dynamic ScaleDynamicscaleSets the kinetic friction coefficient that slows sliding contacts.
PAGECommon
Free Extra GPU MemoryFreeextragpumemFree memory that has accumulated when output memory has grown and shrunk.
Input 0 POP - Particles In
Output 0 POP - Particles Out