←ALL OPERATORS
> simulations
FLIP
simulations/flip·v1.5.1
IN:1 OUT:4
SUMMARY
The FLIP operator turns the points of any POP into liquid particles that transfer their velocity to a grid, where gravity, viscosity, vorticity, surface tension and an incompressible pressure solve act, then back to the particles with FLIP or APIC transfer. It outputs the particles, white water particles, a meshed surface and the solved grid as a POPX field.
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. Viscosity can vary per particle for water and honey in one simulation, the ground and a mesh or field collider act as solid walls, and the surface renders with a refractive water shader or a PBR material.
PARAMETERS
PAGEFLIP
| [+]Solver Mode | Solvermode | Simple is stateless and recomputed from the input each frame. Advect runs a feedback loop, started with Initialize then Start. |
| Target Feedback Loop POP | Targetpop | A reference to a POP node downstream in the network whose data is retrieved one frame later. |
| [+]Velocity Transfer | Velocitytransfer | Selects the velocity transfer. FLIP is splashy and energetic and uses PIC/FLIP Ratio. APIC is swirly with a clean surface and keeps rotation. |
| PIC/FLIP Ratio | Picflipratio | In FLIP mode, the blend of FLIP to PIC velocity. 1 is pure FLIP and lively, lower values are calmer and more damped. |
| Max Axis Resolution | Maxaxisres | Sets the number of voxels along the longest axis. The other axes follow the box proportions. |
| [+]Simulation Resolution | Simres | Shows the resulting grid resolution (read-only). |
| [+]Simulation Size | Simsize | Size of the simulation box, in world units. |
| [+]Simulation Center | Simcenter | Sets the center of the simulation box. |
| Display Bounds | Displaybounds | Display the simulation box. |
| Time Scale | Timescale | Speed multiplier on the time step. 0 freezes and 2 doubles. |
| Time Step | Timestep | The time step per frame in seconds, 1 divided by the cook rate (read-only). Time Scale multiplies it. |
| Substeps | Substeps | Number of solver substeps per frame. More substeps are more stable. |
| Initialize | Initializepulse | Initializes the POP from its input and parameters. The initial particles are spawned. |
| Start | Startpulse | Start the simulation from the initialized state. |
| Play | Play | Pause or play the feedback loop. |
| Step | Steppulse | Advance the simulation by one frame while paused. |
PAGEProperties
| Particle Separation | Particleseparation | Sets the rest distance between the particles in world units. It sets the rest density and the particle size. |
| Particle Radius Scale | Particleradiusscale | Scales the particle spacing used for push-apart, over-packing correction and the particle radius (PointScale). |
| Separation Iterations | Separationiters | Sets the number of push-apart passes per frame that keep the particles at their separation below grid scale. 0 turns it off. |
| Pressure Iterations | Pressureiters | Sets the number of pressure solve iterations. More iterations make the fluid less compressible but are slower. |
| Over Relaxation | Overrelaxation | Sets the over-relaxation of the pressure solve, from 1 to 1.95. Higher values converge faster, 1 is plain Gauss-Seidel. |
| Viscosity | Viscosity | Kinematic viscosity in units squared per second. 0 is inviscid. |
| Viscosity Attribute | Viscosityattrib | Sets an optional float point attribute that multiplies Viscosity per particle. When empty, Viscosity is used everywhere. |
| Viscosity Iterations | Viscosityiters | Sets the number of iterations of the implicit viscosity solve per frame, used only while Viscosity is above 0. |
| Slip Length | Sliplength | Sets the wall friction of viscous liquids in world units. 0 is no-slip, larger values slip more freely along walls and colliders. |
| Vorticity | Vorticity | Sets the amount of vorticity confinement, which restores small swirls. 0 is none. |
| Surface Tension | Surfacetension | Strength of the surface tension, which flattens the free surface and pulls small fluid into droplets. 0 is off. |
| Enable Surface Tension Blur | Surfaceblur | Blur the surface curvature before applying tension, so it follows the overall shape instead of cell noise. |
| Blur Radius | Blurradius | Sets the blur radius of the surface tension in voxels. Useful values are 1 to 3, up to 4. |
PAGECollisions
| Enable Ground Collision | Enablegroundcollision | Collide with an infinite ground plane. |
| Display Ground | Displayground | Display the ground plane. |
| [+]Ground Position | Groundposition | A point on the ground plane. |
| [+]Ground Direction | Grounddirection | Normal of the ground plane. 0 1 0 is a level floor. |
| Ground Collision Margin | Groundmargin | Distance the particles keep from the ground. |
| [+]Collision Type | Collisiontype | Selects the collider: none, a POP mesh (ray traced, Windows only) or a field used as an SDF volume. |
| Display Geometry | Displaygeo | Enable drawing the collider, as the mesh or the field's zero surface. |
| Collision Passes | Geocollisionpasses | Number of collider solves per substep. More passes hold fast moving geometry. |
| Collision POP | Collisionpop | The collider, either a mesh POP or an SDF field volume. |
| [+]Dist Attribute (SDF) | Distattr | For a field collider, the signed distance attribute of the Collision POP, negative inside. |
| Solid | Solid | When on, particles inside the collider are pushed out. When off, the collider is hollow. |
| Keep Inside | Keepinside | When on, the collider is hollow and every outside particle is pulled back in. When off, only escaping particles are caught. |
| Project | Project | Place every particle on the collider surface instead of colliding. |
| Collision Offset | Collisionoffset | Distance the particles keep from the collider surface. |
| Collision Damping | Collisiondamping | Velocity lost on contact. 0 bounces and 1 stops. |
| [+]Transform Order | Xord | Sets the transform order of the collider. |
| [+]Rotate Order | Rord | Sets the order of the rotations of the collider. |
| [+]Translate | T | Translate the collider in the three axes. |
| [+]Rotate | R | Rotate the collider around the X, Y and Z axes. Angles are given in degrees. |
| [+]Scale | S | Scale factor for each axis of the collider. |
| [+]Pivot | P | The pivot point for the rotate and scale of the collider. |
| Uniform Scale | Scale | Specifies a uniform scale factor for the collider. |
| [+]Display Color | Displaycolor | Sets the color of the displayed guides. |
PAGEForces
| [+]Gravity | Gravity | The gravity vector in units per second squared. |
| Gravity Multiplier | Gravitymultiplier | Multiplies the Gravity vector. |
| [+]Wind Direction | Winddirection | The direction the wind blows in. Its length does not matter. |
| Wind Speed | Windspeed | The wind acceleration along Wind Direction, in units per second squared. |
| Velocity Damping | Velocitydamping | Amount of damping applied to the velocity. 0 applies no damping. |
| Static Threshold | Staticthreshold | Sets the static friction coefficient. Contacts below it grip. |
| Dynamic Scale | Dynamicscale | Sets the kinetic friction coefficient that slows sliding contacts. |
| Limit Acceleration | Limitacc | Enable the particle speed cap set by Max Acceleration, to prevent instability. |
| Max Acceleration | Maxacc | Sets the particle speed cap, the same at any frame rate. 100 gives 16.7 units per second. |
PAGEWhite Water
| Generate White Water | Generatewhitewater | Generate spray, foam and bubbles from the fluid. |
| Display White Water | Displaywhitewater | Show the white water particles in the viewer. |
| Render White Water | Renderwhitewater | Render the white water in your Render TOP. Needs Generate Surface and Render Surface on. |
| Max White Particles to Allocate | Maxwhiteparticles | Sets the size of the white water particle pool, the most white water that can exist at once. |
| Precise Classification | Preciseclassification | Classify white water from the neighbors of the fluid particles instead of the grid. Gives finer detail at a higher GPU cost. |
| Trapped Air Rate | Trappedairrate | Sets the emission rate of white water from trapped air, in converging turbulent flow. |
| Trapped Air Range | Trappedairrange | Sets the low and high trapped-air potential, per second. Emission starts at the low value and is full at the high value. |
| Wave Crest Rate | Wavecrestrate | Sets the emission rate from wave crests, where the surface is convex and fast-moving. |
| Wave Crest Range | Wavecrestrange | Sets the low and high wave crest potential. Emission starts at the low value and is full at the high value. |
| Kinetic Energy Range | Kineticenergyrange | Sets the low and high kinetic energy that scale the emission. Slow fluid emits little, fast fluid the most. |
| Lifespan Range | Lifespanrange | Sets the minimum and maximum foam lifespan in seconds before it dissolves. |
| Spray Threshold | Spraythreshold | Sets the fraction of rest density below which a white water particle is ballistic spray. |
| Bubble Threshold | Bubblethreshold | Sets the fraction of rest density above which a white water particle is a bubble. Between the two thresholds it is foam. |
| Spray Drag | Spraydrag | Sets the quadratic air drag on the spray. Higher values slow the plumes and feather them out sooner, 0 is ballistic. |
| Bubble Buoyancy | Bubblebuoyancy | Sets the upward push on bubbles, as a multiple of gravity. |
| Bubble Drag | Bubbledrag | Sets how fast bubbles take on the surrounding fluid velocity, per second. |
| [+]Foam Color | Foamcolor | Sets the color of the foam and spray. |
| Foam Density | Foamdensity | Sets the optical depth of a foam puff. Higher values turn foam opaque white sooner. |
| Foam Scale | Foamscale | Sets the size of the foam and spray puffs as a multiple of the particle radius. |
| Foam Brightness | Foambrightness | Sets the exposure trim of the foam. 1 is physically based. |
| Foam Blur | Foamblur | Sets the blur of the foam medium in pixels, merging puffs into a continuous sheet. |
| [+]Bubble Color | Bubblecolor | Sets the color of the bubble shells. |
| Bubble Opacity | Bubbleopacity | Scales the bubble reflection and coverage from 0 to 1. At 1 each bubble is a mirror ring with a nearly clear center. |
| Bubble Scale | Bubblescale | Sets the bubble size relative to the particle radius, with 30 percent random variation. 0.5 gives small champagne bubbles, 1.5 large ones. |
| Bubble Brightness | Bubblebrightness | Sets the exposure trim of the bubbles. 1 is physically based. |
| Underwater Softness | Underwatersoftness | Sets how much the bubbles and foam soften with depth under the water. 0 keeps them as sharp deep as shallow. |
| Scale Speed | Scalespeed | Sets how fast the white water particle size animates on birth and on changing type, per second. |
| Fade Time | Fadetime | Sets the time in seconds before death over which a white water particle shrinks to zero, so it does not pop out. |
PAGESurface
| Generate Surface | Generatesurface | Enable building a liquid surface mesh from the particles. |
| Display Surface | Displaysurface | Show the surface in the viewer. |
| Render Surface | Rendersurface | Whether to render the surface in your Render TOP. |
| Render TOP | Rendertop | The Render TOP whose camera and lights draw the surface. |
| Max Axis Resolution | Surfacemaxaxisres | Sets the surface grid resolution along the longest axis of the simulation box. |
| [+]Field Resolution | Fieldres | Shows the resulting field resolution (read-only). |
| Kernel Radius | Kernelradius | Sets the radius of the particle averaging, in particle spacings. Larger values are smoother. |
| Particle Radius | Particleradius | Sets the radius of each particle in the surface, in particle spacings. Values below about 0.5 leave holes. |
| Adaptive Radius | Adaptiveradius | Grows the radius up to this many times where particles are sparse, so that drops and sheets hold. 1 disables it. |
| Concavity Range | Concavity | Sets the low and high concavity range, which pulls the surface in at concave gaps to remove spurious blobs. |
| Field Blur Iterations | Fieldbluriters | Sets the number of Gaussian blur passes on the surface field. 0 disables the blur. |
| Field Blur Radius | Fieldblurradius | Sets the blur radius of the surface field, in voxels. |
| One-Sided Blur | Onesidedblur | When on, the blur only fills dimples between particles and never erodes droplets or crests. |
| Curvature Flow Iterations | Curvatureiters | Sets the number of curvature flow steps near the surface. Flattens particle bumps while keeping broad waves. |
| Protect Radius | Protectradius | Curvature flow fades where the surface bends tighter than this, in particle spacings. 0 turns it off. |
| Density Mask | Densitymask | Sets the particle densities, from 0 to 1, where curvature flow and mesh smoothing start and reach full strength. |
| Erode / Dilate | Erodedilate | Offsets the surface in voxels. Positive values grow the liquid, negative values shrink it. |
| Open / Close | Openclose | Morphology in voxels. Positive values close small holes and gaps, negative values remove thin bits and specks. |
| [+]Mesher | Mesher | Selects the mesher. Surface Nets gives a connected, smoothable mesh with fewer triangles. Marching Cubes gives a triangle soup without smoothing. |
| Mesh Smoothing Iterations | Meshsmoothiters | Sets the number of volume-preserving smoothing steps on the Surface Nets mesh, which remove grid stepping and orange peel. |
| Mesh Smoothing Strength | Meshsmoothstrength | Sets the smoothing amount per step. 0.5 is standard. |
| Refractive | Refractive | Render the surface as refractive water or glass. When off it is opaque and uses Diffuse Color. |
| Environment Map | Envmap | Sets the equirectangular map TOP seen through the water, and reflected when the scene has no Environment Light. |
| IOR | Ior | Index of refraction. Water is 1.33. |
| Refraction Strength | Refractionstrength | Sets how much the water bends light. 0 is none, 1 is physically based, 2 is strong. |
| Units per Metre | Unitspermetre | Sets the world units per meter, which scales absorption and scattering. Larger values give clearer water. |
| [+]Absorption Coefficients | Absorptioncoef | Sets the light absorbed per meter in red, green and blue. Pure water is 0.38, 0.07 and 0.012, so deep water turns blue-green. |
| Absorption | Absorption | Multiplier on the absorption coefficients. A value of 1 is pure water. |
| Scattering | Scattering | Sets the light scattered per meter. Water is about 0.002, murky water 0.2 to 1. |
| [+]Scattering Color | Scatteringcolor | Sets the tint of the scattering particulates. White is neutral. |
| Phase G | Phaseg | Sets the scattering direction. 0.8 scatters forward like natural water, 0 scatters evenly in all directions. |
| Reflectivity | Reflectivity | Sets the reflectance at normal incidence. Water is 0.02. |
| Roughness | Roughness | Surface roughness. Blurs the light reflections, the environment and the refraction. |
| Ambient Occlusion | Ambientocclusion | Scales the contribution of the Environment Light, from 0 to 1. |
| [+]Diffuse Color | Diffusecolor | Sets the body color when Refractive is off, as for milk or paint. |
| Specular Level | Specularlevel | Sets the specular strength of the surface PBR material. Only used when Refractive is off. |
PAGEVisualize
| Color by Speed | Colorbyspeed | Enable coloring the particles by speed through the ramp. |
| Max Speed | Maxspeed | Sets the speed that maps to the end of the color ramp. |
| [+]Color Ramp | Colorramp | Selects the color ramp preset. Custom uses the ramp editor or a TOP. |
| Open Color Ramp Editor | Opencolorrampeditor | Open the color ramp editor. |
| Reset Color Ramp | Resetcolorramp | Resets the color ramp. |
| Custom Color TOP | Customcolortop | Sets a TOP used as the color ramp, overriding the ramp editor. |
PAGECommon
| Free Extra GPU Memory | Freeextragpumem | Free memory that has accumulated when output memory has grown and shrunk. |
INPUTS
Input 0
POP - Particles InOUTPUTS
Output 0
POP - Particles OutOutput 1
POP - White WaterOutput 2
POP - SurfaceOutput 3
POP - Field
