Jump to content
nquire

gas explosion

Recommended Posts

Hello,

I have been trying to wrap my head around the sourcing methods. What I am trying to create is a burst of fuel/gas in the air and offset ignition source that sets off an explosion. Due to my lack of knowledge in this area in houdini, I have not found a reliable method to bringing in fuel and temperature separately or if there is a way to have them together but offset (fuel dispersed through air and ignition afterwards) The only test results I've gotten was the fuel burning instantly or a massive ball of high temp.

When the fuel is ignited I would still like to achieve a fireball or explosive look. Any suggestions will help and I will play with it more today.

Thank you

N

post-9752-0-40121900-1368972819_thumb.jp

post-9752-0-18373900-1368972830_thumb.jp

Edited by nquire

Share this post


Link to post
Share on other sites

Hello outtacontex,

Thank you for this video. Yes this is very good. The fuel/gas is dispersed in the air and ignited after, with the explosion following the general path. This is what I would like to achieve. Any suggest?

Share this post


Link to post
Share on other sites

I'll let you know if I come up with anything. I've been trying to find a way to animate fuel and set it off myself. Advecting particles and using the particles as a fuel source perhaps? That may give you the misty look your after.

Edited by outtacontex

Share this post


Link to post
Share on other sites

One method is to sculpt your fuel and advect it about with some injected velocity then introduce a very hot source in the middle and watch it go.

This means you are advecting your fuel so you will be tweaking a lot to get the look to go. This results in a more organic explosion. When you see the word "organic" it means less direct-able. You can drive things with a particle simulation if you wish.

Once thing about injecting a fixed amount of fuel is that you don't have to fuss around with the Gas Expansion parameter. Just set it at a constant value along with the temperature released. These two are key in getting the right explosion dynamics. Once dialled in to your scene scale and fuel amount, you are good to repeat.

One thing you have to watch out for is that Disturbance maps in to temperature when using the shelf Explosion and Fireball presets. This will cause your fuel to ignite all over the place before you add your hot igniter. Just set Disturbance to drive in to Velocity instead.

----

Once you get the hang of igniting fixed amount of fuel and advecting it through the simulation, you can then do what they do. Put the fuel source in a bowl on the ground and then let the force of the explosion blow it upward. It is best to map in a large amount of upward velocity yourself as the divergence field may blow down right through your ground collider.

Hope this helps.

Re-uploaded file:

ignite_fuel_explosion.hip

Edited by old school
  • Like 7

Share this post


Link to post
Share on other sites

same here ... dammit !

Share this post


Link to post
Share on other sites

another interesting thing is if it's possible advect some noise field with high res after the sim so that to have an ability to mix it with heat. It's very hard to get noisy heat areas in massive sims.

Share this post


Link to post
Share on other sites

simplest case:

create smoke sim with pyro solver with enabled combustion. source should have some wild noise and vel volumes to spread density) and at some frame (let it be 16) copy density to fuel field and add some temperature (using enable solver) - this will start combustion and in a few frames you'll have heat over the whole density shape.

as for the noise in heat field - imo it's better to alter combustion model. Heat field is just burn field, accumulated over time (think max(heat, burn)) with some dissipation where burn is intersection of temperature and fuel fields (think min(temperature, fuel)). So even if you have nice noisy temperature and fuel field which leads to noisy burn field, accumulating burn over time will "smear" all this pattern.

Share this post


Link to post
Share on other sites

Hey bloomendale,

Very good suggestion. I will give this a try now.

Jeff,

I believe I am following you on what you are saying. I will dig in a little deeper to get full understanding. Eventually I would like to have high level of control over any pyro shot needed during production. Your hip file is inaccessible as others have mentioned. Thank you again for the advice and I look forward to viewing your hip file.

Share this post


Link to post
Share on other sites

I corrected the improper file upload. Tested and works.

The settings on this file were just hastily put together. When I ran the flipbook on the sim, it is moving way too fast. Need to tweak even more.

Actually this sim is pretty controllable. The choice of initial fuel shape, the velocity used to advect it about a bit (creates a nice interesting fuel surface for ignition) and where you locate your ignition source(s) to determine where and how quickly to ignite the fuel. Good for slo-mo shots where you want fire to chase fuel.

Remember this is just one way of setting up pyro. There is the default approach where you have your fuel source also supply the temperature and then you control things with the Gas Expansion parameter. The example file I attached where you decouple the fuel from the ignition source.

Then how you supply the fuel, velocity and temperature are all up to you as those are the three main sources feeding in to a pyro sim:

- particles supply fuel and velocity but ignition source (temperature) is a cloud of points

or

- Sculpt a fuel source but advect with particles feeding in velocity and temperature for ignition

or

- Use particles to supply fuel, velocity and temperature

or whatever you want...

Set up your sims so you can feed fuel, velocity and temperature how ever you want. That is the main reason why we moved sources from DOPs in to SOPs way back in H12.1. This is why the Fuel Source workflow involves source (fuel), temperature (ignition) and velocity (advect stuff about and add initial direction flow to the sim). Just because the pyro shelf tools add a single source apply setup doesn't mean you can add three different sources: one for fuel, one for temperature, one for velocity. Or as many as you want for each of the three.

Just beware that there are some presets on the shelf tools that are designed for the single source such as divergence creating a random temperature field that causes issues with random ignition. Be prepared to sculpt your own solver solution with your own look and controls. Well worth the day or two it takes to tweak out your own look imho.

There is a fourth field you can work with that can help direct the explosion but it has it's challenges: divergence. This isn't in the basic shelf workflow so you have to map say density in to divergence in a source fluid DOP and be very careful as you are now starting to augment/bypass the basic workflows of the Pyro solver but that is the beauty of this system as it is currently designed. Divergence allows you to add expansion to your sim. It makes sense to add divergence up in to the smoke plume to approximate the expansion of late ignition of fuel or in the case of volcanoes, the billowy expansion of ash up in the plume.

Have fun!

Edited by old school
  • Like 1

Share this post


Link to post
Share on other sites

Jeff,

Thank you for this valuable pieces of information. I have quite some time for R&D before lookdev begin, which hasn't always been the case. I think this is perfect opportunity for me to really explore. I have no problems creating multisolver solution for this look. My role is a destruction artist, so being able to manipulate and massage data to achieve an exact look would be great. I will keep thread updated as this look develops!

I know initially when I would create multiple source dops, one for temp, one for fuel, my sim would literally blow up losing all detail and not feeling very explosive (except for massive ball of white, hot temp).

Share this post


Link to post
Share on other sites

Jeff,

Thank you. This setup has helped a lot. I implement your suggestions into a few shots and the lookdev is great. What, in your opinion, would be best approach at controlling divergence? Some shot will be similar to oil rig explosion, slow moving/curling, dense smoke after initial blast.

Share this post


Link to post
Share on other sites

Particles advected through the volume is how I do it. Because divergence is so challenging to control.

A divergence density value from say 0.4 to 0.6 can be very dramatic in it's effect. Particles offer great control for this. If you have a pyro sim, you know that temperature and burn are used to map in to the divergence field so you could affect temperature or burn. Diving in to the Pyro solver, the logic is in the combustion grey network box. More specifically in the gascombustion1 DOP HDA microsolver and inside there is the update_divergence which is a Gas Linear Combination that takes the divergence field and adds burn at it's rate (100% by default and tempdiv which is driven by heat and burn fields. So heat and burn can be modified to affect divergence if you want to keep within the confines of the Pyro Solver.

Note that the divergence field is wiped clean prior to the fourth input to the Pyro Solver giving you a clear slate to pound in whatever divergence you want in to the sourcing input.

As divergence increases from 0-1, it essentially allows velocity values in that divergence field to expand or contract. Essentially a bypass to the non-divergent step where any +ve or -ve pressure is removed when divergence is at 0. Remember that the Project Non-Divergent microsolver DOP is adding all the behaviour to the sim beyond the introduction of the source velocity. The Multigrid variant solver only takes vel and divergence fields and creates a pressure field that then is used to remove the pressure in the velocity field. It's cool to know that the ENTIRE Smoke Solver with all it's various fields ultimately boils down to vel and divergence when using the Project Non-Divergent Multigrid DOP. On the other hand, the PCG method takes collision based fields as well.

So yeah, divergence is a key player in the rapid expansion of fluid sims. ;)

Bunker has a great file submitted from way back on the OdForce forums that shows you how to advect particles to affect divergence in a smoke simulation. You can also add vorticles using the Seed Vorticles shelf tool (in Container Tools) to your simulation and then hack away at this to add divergence fields instead of vorticity, or both. It has a nice feature where vorticles are recycled at the boundaries. You can use the particles to carry any number of attributes and then use Gas Particle to Field DOPs to populate ad-hoc fields that you can then use to modify Divergence with, or anything else for that matter.

Sky's the limit.

Share this post


Link to post
Share on other sites

Thanks for the upload, old school!. As someone who used some Maya fluids for explosions before, I understand the general mechanics of how it works regarding having separate emitters for fuel and heat. I have to use this general technique for an upcoming project, so I'm studying the file on how to do it in Houdini. One issue I am coming across is I am not getting anywhere near the effect I was hoping to get.

For most my attempts, nothing shows up even though the multi field is on and the resize is working correctly for density and fuel. This happened every time even when I recreated the scene piece-by-piece. At one point, I even used the actual pyrosolver from the example file and what shows up is a tiny, white mushroom cloud instead of that dense, gas explosion. I'm not sure what I've done differently to get these results. I attached my scene where the pyro isn't showing up.

fireball_attempt.hipnc

Share this post


Link to post
Share on other sites

Thanks for the upload, old school!. As someone who used some Maya fluids for explosions before, I understand the general mechanics of how it works regarding having separate emitters for fuel and heat. I have to use this general technique for an upcoming project, so I'm studying the file on how to do it in Houdini. One issue I am coming across is I am not getting anywhere near the effect I was hoping to get.

For most my attempts, nothing shows up even though the multi field is on and the resize is working correctly for density and fuel. This happened every time even when I recreated the scene piece-by-piece. At one point, I even used the actual pyrosolver from the example file and what shows up is a tiny, white mushroom cloud instead of that dense, gas explosion. I'm not sure what I've done differently to get these results. I attached my scene where the pyro isn't showing up.

You are not getting any combustion since your second emiter "source_fuel_from_Ignition" is referencing a node "/obj/Ignition_Geo/OUT_fuel" but it should be "/obj/Ignition_Geo/OUT_heat"

Also for the visualization set the Emission field to temperature and Emission color to heat. You are using them the other way around.

Increase the Emission scale and lower the Emission color range to something like 0-2.

Edit...

Btw. Heat is a product of the combustion. You emit temperature, fuel and velocity.

The steps for creating heat is something like this...

1. if(temperature>ignition_temperature), burn = fuel*burnrate

2. heat = max(burn, heat)

Temperature, heat and burn are fields while burnrate and ignition_temperature are parameters on the combustion model...

Burn is created every step while heat is advected.

fireball_attempt-2_fix.hipnc

Edited by mawi

Share this post


Link to post
Share on other sites

Thank you Martin! That worked and, along with some tweaking, I was able to get the effect old school had. Is there is any way to speed up the actual ignition of the fuel and make it more forceful/violent/sudden? For the moment, the moment of ignition is pretty soft and relatively slow. The motion after is great, so using timescale isn't a good option. In Maya, there is a parameter called "reaction speed" that handled this and I wonder if there is an equivalent method for that in Houdini.

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

×