Page History
...
This rollout controls the dynamics parameters for simulations, which affect the fluid’s behavior when simulating. The Dynamics rollout can be accessed in the Attribute Editor when a PhoenixFDSim object is selected. For liquid-specific dynamics, see the Liquids Liquid Dynamics rollout.
UI Text Box | ||
---|---|---|
| ||
UI Path: ||Select PhoenixFDSim|| > Attribute Editor > Dynamics rollout |
Parameters
...
Anchor | ||||
---|---|---|---|---|
|
UI Text Box | ||
---|---|---|
| ||
When running liquid simulations with the Initial Fill Up option and Open Container Wall conditions, the surface of the generated liquid should remain smooth. If you encounter artifacts in the form of horizontal lines perpendicular to the direction of movement, with Motion Inertia enabled, please ensure that the Scene Scale is reasonable considering the type of effect being simulated. Other possible solutions in case tweaking the scale is not possible are to either increase the Steps per Frame, or to reduce the Cell Size of the Simulator. Liquid artifacts usually appear when the liquid particles move a great distance between frames. Increasing the Scene Scale or the Steps per Frame allows them to stabilize, which in turn keeps the surface smooth. |
...
Gravity Vector | gravityVec, gravityVecEnbl – When enabled, a custom gravity force vector is used instead of the default one (0, -9.8, 0).
Time Scale |timeScale – Specifies – Specifies a time multiplier that can be used for slow motion effects. For more information, see the Time Scale example below.
UI Text Box | ||
---|---|---|
| ||
In order to achieve the same simulation look when changing the Time Scale, the Steps per frame value must be changed accordingly. For example, when decreasing the Time Scale from 1.0 to 0.5, Steps per frame must be decreased from 4 to 2. All animated objects in the scene (moving objects and sources) must be adjusted as well. Time Scale different than 1 will affect the Buildup Time of Particle/Voxel Tuners and the Phoenix Mapper. In order to get predictable results you will have to adjust the buildup time using this formula: |
...
Fuel Buoyancy | fuelBuoyancy – Specifies the buoyancy of the fuel.
Anchor | ||||
---|---|---|---|---|
|
...
Example: Motion Inertia
UI Text Box | ||
---|---|---|
| ||
The following video provides examples of moving containers with Motion Inertia enabled to show the differences between values of 0, 0.5, and 1.0. |
Align | ||
---|---|---|
| ||
|
...
Vorticity
...
Classic Vorticity | vorticity – Adds small-scale detail that is dissipated naturally by the grid-based simulation. Prevents the simulation from becoming smooth and laminar. Unlike Turbulence, which does not care about the fluid's motion at all, the Classic Vorticity algorithms works depending on the velocity of the simulation and changes the velocity field in order to reinforce vortices and add more detail to the simulation. For more information, see the Vorticity example below.
Massive Vorticity | vorticityModV – This mode generally improves the vorticity detail and behavior. Unlike Classic Vorticity which reinforces vortices throughout the grid, the Massive Vorticity gets applied more strongly only to some parts of the fluid, making a difference between thin air with no smoke or temperature, the smoke and temperature's surface, and the inside volume of fluids. The added detail is equally strong for both the fast and the slow moving parts of the fluid. Massive Vorticity also
...
...
Example: Time Scale
UI Text Box | ||
---|---|---|
| ||
The following video provides examples to show the differences of Time Scale with values of 0.3, 1.0, and 2.0. |
Align | ||
---|---|---|
| ||
|
...
Vorticity
Classic Vorticity | vorticity – Adds small-scale detail that is dissipated naturally by the grid-based simulation. Prevents the simulation from becoming smooth and laminar. Unlike Turbulence, which does not care about the fluid's motion at all, the Classic Vorticity algorithms works depending on the velocity of the simulation and changes the velocity field in order to reinforce vortices and add more detail to the simulation. For more information, see the Vorticity example below.Massive Vorticity | vorticityModV – This mode generally improves the vorticity detail and behavior. Unlike Classic Vorticity which reinforces vortices throughout the grid, the Massive Vorticity gets applied more strongly only to some parts of the fluid, making a difference between thin air with no smoke or temperature, the smoke and temperature's surface, and the inside volume of fluids. The added detail is equally strong for both the fast and the slow moving parts of the fluid. Massive Vorticity also does not produce a boiling effect that is present in the Classic Vorticity algorithm, which tears up the slower moving parts of the fluid excessively and stops the fluid's motion. For more information, see the Vorticity example below.
...
Large Scale | vorticity_low – The large-scale multiplier reinforces the big vortex flows in the inner part of the fluid. The effect is similar to what higher Conservation quality can achieve, with the difference that the Large Scale vorticity does not respect obstacles, so it might not be suitable in a more complicated setup. For more information, see the Vorticity example below.
Anchor | ||||
---|---|---|---|---|
|
Section | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Example: Vorticity
|
Randomize
...
These options add random fluctuations in the fluid's velocity for each grid voxel.
UI Text Box | ||
---|---|---|
| ||
The options in the Randomize section do not affect Liquid Simulations. |
...
Amount | randAmount – The amount of randomization. Only the velocity length is changed; the velocity direction remains the same.
Dynamics | randDynamics – The speed of change of the fluctuations. The higher the value, the faster the random noise will change over time.
Anchor | ||||
---|---|---|---|---|
|
...
UI Text Box | ||
---|---|---|
| ||
Internally, the conservation updates the directions and magnitudes of the velocities of each cell in the grid, preparing them for the Advection step when the content will be moved between cells. Basically it tries to equalize the velocities coming in and going out from each cell, and does this in many passes, getting closer to the perfect equilibrium. The number of passes is the conservation strength (quality). In nature, conservation has an infinite strength and is always perfect. In Phoenix, the better the quality of the conservation is, the farther the movement from one point will be propagated, making the simulation more realistic, but at the expense of longer simulation time for each frame. There are a number of conservation methods in Phoenix that you can choose between, depending on the type of your simulation. Each of them comes with pros and cons for the given situation. |
Method | conservMethod – Specifies the method for simulating the conservation. For more information, see the Conservation Method Types example below.
...
Quality | conservQuality – Increases the strength of the conservation. It will help cases when the liquid or smoke is losing volume, or the swirling of the smoke needs to be increased. Beware that increasing the quality will slow down the simulation.
For more information, see the Quality example below.
Uniform Density | conservUniform – When enabled, the mass of the fluid will not be considered. Fire simulations work better with this option on, which ignores the mass. However, unchecking this option might be useful for pure smoke simulations or explosions (for fire/smoke simulations the inverse of the temperature is considered the mass; the hotter fluid will be lighter and the cooler fluid will be heavier, just as in nature).
Anchor | ||||
---|---|---|---|---|
|
Section | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Example: Conservation Method Types
|
Anchor | ||||
---|---|---|---|---|
|
Section | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Example: Conservation Quality
|
Anchor Advection Advection
Transport (Advection)
...
UI Text Box | ||
---|---|---|
| ||
To get the most detail for smoke and fire simulations, it is best to keep the Steps per frame (SPF) low. On the other hand, a higher SPF works better to keep liquid simulations smooth and steady, and can also produce better results for fast moving fluids in general. |
Anchor | ||||
---|---|---|---|---|
|
...
Forward Transfer – Forward Transfer can help if you are losing fluid volume, but is less detailed. Multi-Pass produces the best fluid details and keeps the smoke sharp, making it best for large scale explosions and simulations when sharpness is important.
Multi-Pass – This less dissipative method produces more fine details and keeps the smoke interface sharper compared to other methods. This method is recommended for large scale explosions, veil-like smoke, pyroclastic flows, and all other situations where sharpness is important.
...
sharpness is important.
Anchor | ||||
---|---|---|---|---|
|
Steps Per Frame (SPF) | advSPF – Determines how many calculations the simulation will perform between two consecutive frames of the timeline. For more information, see the Steps per Frame examples below.
UI Text Box | ||
---|---|---|
| ||
Steps per frame (SPF) is one of the most important parameters of the simulator, with a significant impact on quality and performance. To understand how to use it, keep in mind that the simulation is a sequential process and happens step by step. You cannot take a shortcut to simulate the last frame of a simulation, without first simulating all of the frames that come before it, one by one. The simulation produces good results if each step introduces small changes to the sim. For example, if you have an object that is hitting a liquid surface with a high speed, the result will not be very good if at the first step, the object is far away from the water, and at the second step, the object is already deep under the water. You need to introduce intermediate steps, until the object's movement becomes small enough that it happens smoothly across all steps for that frame. The SPF parameter creates these steps within each frame. A value of 1 means that there are no intermediate steps, and each step is exported into the cache file. A value of 2 means that there is one intermediate step, i.e. each second step is exported to the cache file, while intermediate steps are simply calculated, but not exported |
...
Steps Per Frame (SPF) | advSPF – Determines how many calculations the simulation will perform between two consecutive frames of the timeline. For more information, see the Steps per Frame examples below.
UI Text Box | ||
---|---|---|
| ||
Steps per frame (SPF) is one of the most important parameters of the simulator, with a significant impact on quality and performance. To understand how to use it, keep in mind that the simulation is a sequential process and happens step by step. You cannot take a shortcut to simulate the last frame of a simulation, without first simulating all of the frames that come before it, one by one. The simulation produces good results if each step introduces small changes to the sim. For example, if you have an object that is hitting a liquid surface with a high speed, the result will not be very good if at the first step, the object is far away from the water, and at the second step, the object is already deep under the water. You need to introduce intermediate steps, until the object's movement becomes small enough that it happens smoothly across all steps for that frame. The SPF parameter creates these steps within each frame. A value of 1 means that there are no intermediate steps, and each step is exported into the cache file. A value of 2 means that there is one intermediate step, i.e. each second step is exported to the cache file, while intermediate steps are simply calculated, but not exported. |
UI Text Box | ||
---|---|---|
| ||
Increasing the Steps per frame (SPF) also comes with significant trade-offs to performance and detail. A higher SPF decreases performance in a linear way. For example, if you increase the SPF twice, your simulation will take twice as long. However, quality does not have a linear relation to SPF. For maximum detail, it is best to use the lowest possible SPF that runs without any of the issues described in the tip box below, since each additional step kills fine details. For more information, please refer to the Phoenix Explained docs. |
UI Text Box | |||
---|---|---|---|
| |||
Increasing the Signs that the Steps per frame (SPF) needs to be increased include:
More often than not, these issues will be caused by the simulation moving too quickly (e.g. the emission from the source is very strong, or the objects in the scene are moving very fast). In such cases, you should use a higher SPF. |
...
Example: Advection Method Types
UI Text Box | ||
---|---|---|
| ||
The following example shows the difference between the Classic and Multi-Pass advection types. |
Section | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
also comes with significant trade-offs to performance and detail. A higher SPF decreases performance in a linear way. For example, if you increase the SPF twice, your simulation will take twice as long. However, quality does not have a linear relation to SPF. For maximum detail, it is best to use the lowest possible SPF that runs without any of the issues described in the tip box below, since each additional step kills fine details. For more information, please refer to the Phoenix Explained docs. |
...
Example: Steps Per Frame (Liquid)
UI Text Box | |
---|---|
|
...
The following video provides examples to show the differences of Steps Per Frame values of 1, 5, and 15.
| |
Signs that the Steps per frame (SPF) needs to be increased include:
More often than not, these issues will be caused by the simulation moving too quickly (e.g. the emission from the source is very strong, or the objects in the scene are moving very fast). In such cases, you should use a higher SPF. |
Anchor | ||||
---|---|---|---|---|
|
Section |
---|
Example: Advection Method Types |
Align | ||
---|---|---|
| ||
|
...
|
...
|
...
|
...
width | 15% |
---|
...
|
...
|
...
|
...
|
...
|
...
Panel | ||
---|---|---|
| ||
Panel | ||
---|---|---|
| ||
...
|
...
|
Anchor | ||||
---|---|---|---|---|
|
Section | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Example: Steps Per Frame(Fire/Smoke)
|
TexUVW Control
UI Text Box | ||
---|---|---|
| ||
The main purpose of the Texture UVW feature is to provide dynamic UVW coordinates for texture mapping that follow the simulation. If such simulated texture coordinates are not present for mapping, textures assigned to your simulation will appear static, with the simulated content moving through the image. This undesired behavior is often referred to as 'texture swimming'. UVW coordinates are generated by simulating an additional Texture UVW Grid Channel which has to be enabled under the Output rollout for the settings below to have any effect. The custom UVW texture coordinates can be used for advanced render-time effects, such as recoloring of mixing fluids, modifying the opacity or fire intensity with a naturally moving texture, or natural movement of displacement over fire/smoke and liquid surfaces. For more information, please check the Texture mapping, moving textures with fire/smoke/liquid, and TexUVW page. |
UI Text Box | ||
---|---|---|
| ||
For Fire/Smoke rendering with TexUVW coordinates, textures need to be connected the the simulator through a Maya Projection node in Perspective mode. |
Interpolation Amount | texUVWInterpol – Blends between the UVW coordinates of the liquid particle at time of birth and its UVW coordinates at the current position in the Simulator. When set to 0, no interpolation will be performed - as a consequence, textures assigned to the fluid mesh will be stretched as the simulation progresses. This is best used for simulations of melting objects. When set to 1, the UVW coordinates of the fluid mesh will be updated with a frequency based on the Interpol.Step parameter - this will essentially re-project the UVWs to avoid stretching but cause the textures assigned to the fluid to 'pop' as the re-projection is applied. If you intend to apply e.g. a displacement map to a flowing river, set this parameter to a value between 0.1 and 0.3 - this will suppress both the effects of stretching and popping. See the Interpolation example below.
Interpolation Step | texUVWInterpolStep – Specifies the update frequency for the UVW coordinates. When set to 1, the UVWs are updated on every frame, taking into account the Interpolation parameter. See the Interpolation Step example below.
Antitear Strength | texUVWAntitear – [ Only available for Fire/Smoke simulations ] Use this option when the assigned texture appears twisted, torn apart or otherwise distorted. This may happen when the simulation is moving very fast, therefore increase both the Antitear Strength and Antitear Iterations to let Phoenix attempt to resolve the distortion.
Antitear Iterations | texUVWAntitearIterations – [ Only available for Fire/Smoke simulations ] The number of Antitear iterations performed for every Step of the simulation. Increasing this parameter will help resolve UVW distortion issues by allowing Phoenix to run the Antitear Strength operation multiple times. Note that this may slightly increase the time it takes for the simulation to complete.
Anchor | ||||
---|---|---|---|---|
|
Section | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Example: Interpolation
|
Anchor | ||||
---|---|---|---|---|
|
Section | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Example: Interpolation Step
|