This page provides example scenes for different types of Phoenix FD simulations.
The following samples illustrate the usage of different features in Phoenix FD.
This scene demonstrates how to set up a simple shower scene using Phoenix FD. The shower nozzles are added to the Liquid source with some noise for the Outgoing velocity in order to randomize the emission. The steps per frame are set to 10 in order to compensate for the fast moving liquid particles.
Software used: Phoenix FD 3.12.00, V-Ray Next, 3ds Max 2015
This scene demonstrates how to set up a simple fountain scene using Phoenix FD. There are four different sources with added noise for the Outgoing velocity in order to randomize the emission. The rendering of the Liquid simulator is disabled and the liquid particles are rendered as points using the Phoenix FD Particle Shader. For the ground material a Phoenix Particle Texture which uses the Wetmap particles is used as a mask to blend between a dry and wet material.
Software used: Phoenix FD 3.10.00, V-Ray 3.60.04, 3ds Max 2015
This scene demonstrates how to use Phoenix FD's Variable Viscosity capabilities in order to simulate molten lava or metal cooling and hardening. The Phoenix FD Liquid Source used in the simulation emits liquid with a Viscosity value set to 0.3. Noise textures are used for the Outgoing Velocity and Viscosity so that the flow has some variation.
The Phoenix FD Mapper in the scene uses an Output map with Output Amount of 1.0 in order to gradually set the Viscosity in the container over time to a value of 1.0. The Mapper's Time Constant is set to 2, so that the viscosity will gradually increase over 2 seconds. This way, each new born particle has 2 seconds before it reaches maximum viscosity, and since particles are born during the entire animation, older ones have already hardened, while new ones are still in liquid form. A Gradient Ramp texture is used as a mask for the Mapper to limit the effect to only the bottom part of the simulator, so that the liquid hardens with time only near the ground.
The shader uses a VRayBlendMaterial with VRayLight material for the hot part of the lava as the base layer and a black VRayMtl for the cold lava as the coat. The two materials are then blended with a Phoenix FD Grid Texture used as a mask in the Blend Material. The Grid Texture samples the Viscosity channel of the simulator so that the liquid with lower viscosity will use the hot VRayLightMaterial and the thicker liquid will use the cold VRayMtl.
The compositing part is done inside of Nuke (script provided in the download link) where a several Glow and Blur nodes are used in order to give hotter look to the lava.
Software used: Phoenix FD 3.10.00, V-Ray 3.60.04, 3ds Max 2015
This scene demonstrates how to use the Phoenix Wave Force | WaveForce to create simulated waves on a shore. The simulated waves create Splash particles which in turn create Foam particles by using the Foam On Hit parameter of the Splash particles. Other important settings for the setup are the Droplets Surfing option which is enabled so that waves would slide upon the water surface instead of directly mixing with the water volume, and also the Foam Patterns which help create a more diverse surface of the foam left behind by the waves. The Foam Rising Speed is tuned to 35 cm/sec so the Foam remains underwater for a short while and can be tinted using the water material's fog color.
The Foam and Splash particles are rendered using the Phoenix Particle Shader in Point mode, which is the fastest particle render mode and is recommended for large scale scenes where individual bubbles are not visible and vast volumes of particles must be rendered. The settings are tuned in such a way that you can quickly switch to Bubble mode for the Foam and Splash mode for the Splash particles which are a bit more realistic but will take much longer to render. The Point Shadow Strength is boosted to 3.0 so the volume of the foam volume stands out and the foam is not rendered flat. The Point Alpha is lowered to 0.1 so individual foam particles don't pop up in the render as bright points, and only larger masses of foam are rendered more opaque. The Light Cache of the Particle Shader is also enabled and uses a high Light Cache Speedup in order to improve the render times.
The liquid also creates WetMap particles over the shore geometry which are used to mask wet and dry materials using the Particle Texture | PhoenixFDParticleTex. Mesh Smoothing is enabled in order to remove noise from the liquid mesh's surface, and the Mesh Smoothing Particle Size is increased so the mesh doesn't shrink and reveal air pockets between the liquid and the bottom which will become visible in the rendering. The preview of voxels and the Liquid and WetMap particles is switched off in order to speed up simulation and only the preview of Foam and Splash particles remains enabled. You may re-enable the preview if you want to observe the simulation process, or alternatively, you can speed up the simulation even more by setting Read Cache for Preview to Disable During Sim from the Preview rollout.
Software used: Phoenix FD 3.10.01 nightly (24 Mar 2018), V-Ray 3.60.04, 3ds Max 2014
This scene is setup in such a way that you can use Resimulation with Wavelet Turbulence in order to add detail to an initial simulation of a relatively low resolution. In order to get a good rolling from the smoke, high Conservation Quality is used, along with PCG Symmetric conservation.
Smoke and fire following a path
This setup uses the FollowPath helper in order to guide two separate simulations of smoke and fire along spline curves. The smoke simulation must be run before the fire simulation. Note that the FollowPath force can be used for liquids as well.
Car tire burnout
The tire is made Solid. Another cylindrical geometry object is created around the tire in order to drag the smoke around it. The surrounding body is made non-Solid and non-renderable. It is connected to a PHXSource and everything on the source is turned off except for Motion Velocity so that the body affects the smoke's velocity when spinning. The surrounding body must be connected to the wheel and spin together with it. The simulator's Object voxels are set to Inscribed so that the smoke would enter the real renderable wheel's volume a bit, otherwise, there would be a visible gap between the smoke and the tire. You can control how much the smoke is dragged by the wheel using the Motion Velocity multiplier on the source.
A non-Solid, non-renderable box is placed at the contact patch between the wheel and the ground. It is connected to a second PHXSource and the source is set in inject mode as it discharges smoke with added pressure.
The scene uses classic Vorticity for this one. PCG Symmetric conservation is used as it is more detailed than Smooth. The Conservation Quality is set to 20 so the smoke rolls better. Simulation steps are set to 2 - 1 step is not enough and the smoke starts becoming grainy due to the high velocity, but more than 2 starts to smooth out the smoke a bit too much.
Three forces are used in the scene. Two BodyForce helpers on the top and bottom of the lamp to give the fluid its vertical motion, and a Turbulence field that adds chaotic changes in the velocity field to break the bubbles apart.
The BodyForce helpers are set up such that each one affects only half the lamp. The bottom one pushes the liquid upwards, and the top one pushes it back down. After a while, the fluid loses its momentum and the system reaches equilibrium. To avoid this, a weak turbulence has been added that prevents the system from balancing and introduces additional fluid splitting forces.
A polygon grid has been added at the bottom of the lamp to help the fluid collect there, just like it does in real Lava Lamps.
The Liquid Source is in Volume Brush Emit Mode, connected to a Sphere. The "Non-Solid" option is enabled on the Sphere for the Volume Brush mode to work.
The discharge parameter is animated - if you'd rather have more/less liquid in the lamp, you can simply move the key along the timeline or input a different value for this parameter.
Play Speed is set to 0.4 to slow down the playback of the simulation.
You can play with the Random Seed value on the Turbulence node to get different looking simulations with little effort.
This scene shows how to shape a liquid into a geometry volume using the BodyForce helper.
Both solid and non-solid modes are supported. When the object is solid, the liquid will be pushed to its surface. When the object is non-solid, the liquid would fill the object. This scene uses non-solid objects which are made non-renderable and their volume is filled. The strength of each force is animated in order to produce the morphing. The forces are activated sequentially and the liquid takes the shape of the currently active force.
This scene demonstrates how to set up a Fireplace simulation.
For this scene, the Conservation Method is set to Buffered as it produces the best detail for fire simulations. The Steps per Frame option is set to 5 because of the fast motion of the flames. A noise texture is used for the Outgoing Velocity and Temperature slots of the Source so that the fire emission is distributed randomly along the logs' surface which adds more diversity.
For rendering, the Fire opacity mode is set to Fully Visible and the render curve is adjusted to bring out the detail of the fire. The Light Power on Scene option is set to 2 so that the intensity of the light cast on the scene will be higher.
Ship in the ocean
This example is a sea simulation involving foam and splash. Only the zone around the ship is simulated. The rest of the ocean is simply a surface with waves. Usually, such simulations require a large container that covers the entire route of the ship. With Phoenix FD this is no longer needed. The container covers only the ship and is connected to it, and the Inertial forces option makes the movement of the water the same as if the ship is moving in a very large static container. For more information how this technique works, see the Tips and Tricks section.
The foam is born indirectly by the splash. For large scale scenes, this method is better than direct foam birth because it can't produce bunches of foam. The Outside life is set to 20 sec. to allow the foam to leave the container and to form the wake. The rendering of the ocean surface uses the Ocean render mode, and displacement with Ocean Texture | PhoenixFDOceanTex.
This example shows how to simulate the process of covering a cookie with chocolate. The parameter that makes the liquid thick is the Viscosity. The bigger the viscosity, the thicker the liquid.
When simulating viscous liquids, you have to enable the Wetting and the Sticky Liquid. Otherwise, the liquid will not stick to the objects. Another important point in this scene is the Mesh smoothing. It is very important to enable Liquid Particles for smoothing, because otherwise, the animation may flicker. To use particle-based smoothing, the liquid particles must be exported. See the Output rollout for more information.
Ink in water
This example demonstrates a technique for rendering thin smoke layers, ink in water, etc. The technique is particle-based and uses the Point mode of the Particle Shader. To achieve good smoothness, more than 50M particles are used. This produces huge cache file sizes of up to 1GB per frame. Thus, the Preview is switched off because loading of the file in the memory can take longer than the simulation itself. You may re-enable the preview if you want to observe the simulation process.
This scene demonstrates how to create a highly symmetrical nuclear mushroom cloud. The setup contains a spherical emitter which creates the fireball, as well as a particle system, created using PFlow which expands in the shape of a ring and creates the blast wave. The scene uses Direct Symmetric Conservation with high Quality in order to produce good rolling of the vortex ring that forms from the fireball, and Massive Vorticity is used in order to give more detail to the smoke.
This example shows how to connect two simulators in a cascading way and how to avoid the moving container problem. The scene uses two simulators. You have to run bottlesim first and once it finishes, run glasssim. The liquid transfer is achieved by setting the first simulator in the Cascade Source slot of the glass simulator's Grid rollout.
This setup uses several PFlow particle systems that are connected to separate Phoenix Sources, each one emitting different RGB color. As the explosion unfolds, the colors are mixed in order to produce a more realistic look, as actual explosions usually involve different materials which have different colors as well. A Plain Force | PlainForce helper is used to produce wind which directs the smoke produced by the initial blast sideways.
Looped bubble animation
In many cases like torches, fountains, waterfalls, etc., you can save a pretty good amount of simulation time by rendering a short looped sequence. Usually, this is done in post-production by overlapping and blending the start and the end of the looped sequence. This method is not easy, and often the result is not good, especially when particles are involved. Since version 2.2, Phoenix FD has the ability to make this automatically. In the Input roll-out, simply select Loop in the Time Bend Controls and adjust the looped sequence. When simply repeating a sequence, the moment where the last frame switches back to the first one will not produce smooth results. The goal of the loop adjustment is to make the loop transition invisible. The grid part of the content is looped in a trivial way, the frames are just blended linearly, but the particles need more attention and that's why the sample scene is particle oriented. What we need to know about the particle looping technique? The most important is that it is age based. You need to export the Age channel through the Output rollout to make it possible. In the typical looped simulation, particles have a relatively short life span; they are constantly produced and removed. For example, in a fountain the splash droplets are born near the top, they fall down, and when they hit the ground they disappear. The typical particle, in this case, lives about one second. For good transition of the looped sequence, you need to set the loop overlap bigger or equal to this average particle life span. If this condition is not satisfied, there will be particles that disappear suddenly and the transition will be visible. In the sample scene the average lifespan of the bubbles is about 1.5 sec and the loop overlap is set to be 50 frames.