- Geometry
- Solvers
FLIP Liquid
Purpose
Section titled “Purpose”FLIP Liquid simulates liquid particles on a velocity grid. Use it for pours, splashes and pooling. Its whitewater modes add spray, surface foam or bubbles, with separate or combined particle outputs.
Place FLIP Liquid in the Voro menu’s Geometry view, under Solvers. Start with Seed Source set to Fill Box, Resolution at 96 and Bound Size at 2. Keep the fill inside the domain. This gives you a finite amount of liquid to test before adding an emitter.
For a continuous pour, choose Empty (Emitter Only), turn Liquid Emit On on and set a positive Liquid Emit Rate. A starting rate of 1000 makes it easy to check the emitter’s position and direction. Reset after changing the seed setup. Input POP is available for both seeding and emission; connect your points to the geometry input and choose it in the appropriate Source menu.
Inputs and outputs
Section titled “Inputs and outputs”The geometry input supplies seed or emitter points. On Resources, add a Connections row, choose the sdf input in Type and select an SDF Collider resource. Use a velocity row for a Force Field or another solver’s velocity, and xforms for moving-body transforms.
The named outputs carry liquid positions P, velocity v, id, Cd and type. Foam outputs depend on Foam Mode and Foam Output. Density and velocity grids require Publish Grid Fields (liquid), which is off by default. Contact publication has its own toggle and capacity. These are simulation resources; liquid points do not become a meshed Path Trace surface automatically.
Controls
Section titled “Controls”- Simulate pauses or advances the simulation. Reset restarts it from the seed setup. Auto-Rebuild on Build Params applies structural edits as you make them; turn it off to collect edits, then press Rebuild when Status shows REBUILD PENDING.
- Resolution sets grid detail within Max Resolution. Bound Size and Bound Center place that grid. Keep the domain close to the liquid before raising resolution.
- FLIP Blend starts at 0.92. Moving toward 0 gives the more damped PIC behavior. Pressure Iterations starts at 40; Dt starts near 1/60 second.
- Water Amount scales seeding and emission. Liquid Viscosity, Surface Tension and Collider Adhesion change the liquid response; add them after checking the basic pour.
- Velocity Field Coupling starts at 0. A connected wind field needs a positive coupling value to affect the liquid.
- Foam Mode starts off. Choose Separate output to keep whitewater distinct, or Combined to include it with liquid and distinguish particles by type. Whitewater Max Particles and Lifetime limit how much persists.
Max Particles is a pool limit. At Max Particles chooses whether an emitter stops or recycles the oldest particles. Display Max Points limits presentation separately.
Grid fields and whitewater add work and storage. Leave both off while establishing the liquid motion, then enable the outputs you need.
Inputs
-
geometrypoints -
sdfsdf collider -
velocityvelocity field -
xformstransforms
Outputs
-
Ppoints -
vpoints -
idpoints -
Cdpoints -
typepoints -
foampoints -
foamtypepoints -
densitydensity field -
velocityvelocity field -
contactcontacts
Parameters
Section titled “Parameters”FLIP Liquid
op('flip').par.Autorebuild - Default:
On- Options:
- Off, On
op('flip').par.Rebuildnow - Default:
None
op('flip').par.Simulate - Default:
On- Options:
- Off, On
op('flip').par.Resetsolver - Default:
None
Outputs
op('flip').par.Hdrres Read only.
- Default:
"" (Empty String)
op('flip').par.Liquidname - Default:
liquid_pts
op('flip').par.Densityname - Default:
smoke_density
op('flip').par.Velocityname - Default:
smoke_vel
op('flip').par.Liquidfields - Default:
Off- Options:
- Off, On
op('flip').par.Displaymaxpoints - Default:
1048576- Range:
- 1 to 4194304
op('flip').par.Particlepscale - Default:
0.05- Range:
- 0 to 0.5
Domain
op('flip').par.Maxresolution - Default:
128- Range:
- 16 to 256
op('flip').par.Resolution - Default:
96- Range:
- 8 to 256
op('flip').par.Boundsize - Default:
2- Range:
- 0.1 to 8
op('flip').par.Boundcenterx - Default:
0- Range:
- -10 to 10
op('flip').par.Boundcentery - Default:
0- Range:
- -10 to 10
op('flip').par.Boundcenterz - Default:
0- Range:
- -10 to 10
Solver
op('flip').par.Dt - Default:
0.0166667- Range:
- 0.0001 to 0.5
Liquid
op('flip').par.Iterations - Default:
40- Range:
- 1 to 200
op('flip').par.Gravity - Default:
9.8- Range:
- 0 to 30
op('flip').par.Flipness - Default:
0.92- Range:
- 0 to 1
op('flip').par.Cflclamp - Default:
3- Range:
- 0.5 to 8
op('flip').par.Liquidviscosity - Default:
0- Range:
- 0 to 10
op('flip').par.Liquidcohesion - Default:
0- Range:
- 0 to 30
op('flip').par.Surfacetension - Default:
0- Range:
- 0 to 30
op('flip').par.Liquidadhesion - Default:
0- Range:
- 0 to 10
op('flip').par.Liquiddrag - Default:
0- Range:
- 0 to 10
op('flip').par.Windcoupling - Default:
0- Range:
- 0 to 1000
op('flip').par.Volumerestore - Default:
0- Range:
- 0 to 10
op('flip').par.Particlecellradius - Default:
0.5- Range:
- 0.5 to 4
op('flip').par.Simsize - Default:
1- Range:
- 0.01 to 8
op('flip').par.Rebuild - Default:
None
op('flip').par.Resetfields - Default:
None
Seed
op('flip').par.Maxparticles - Default:
1048576- Range:
- 4096 to 4194304
op('flip').par.Fillcenterx - Default:
-0.6- Range:
- -10 to 10
op('flip').par.Fillcentery - Default:
-0.4- Range:
- -10 to 10
op('flip').par.Fillcenterz - Default:
0- Range:
- -10 to 10
op('flip').par.Fillsizex - Default:
0.7- Range:
- 0.01 to 10
op('flip').par.Fillsizey - Default:
1.1- Range:
- 0.01 to 10
op('flip').par.Fillsizez - Default:
1.2- Range:
- 0.01 to 10
op('flip').par.Wateramount - Default:
1- Range:
- 0.01 to 16
op('flip').par.Reseed - Default:
None
Coupling
op('flip').par.Hdrcouple Read only.
- Default:
"" (Empty String)
op('flip').par.Publishcontacts - Default:
On- Options:
- Off, On
op('flip').par.Contactmaxpublish - Default:
65536- Range:
- 1024 to 4194304
op('flip').par.Contactmassscale - Default:
1- Range:
- 0.001 to 1000
Emitter
op('flip').par.Liquidemiton - Default:
Off- Options:
- Off, On
op('flip').par.Liquidemitx - Default:
0- Range:
- -10 to 10
op('flip').par.Liquidemity - Default:
0.3- Range:
- -10 to 10
op('flip').par.Liquidemitz - Default:
0- Range:
- -10 to 10
op('flip').par.Liquidemitsizex - Default:
0.24- Range:
- 0.001 to 10
op('flip').par.Liquidemitsizey - Default:
0.24- Range:
- 0.001 to 10
op('flip').par.Liquidemitsizez - Default:
0.24- Range:
- 0.001 to 10
op('flip').par.Liquidemitrate - Default:
0- Range:
- 0 to 50000
op('flip').par.Liquidemitvx - Default:
0- Range:
- -50 to 50
op('flip').par.Liquidemitvy - Default:
0- Range:
- -50 to 50
op('flip').par.Liquidemitvz - Default:
0- Range:
- -50 to 50
op('flip').par.Inputvelattr - Default:
v
op('flip').par.Inputvelscale - Default:
1- Range:
- -100 to 100
op('flip').par.Inputveladdx - Default:
0- Range:
- -50 to 50
op('flip').par.Inputveladdy - Default:
0- Range:
- -50 to 50
op('flip').par.Inputveladdz - Default:
0- Range:
- -50 to 50
Foam
op('flip').par.Whitewatermax - Default:
262144- Range:
- 256 to 4194304
op('flip').par.Foamgen - Default:
2- Range:
- 0 to 10
op('flip').par.Foamcrest - Default:
1- Range:
- 0 to 4
op('flip').par.Foamtrapped - Default:
0.8- Range:
- 0 to 4
op('flip').par.Foamthreshold - Default:
0.5- Range:
- 0 to 1
op('flip').par.Foamnucleation - Default:
0- Range:
- 0 to 20
op('flip').par.Foamscale - Default:
0.5- Range:
- 0 to 4
op('flip').par.Foamlifetime - Default:
2- Range:
- 0.1 to 8
op('flip').par.Foamdecay - Default:
1- Range:
- 0 to 10
op('flip').par.Foambuoyancy - Default:
1- Range:
- 0 to 10
op('flip').par.Foamdrag - Default:
4- Range:
- 0 to 15
Color
op('flip').par.Basecolorr - Default:
0.2- Range:
- 0 to 1
op('flip').par.Basecolorg - Default:
0.45- Range:
- 0 to 1
op('flip').par.Basecolorb - Default:
0.9- Range:
- 0 to 1
op('flip').par.Colorspeed - Default:
0- Range:
- 0 to 1
op('flip').par.Colorspeedmax - Default:
4- Range:
- 0.01 to 20
op('flip').par.Spraycolorr - Default:
1- Range:
- 0 to 1
op('flip').par.Spraycolorg - Default:
1- Range:
- 0 to 1
op('flip').par.Spraycolorb - Default:
1- Range:
- 0 to 1
op('flip').par.Foamcolorr - Default:
0.92- Range:
- 0 to 1
op('flip').par.Foamcolorg - Default:
0.96- Range:
- 0 to 1
op('flip').par.Foamcolorb - Default:
1- Range:
- 0 to 1
op('flip').par.Bubblecolorr - Default:
0.7- Range:
- 0 to 1
op('flip').par.Bubblecolorg - Default:
0.82- Range:
- 0 to 1
op('flip').par.Bubblecolorb - Default:
1- Range:
- 0 to 1