Finite fuel for Pyro?

   813   0   0
User Avatar
Member
12 posts
Joined: March 2019
Offline
I am looking to get a finite fuel source that burns up over time in Pyro.

Firstly, let's see if I understand everything correctly:
  1. The Pyro solver has a certain amount of fuel in each voxel, let's assume it's burning. The amount of fuel decreases as a result (fuel_inefficiency, burn_rate, and other parameters affecting it).
  2. As of Houdini 17, fuel is sourced from particles that are converted into volumes prior to import into the Pyro solver.
  3. These particles can be created by the Pyro Source node, or manually from points/POP/whatnot, given that they have the necessary attributes (fuel and temperature). Then fed to a volume rasterize node to create fields (?).

Is that all good so far?

Now, assuming it is, this makes it easy to make a finite fuel source. You just introduce it to the Pyro sim at one frame, and cut the supply off at the next one! The fuel circulates in the Pyro system until it finishes burning. I tried testing this and it works. But…

What I don't get is how to do a finite fuel source from movign objects. Especially non-linearly moving. I have simulates a liquid splash. It's animated particles - let's say squirted gasoline - POP or FLIP or what else can it be. Or an animated geometry - perhaps there's a burning potato that's rolling down a cliff until all that remains is charred carbon. Same principle. But let's keep it simple and stick to just one example - I have a liquid being splashed, and I want it to burn up as it's flying through the air.
(I have the FLIP version, POP version, and meshed version, this isn't a problem).

I would like to know how to do this via a simulation. I know I can animate the fuel values by hand, but that's not always a solution.

Should there be some sort of feedback loop between the fluid and the Pyro?
Let's say
  1. I have simmed the points and given them an initial fuel value.
  2. I solve them, feed the position to Volume Rasterize Attributes node to get Pyro fuel/temp fields.
  3. Pyro burns, updates its fuel field.
  4. I export the fuel field, and in my flueid's Pre-Solve stage sample that field (???) and give these updated values back to my points?
  5. Loop that.

Is that a good way to go? Are there any others? I know that FLIP fluids sort of work by converting from particles to fields in a loop each step, but I don't have sufficient technical know-how to go further than this. Any help please?
  • Quick Links