Particle v1.2.0

Summary

Particle is a GPU-accelerated particle-based solver that simulates fluids and granular materials by treating them as collections of interacting particles. Each particle carries physical properties like density, pressure, and velocity, and interacts with neighbors within a smoothing radius. The solver supports three material modes: Fluids-SPH for liquid simulations using Smoothed Particle Hydrodynamics, Fluids-PBF for Position Based Fluids, and Grains for granular materials like sand with repulsion and attraction forces.

The simulation computes particle interactions through neighbor searches within the smoothing radius, calculating density-based pressure forces to maintain target density and optional viscosity forces for fluid thickness. You control the physical behavior through parameters like target density (incompressibility), viscosity (fluid thickness), cohesion (particle stickiness), surface tension (droplet formation), and adhesion (sticking to surfaces). The solver uses substeps and iterations to improve stability and accuracy, with adjustable time scaling for slow-motion or accelerated effects.

Particle supports multiple collision types including ground planes, bounding boxes, arbitrary collision geometry, and volumetric container geometry for creating vessels. This makes Particle suitable for water splashes, pouring liquids, sand and debris, viscous fluids like honey, and interactive particle-based effects.

Parameters

Page: Particle

Solver Mode Solvermode Switches between Simple and Advect modes.
Simple simple
Advect advect
Target Particles Update POP Particlesupdatepop Reference to a POP node downstream in the network. This reference will cause a feedback loop and re-injects the particles next frame.
Material Mode Materialmode Simulation mode: Fluids for liquids with viscosity, Grains for granular materials.
Fluids-SPH sph
Fluids-PBF pbf
Grains grains
Substeps Substeps Number of solver substeps per frame.
Iterations Iterations Solver iterations per substep for constraint satisfaction.
Time Scale Timescale Global time multiplier for simulation speed.
Time Step Timestep Read-only display of effective timestep, equal to 1/FPS of TouchDesigner.
Smoothing Radius Smoothingradius Interaction distance for neighbor particle forces.
Distribution Distribution Neighbor distribution method for particle interactions.
Default default
Closest closest
Num Hash Buckets Numhashbuckets Number of hash buckets for spatial neighbor lookups.
Max Neighbors Maxneighbors Maximum neighbor count per particle for force calculations.
Initialize Initializepulse Pulse to reset simulation and spawn initial particles.
Start Startpulse Pulse to begin simulation from initialized state.
Play Play Toggle continuous simulation playback.
Step Steppulse Pulse to advance simulation by one frame while paused.

Page: Properties

Target Density Targetdensity Rest density the solver tries to maintain. Enabled in Fluids-SPH and Fluids-PBF modes.
Pressure Multiplier Pressuremulti Scales pressure force magnitude. Enabled in Fluids-SPH mode.
Near Pressure Multiplier Nearpressuremult Scales near-field pressure forces for close-range particle repulsion. Enabled in Fluids-SPH mode.
Viscosity Viscosity Fluid thickness and resistance to flow. Enabled in Fluids-SPH and Fluids-PBF modes.
Cohesion Cohesion Particle attraction force creating sticky fluid behavior. Enabled in Fluids-PBF mode.
Surface Tension Surfacetension Force causing droplet formation and surface smoothing. Enabled in Fluids-PBF mode.
Adhesion Adhesion Particle sticking force to collision surfaces. Enabled in Fluids-PBF mode.
Repulsion Weight Repulsionweight Strength of particle-particle repulsion force for granular materials. Enabled in Grains mode.
Attraction Weight Attractionweight Strength of particle-particle attraction for clumping behavior. Enabled in Grains mode.

Page: Collisions

Enable Ground Collision Enablegroundcollision Enables infinite ground plane collision.
Ground Position Groundposition XYZ position of ground plane.
Ground Position Groundpositionx
Ground Position Groundpositiony
Ground Position Groundpositionz
Display Ground Displayground Visualizes ground plane in output.
Enable Bounding Box Collision Enablebboxcollision Enables box-shaped collision boundary from POP geometry.
Bounding Box Bbox A reference to a POP defining the bounding box collision bounds.
Lower Bounds Bboxlowerbounds Toggle to enable lower bounding planes for XYZ axes.
Lower Bounds Bboxlowerbounds1
Lower Bounds Bboxlowerbounds2
Lower Bounds Bboxlowerbounds3
Upper Bounds Bboxupperbounds Toggle to enable upper bounding planes for XYZ axes.
Upper Bounds Bboxupperbounds1
Upper Bounds Bboxupperbounds2
Upper Bounds Bboxupperbounds3
Bounding Box Margin Bboxmargin Extra margin distance added to the bounding box collision boundary.
Display Bounding Box Displaybbox Visualizes bounding box collision geometry.
Collision Type Collisiontype Selects the collision geometry type for constraining particle movement.
None none
POP (Windows Only) pop
Box box
Plane plane
Sphere sphere
Torus torus
3D SDF 3dsdf
T3D t3d
2D SDF 2dsdf
T2D t2d
Solid Solid Treats the collision geometry as a solid volume, preventing particles from passing through.
Project Project Projects particles onto the surface of the collision geometry.
Collision POP Collisionpop Reference to a POP containing the collision geometry when using POP collision type.
Collision Offset Collisionoffset Offset distance from the collision surface to prevent z-fighting artifacts.
Size Size Size of the box collision geometry.
Size Sizex
Size Sizey
Size Sizez
Radius Radius Radius of the collision geometry per axis.
Radius Radiusx
Radius Radiusy
Radius Radiusz
Corner Radius Cornerradius Radius of rounded corners on the box collision geometry.
Collison TOP Collisontop Reference to a TOP texture used as the collision field for SDF and texture collision types.
Use Custom Bounds Usecustombounds Enables custom bounding box for the collision texture instead of using the texture's native bounds.
Lower Bounds Lowerbounds Lower bounds of the collision volume in world space.
Lower Bounds Lowerboundsx
Lower Bounds Lowerboundsy
Lower Bounds Lowerboundsz
Upper Bounds Upperbounds Upper bounds of the collision volume in world space.
Upper Bounds Upperboundsx
Upper Bounds Upperboundsy
Upper Bounds Upperboundsz
Transform Order Xord Sets the order of scale, rotate, and translate operations for the collision geometry transform.
Scale Rotate Translate srt
Scale Translate Rotate str
Rotate Scale Translate rst
Rotate Translate Scale rts
Translate Scale Rotate tsr
Translate Rotate Scale trs
Rotate Order Rord Sets the order of rotation operations for the collision geometry transform.
Rx Ry Rz xyz
Rx Rz Ry xzy
Ry Rx Rz yxz
Ry Rz Rx yzx
Rz Rx Ry zxy
Rz Ry Rx zyx
Translate T Translation of the collision geometry in world space.
Translate Tx
Translate Ty
Translate Tz
Rotate R Rotation of the collision geometry in degrees.
Rotate Rx
Rotate Ry
Rotate Rz
Scale S Scale of the collision geometry per axis.
Scale Sx
Scale Sy
Scale Sz
Pivot P Pivot point for the collision geometry transform.
Pivot Px
Pivot Py
Pivot Pz
Uniform Scale Scale Uniform scale factor applied to the collision geometry.
Display Geometry Displaygeo Shows the collision geometry in the viewport for visualization.
Display Color Displaycolor Display color for the collision geometry visualization.
Display Color Displaycolorr
Display Color Displaycolorg
Display Color Displaycolorb

Page: Forces

Gravity Gravity Gravity force vector in world space.
Gravity Gravityx
Gravity Gravityy
Gravity Gravityz
Gravity Multiplier Gravitymultiplier Scales gravity force magnitude.
Velocity Damping Velocitydamping Global velocity decay per frame.
Collision Damping Collisiondamping Amount of velocity dampening applied when particles collide with collision geometry.
Static Threshold Staticthreshold Velocity threshold below which dynamic friction becomes static friction.
Dynamic Scale Dynamicscale Dynamic friction coefficient for moving particles.
Limit Acceleration Limitacc Clamps particle acceleration to prevent instability.
Max Acceleration Maxacc Maximum allowed acceleration magnitude.

Page: Common

Free Extra GPU Memory Freeextragpumem Free memory that has accumulated when output memory has grown and shrunk.

Inputs

Input 0 POP Particles In

Outputs

Output 0 POP Particles Out