Houdini Resources

Updated on Dec 13  2017

copyright  Deborah R. Fowler

Fluids - Pyro

Deborah R. Fowler

Fluids - Pyro

Posted: 2013
Updated: Jan  20  2018

NEW: ILLUME Webinar - Pyro Tips & Tricks with Jeff Wagner

What is a fluid?  It is anything that takes the shape of its container (liquids and gasses). (quote here).

Fluid simulation - wiki "increasingly popular tool in computer graphics for generating realistic animations of water, smoke, explosions and related phenomena".

An excellent introduction by Mike Seymour in fxguide on The Science of Fluid Sims is a must read.

More in-depth reading

Rob Bridson, co-founder of Exotic Matter (creators of Naiad) from UBC, has some excellent references on the underlying equations controlling fluids for computer graphics. Many of the references are to Siggraph 2006 and 2007 courses as well as his co-authored book on Fluid Simulation for Computer Graphics. I would suggest to start by looking at the course notes.

Houdini specific

H12 Documentation Entry on Simulating Liquids
To simulate most liquids use FLIP. For fluids such as smoke and flame - use pyro.


In the Volcano tutorial, the Pyro FX presets are examined. Shaping with velocity and look are examined.

NOTE: The sphere used here is 6 units large (in meters, so that's about 18 feet). Remember in simulations scale is important. (The defaults are in meters and kg - as seen in the Preferences/Hip File Options). He later makes it into an 11x4X11 size for the volcano.


A typical pyro network is seen below:

The source_density_from_sphere_object1 - this is where your source object is referenced. If you look in the documentation, this is described as "a microsolver that imports and directly applies SOP volume data". (It is possible, if you are an advanced user, to build an entire new solver out of mircosolvers and use that instead). The settings for volcano are initialized to Source Smoke with the volume path to the appropriate source object.

The two diagrams below show your source object is changed to look like the figure below with the import pyro build (what you render)

In the volcano tutorial, he makes the volcano "thicker" by turning off minimum distance and empty interior to give more density to the source under the SDF From Geometry tab in the create_density_volume node. Noise was added as well. In particular, the Turbulence Settings Sharpness and Element Size were adjusted (similarly Cell Settings).


Back in the dop network, the pyro node and the pyrosolver node have a number of crucial parameters.

The smoke object (pyro) is where the Division Size is set as well as the size of the container (determining the voxel resolution). The lower the number, the more details - the longer the sim. The resolution is key to the look. (This number depends on the size of your simulation ie. values .04 to .07 can give good results, lower will be more detailed, however will increase sim time but may work just fine for smaller effects. If you can afford the sim times lower it, but be sure to check more than the first few frames.)

In the pyrosolver there are a number of tabs. Note that Timescale is animated to give the overall shape of the volcano quickly and then slowed down.

Overall the pyrosolver has the following tabs:

Simulation tab: Temperature is driving the upward force - here are the controls

Combustion tab: and subtabs are controlling the combustion process with detail controls on subtabs

Shape tab:  add turbulence, noise to influence the shape

Relationships and Advanced tabs exist as well

Clearly, there are a large number of controls - the key is to understanding what controls to change.

In the tutorial, another field is created by creating a box the same size as the pyro container and adding a volume sop. This is used to add vel (wind). A volume vop is used to add noise/direction to represent wind to add to the simulation.

Peter Quint compares the combustion model and how it relates to the Houdini controls.
Fuel creates Flames/Smoke/Temperature (Buoyancy)/Expansion to the pyro solver equivalents. In Houdini:
Fuels creates Heat/Density/Temperature/Divergence but Burn is also an intermediate value (not persistent - recalculates, disappears immediately when fuel runs out). See diagrams here.

Also see rendered comparisons and explanations of parameters by Vladimir Abramov here.

An excellent more recent comparison has come to my attention (thank you Christian) by Christopher Chamberlain here.