Method #
This node simulates fluid dynamics on a particle system using the FLIP (FLuid In Particle) or PIC (Particle In Cell) simulation methods. This is typically used to simulate smoke, gas and other fluid effects. This works by transferring particle forces to a grid, solving pressure forces on the grid and then transferring the resultant forces back to the particle system. This allows particles to affect each other and to move in a locally coherent manner. The simulation is stable, detailed and efficient.
The grid resolution and size used for the pressure solver is key to the detail and performance of the resultant simulation. A higher resolution grid over a smaller area will give a more detailed simulation, but higher resolution grids are slower to process. The simulation may be switched from 3D to 2D, in which case one axis is dropped from the simulation.
Parameters
These properties control the 3D transforms of the node. Transforms will generally be inherited by child nodes, although they can be ignored through the Inherit Transform Channels attributes.
Parameter Details
Position X Move along the local x-axis.
Position Y Move along the local y-axis.
Position Z Move along the local z-axis.
Rotation Heading Rotate around the local y-axis.
Rotation Pitch Rotate around the local x-axis.
Rotation Bank Rotate around the local z-axis.
Scale X Scale along the local x-axis.
Scale Y Scale along the local y-axis.
Scale Z Scale along the local z-axis.
Control the inheritance of the transforms from the parent.
Parameter Details
Position Toggle inheritance of the Position from the parent.
Rotation Toggle inheritance of the Rotation from the parent.
Scale Toggle inheritance of the Scale from the parent.
World Position Only Inherit the world position from the parent only, rotation and scale will be ignored. Overrides above properties.
Inherit Time Toggle inheritance of time from the parent.
These properties control the core behaviours of the node.
Parameter Details
Solver Mode Choose how the solver is calculated.
- PIC : Particle In Cell. A detailed but more noisy and explosive simulation.
- FLIP : A less detailed but more stable simulation.
Velocity Scale Scale the strength of the affectors velocity on the particles.
Incoming Velocity Scale Scales the velocity of the particles before they go into the pressure solver.
Radius Alter the outer radius at which the affector is no longer effective.
Simulation Speed Speed at which the simulation is played.
Depth Spread For 2D simuations - control the range at which the solver affects particles in the depth axis.
Surface Tension Control the amount of surface tension in the fluid solver.
Life Effect Coeffs How much the particles are affected by the affector at different stages of the particles life cycle. Values 1 and 2 are control points used to control a bezier curve between values 0 and 3.
Grid Width The width of the grid in cells.
Grid Height The height of the grid in cells.
Grid Depth The depth of the grid in cells.
Use 3D Solver Toggle whether to use a 3D solver in calculating the fluid dynamics.
2D Axis If 3D solver is turned off, the selected 2D axis is used.
Visualise Solver Visualise the fluid dynamics solver.
Fixed Solver Update Framerate Toggle whether to use the fixed solver, or the legacy mode.
Blend Weight Control how much the affector has an effect on the particles.
These properties control how the flip simulation updates its fluid simulation.
Parameter Details
Time Step Mode Choose how the simulation update rate is calculated. FLIP simulations are sensitive to the update rate: different update rates change the simulation results, so it may be desirable to control it in order to achieve a deterministic simulation.
- Fixed - use a fixed update frame rate as specified by the Update Frame Rate property. Perform a single simulation update per frame.
- Running (Normal) - use the same time delta as the main render : which may vary frame by frame. Perform a single simulation update per frame.
- Adaptive - use a fixed update frame rate as specified by the Update Frame Rate property. If the render time step is greater than the fixed update rate : perform multiple simulation steps in a frame to keep in sync with it - at the cost of slower processing.
Update Frame Rate The frame rate used for simulation updates in Fixed or Adaptive time step mode.
Num Update Steps The number of simulation steps to take per frame. This allows the simulation to be performed with multiple small time steps rather than single large steps, which may give better quality.
Inputs
These properties control the 3D transforms of the node. Transforms will generally be inherited by child nodes, although they can be ignored through the Inherit Transform Channels attributes.
Parameter | Details |
---|---|
Position X | Move along the local x-axis. |
Position Y | Move along the local y-axis. |
Position Z | Move along the local z-axis. |
Rotation Heading | Rotate around the local y-axis. |
Rotation Pitch | Rotate around the local x-axis. |
Rotation Bank | Rotate around the local z-axis. |
Scale X | Scale along the local x-axis. |
Scale Y | Scale along the local y-axis. |
Scale Z | Scale along the local z-axis. |
Control the inheritance of the transforms from the parent.
Parameter | Details |
---|---|
Position | Toggle inheritance of the Position from the parent. |
Rotation | Toggle inheritance of the Rotation from the parent. |
Scale | Toggle inheritance of the Scale from the parent. |
World Position Only | Inherit the world position from the parent only, rotation and scale will be ignored. Overrides above properties. |
Inherit Time | Toggle inheritance of time from the parent. |
These properties control the core behaviours of the node.
Parameter | Details |
---|---|
Solver Mode | Choose how the solver is calculated.
|
Velocity Scale | Scale the strength of the affectors velocity on the particles. |
Incoming Velocity Scale | Scales the velocity of the particles before they go into the pressure solver. |
Radius | Alter the outer radius at which the affector is no longer effective. |
Simulation Speed | Speed at which the simulation is played. |
Depth Spread | For 2D simuations - control the range at which the solver affects particles in the depth axis. |
Surface Tension | Control the amount of surface tension in the fluid solver. |
Life Effect Coeffs | How much the particles are affected by the affector at different stages of the particles life cycle. Values 1 and 2 are control points used to control a bezier curve between values 0 and 3. |
Grid Width | The width of the grid in cells. |
Grid Height | The height of the grid in cells. |
Grid Depth | The depth of the grid in cells. |
Use 3D Solver | Toggle whether to use a 3D solver in calculating the fluid dynamics. |
2D Axis | If 3D solver is turned off, the selected 2D axis is used. |
Visualise Solver | Visualise the fluid dynamics solver. |
Fixed Solver Update Framerate | Toggle whether to use the fixed solver, or the legacy mode. |
Blend Weight | Control how much the affector has an effect on the particles. |
These properties control how the flip simulation updates its fluid simulation.
Parameter | Details |
---|---|
Time Step Mode | Choose how the simulation update rate is calculated. FLIP simulations are sensitive to the update rate: different update rates change the simulation results, so it may be desirable to control it in order to achieve a deterministic simulation.
|
Update Frame Rate | The frame rate used for simulation updates in Fixed or Adaptive time step mode. |
Num Update Steps | The number of simulation steps to take per frame. This allows the simulation to be performed with multiple small time steps rather than single large steps, which may give better quality. |
Name | Description | Typical Input |
---|---|---|
Bounds Transform | Controls the area of space covered by the FLIP simulation. | Bounding Box |
Affected Emitters | Choose which particle emitters can be affected by the affector. | Primitive Emitter |
Procedural Falloff | Use the distance field from a procedural system to vary how strong the affector is. | Procedural Root |
Transform Modifiers | Apply the transforms of another node to this node. | Null |
Target Node | Modifiy the rotations of the node to always direct the z axis towards the input. | Null |
Local Transform Override | Apply the transforms of another node to this node, relative to its parent. | Null |