[Sidefx-houdini-list] Minimum fields needed for a smoke or Pyro sim

Jeff Wagner jeff at sidefx.com
Mon Jan 9 13:08:53 EST 2012

You definitely need the vel vector fields as was mentioned before. If 
you want to see smoke stuff, you also need the density field but not 
mandatory. The density field is generally used as a mask inside the 
solvers and as the visible result of smoke simulations.

If you don't use buoyancy, then you can toss the temperature field and 
rely entirely on velocity momentum by manipulating the vel fields. Use a 
Pump to inject velocity in to the sim if you wish.

As for confinement, if your solver doesn't use it or the parameters are 
disabled or zero'ed out, toss it.  Same goes for divergence.

I'd have a look at the Gas Project Non-Divergent DOP micro-solver as 
this node is responsible for almost all (99.9%) of the fluid behaviour. 
If you don't believe me, unlock the smoke or pyro solver from an 
existing sim, find it and bypass it and see what you get. In the Pyro 
Solver DOP, it's called project_1 and it's in the red colored box where 
red = really really important.

Gas Project Non-Divergent step assumes that across the timestep that the 
gas is non-compressible. The Gas Project Non-Divergence DOP will create 
a corrective pressure field that is applied to the incoming vel fields 
to remove any pressure by adjusting the neighboring voxels giving you 
the nice swirly fluid behaviour. Everything in the Smoke and Pyro solver 
mixes and matches various fields just to feed the Gas Project 
Non-Divergent micro-solver with the few fields that it needs to 
calculate the corrective pressure field. For the Gas Project Non 
Divergent DOP, these are as follows with the default field names:

Velocity Field >>> vel
Surface Field >>> collision
Collision Field >>> collision
Goal Divergence Field >>> divergence
Pressure Field >>> pressure

That's it.

If your simulation has no collision objects then get rid of collision 
and collisionvel (which is used to modify vel earlier on in the 
simulation set-up).

If you aren't using divergence to expand your simulation, get rid of it. 
It is handy to know that the Pyro solver when set to enable combustion 
will use heat and burn to map in to the divergence field to have the gas 
expand (along with temperature). The various smoke presets don't use 
divergence expansion that I know of so can be removed. Think of the 
divergence field as a way of injecting pressure fields (expansion or 
compression) in to your simulation and the Project Non-Divergent stage 
will allow this to happen where the expansion field is non-zero but 
careful as you can really mess up the sim (see the help for the Gas 
Project Non Diverent DOP). Remember the Non-Divergent step exists to 
remove any pressure fields with a counter-field that it calculates and 
modifies the vel field accordingly. So the divergence field gives you a 
bypass on the non-divergence step.

Pressure field is the result of the Non-Divergent step and is the 
corrective field that is applied to the incoming vel fields. By default 
it is kept around for you to inspect and use for whatever purposes. It 
too can be deleted if not needed and is re-created each timestep so 
don't bother modifying it thinking it will affect the simulation.

As an example exercise, if you use a default Billowy Smoke pyro shelf 
preset on some geometry, with no other collision objects or other forces 
applied, you can toss these fields on the Pyro Solver > Advanced > Clear 
tab Additional parameter:

burn collision collisionvel confinement divergence fuel heat pressure 
pump pumpindex rest sink source sourceindex

More information about the Sidefx-houdini-list mailing list