Jump to content
pryer

Pyro help!

Recommended Posts

Hi I am planning to do an explosion an (IED) kind of explosion where you see a sudden burst of smoke. I've been experimenting with pyro smoke and as I increase the velocity in the apply_source node, the smoke seems to be created in slices. How do I make it blend?

Share this post


Link to post
Share on other sites

try increasing your divisions of your smoke object?? Seems strange, can you attach a file?

Share this post


Link to post
Share on other sites

try increasing your divisions of your smoke object?? Seems strange, can you attach a file?

Hi! Here's the file..

HELP.hipnc

Share this post


Link to post
Share on other sites

Increase the "substeps" on the outside of the Autodop network node. 50 was giving me a smoother result.

Share this post


Link to post
Share on other sites

The substeps on the dop network work but if you have big network you may substep everything unnecessarily. So, I'd say, try setting the maximum substeps in the pyrosolver first and see if that does the trick.

Share this post


Link to post
Share on other sites

No need to waste time on 50 substeps.

Separating Density emission and Velocity emissions does the trick.

If you need higher advection speed, you might need 2 or 3 substeps.

HELP2.hipnc

:lol:

Edited by bunker
  • Like 2

Share this post


Link to post
Share on other sites

Yes you need to oversample when you have a very fast moving explosion to get any accuracy. If not the density will look like that brainy kind of hash.

I have the attached file running at 2 iterations per frame but may be better at 3 or 4. Test out and see.

So I took the Bunkmaster's file and added temperature as you need this from the source. Once the source stops, the velocity is dampened out so you need temperature to keep things rolling along. The rule is if you are applying your own sources, you need to consider adding temperature as well.

To add direct-ability, I added a simple particle system in the emitter object. I then munged around in SOPs to get a decent velocity field fed in to Bunker's OUT_vel SOP to be picked up by the sim.

I also added divergence at the source. Explosions can use divergence applied at the source. The divergence field is used by the Gas Project Non-Divergent DOP to not apply the non-divergent step so to allow diverging velocity. Btw I really do believe that almost all the fluid character in a sim comes from Project Non-Divergent and I acronym this to PND these days.

Careful with Divergence as if applied to liberally will kill the fluid look as the PND isn't really working in those areas. I just grabbed the velocity particle field in SOPs and munged that a bit to get something at the source. This is the Source Pre Mult parameter on the add_divergence Gas Calculate DOP btw. Careful as you can have the gas explode real fast.

As well, I purposely put the add_divergence Gas Calculate DOP in to the post-apply input instead of the Advection Stage. I didn't want the divergence field to be pulled in to the sim via the velocity or you can have a rapidly expanding fluid and loose control and the nice fluid look.

Tons to tune in this file now. I also wonder if the source is far too large for this simulation and it was made this way because the explosion wasn't expanding rapidly enough. The divergence field can take care of that.

By the time this file is done, you won't need 70% of the guts inside the Pyro Solver.

HELP2_ied_explosion_bunker_jw.hipnc

  • Like 1

Share this post


Link to post
Share on other sites

Yes you need to oversample when you have a very fast moving explosion to get any accuracy. If not the density will look like that brainy kind of hash.

I have the attached file running at 2 iterations per frame but may be better at 3 or 4. Test out and see.

So I took the Bunkmaster's file and added temperature as you need this from the source. Once the source stops, the velocity is dampened out so you need temperature to keep things rolling along. The rule is if you are applying your own sources, you need to consider adding temperature as well.

To add direct-ability, I added a simple particle system in the emitter object. I then munged around in SOPs to get a decent velocity field fed in to Bunker's OUT_vel SOP to be picked up by the sim.

I also added divergence at the source. Explosions can use divergence applied at the source. The divergence field is used by the Gas Project Non-Divergent DOP to not apply the non-divergent step so to allow diverging velocity. Btw I really do believe that almost all the fluid character in a sim comes from Project Non-Divergent and I acronym this to PND these days.

Careful with Divergence as if applied to liberally will kill the fluid look as the PND isn't really working in those areas. I just grabbed the velocity particle field in SOPs and munged that a bit to get something at the source. This is the Source Pre Mult parameter on the add_divergence Gas Calculate DOP btw. Careful as you can have the gas explode real fast.

As well, I purposely put the add_divergence Gas Calculate DOP in to the post-apply input instead of the Advection Stage. I didn't want the divergence field to be pulled in to the sim via the velocity or you can have a rapidly expanding fluid and loose control and the nice fluid look.

Tons to tune in this file now. I also wonder if the source is far too large for this simulation and it was made this way because the explosion wasn't expanding rapidly enough. The divergence field can take care of that.

By the time this file is done, you won't need 70% of the guts inside the Pyro Solver.

Hey thank you! I will study this file an let you know if I get into other problems :)

Share this post


Link to post
Share on other sites

No need to waste time on 50 substeps.

Separating Density emission and Velocity emissions does the trick.

Great! But, why does it work? I don't understand why this can get away with substepping. And if it does, is it worth the extra memory?

Edited by Macha

Share this post


Link to post
Share on other sites

If you look inside the solver, the order should makes sense :

Add density, advect the density (witch result in a blur), then add velocity for the next frame

why do you mean by extra memory ?

Great! But, why does it work? I don't understand why this can get away with substepping. And if it does, is it worth the extra memory?

Share this post


Link to post
Share on other sites

Yes, I looked inside and I can see how it is build. I can kind of understand that vel_source has an effect on the clumping because it is spread out so it will have longer control over the smoke but that doesn't seem the case for density_source. So, why this reduces the stratification is a little mystery to me (but it does, I can obviously see that).

But it's OK, not a big problem. It's a great solution!

As for the memory: you're adding several new fields. At frame 6 the vel_source memory itself is at 4583000 and the divergence_source at 820000.

If you look inside the solver, the order should makes sense :

Add density, advect the density (witch result in a blur), then add velocity for the next frame

why do you mean by extra memory ?

Edited by Macha

Share this post


Link to post
Share on other sites

I believe the resolution of those introduced fields wasn't carefully matched to the base resolution of the simulation smoke container. Since the vel_source and divergence_source fields aren't that large, having a bit more resolution rather than less only takes up more memory and yes as you noticed, is inefficient.

To be more memory sensitive, switching the voxel sizing from max voxels for the largest side to voxel separation makes things easier when using different sized and growing fields.

If you choose to use the Fluid shelf tool "Add field...", it forces you to select the base container and then the added containers will channel reference in to the base field to set things up nicer. Bunker added the nodes manually so these auto-references weren't set up. I just followed his lead when I added the divergence_source field. For what it's worth, I usually use the "Add Field..." shelf tool when adding additional fields to fluid simulations.

Share this post


Link to post
Share on other sites

That's true. I was just making a point about separating vel and density emission to fix the stepping problem.

I assume you'll use the right voxel size for the source fields, but also clear the fields afterwards to same memory :)

Yes I do add a couple of extra fields, but "source" and "sourceindex" fields can be removed.

Share this post


Link to post
Share on other sites

No need to waste time on 50 substeps.

Separating Density emission and Velocity emissions does the trick.

Hi! Your method makes a huge difference!

I'm a houdini beginner, and I run into the same problem with H12. In H12, the source apply process is not laid out as clearly as in H11, I wonder is this trick still work in H12, and how to control the density and velocity sourcing order exactly. Could you explain it a bit more? Thank you very much!!!

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

×