Jump to content
Sign in to follow this  

Pyro Solver - cooling Rate vs Flame Height

Recommended Posts

Hello everyone.

I've been attempting to wrap my head around the pyro solver for awhile now and I am having some difficulty. Two settings in particular (cooling rate and flame height) have left me feeling a bit confused. As far as I can tell, both settings affect how quickly the flames cool off. However, I cant seem to figure out why I would want to use one over the other. I've searched various forums and read the documentation, but I still cant seem to find a clear answer. Aside from the adjustable ramp in the flame height, is there a major difference between these two settings? If so, In what type of circumstance would I want to use one over the other?

Thank you for any help you can give me.


Share this post

Link to post
Share on other sites

Even though this is an old tutorial, Peter's explanation of the combustion model is worth checking out.

A simple answer would be the cooling rate affects how quickly the temperature field attempts to reduce to 0 after the burn is applied. I think the flame height is simply a multiplier on the result of the burn. So one is kind of like pre-burn and the other is post-burn controls.

I just recently started experimenting with creating a separate volume just for fuel and other just for temperature. The shelf tools kind of link these together so you are guaranteed ignition of your fuel. But you may want to delay that, in the case of a flame thrower vs explosion, or other fantasy effects.

Share this post

Link to post
Share on other sites

To go into a bit more detail here.

The cooling rate is a multiplication that is being done to the Temperature * ( (1/cooling_rate)*(e^timestep) ).

You can see the setup for this on the "cool_gas" node inside of a pyro solver's smoke solver.


Flame height, or "cooldown_time" which is it's parameter name, has different ways of being calculated based on whether or not you have "Cooling field" enabled on your Flames tab. 

If "Cooling field" is off then the "age_our_old_heat" node will do a straight subtraction from the Heat field, heat-((1/cooldown_time)*timestep).

If "Cooling field" is on then the "age_heat_measured" node will clamp whatever your control field is (Temperature by default) between 0 and 1 and do heat - ( (1/cooldown_time)*timestep*clamped_control_field )


Check the attached images if you want to investigate some more for yourself.




  • Like 1

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this