Jump to content

Some questions about volume fluids


lisux

Recommended Posts

Hi all.

It is my first time doing fluids effect using the volume smoke solver in Houdini.

I have some doubts about it:

- Control density emission: I am used to have a parameter to control how much density you want to emit from a nobject. when you load your emission objects and make a source relationship what the solver does is to emit 1 in every voxel into your emitter. Any why to scale this?. May I use point attributes in my emission geo to do it?

I know you can do it for the initial density but I dont know how to do it for sources added using a relationship.

- The upress is giving me some problems: I have made my low rez sim, I got some density in my fluid at all times. But when doing the upress in some parts of the sim I got nothing and then the domains begins to be filled again with smoke. It looks like the upress density gets dissipated faster than the density in the low rez.

- Divergence: It is possible to tweak the divergence field so I can put negative values, this will, in theory, attract the fluid and makes it dissapears, similar to a mix of an attractor and a sink.

- (0, 0, 0) Bouyancy: I want my bouyancy force to go in all directions, I ant to get an expansion effect, may I get it using an axis for the bouyancy direction like 0, 0, 0. Iam using it right now but not sure if it is affecting the sim. So I am curious what you shoul get with a bouyancy direction of 0, 0, 0 and how to expand my smoke.

Well I think so far is enough :)

Thanks for the help.

  • Like 1
  • Downvote 1
Link to comment
Share on other sites

About divergence, You want to sink density when Div < 0 and source when Div > 0 is that what you want to do ?

I think Smoke/Pyro Solver compute divergence field by default, I'm typing fro the frok the phone, so I can't check it.

I guess divergence field is display as smoke field so you don't see negative values, did you try gas calculate to add divergence to temperature/density ?

Link to comment
Share on other sites

About divergence, You want to sink density when Div < 0 and source when Div > 0 is that what you want to do ?

I think Smoke/Pyro Solver compute divergence field by default, I'm typing fro the frok the phone, so I can't check it.

I guess divergence field is display as smoke field so you don't see negative values, did you try gas calculate to add divergence to temperature/density ?

thanks Bareja for your response.

I will try the force field.

For the divergence, what I want is to affect the divergence field usign and object which basically emits positive or negative divergence causing the fluid to be repealed or attracted, and in the case of the negative divergence cause the fluid to sink when it reach the negative areas.

I will try the the gas calculate also as yo usuggested.

cheer!

Link to comment
Share on other sites

OK now I'm full online ;) so I can check everything in H.

About Control density emission. As you know Smoke/Pyro Solver are digital assets, so it's possible to modify it. In H11 solver was divided by sections. Check what is inside and find 'Sources_and_Sinks' this graph describes what is going with source and sink,temperature etc. Go and find Gas Calculate operator with name mix_in_source_density in 'Source Processing' you can multiply source beforce maximum function will be called.

Tadam that's all ;)

Edited by bareja
Link to comment
Share on other sites

OK now I'm full online ;) so I can check everything in H.

About Control density emission. As you know Smoke/Pyro Solver are digital assets, so it's possible to modify it. In H11 solver was divided by sections. Check what is inside and find 'Sources_and_Sinks' this graph describes what is going with source and sink,temperature etc. Go and find Gas Calculate operator with name mix_in_source_density in 'Source Processing' you can multiply source beforce maximum function will be called.

Tadam that's all ;)

to contro lthe density emission I found Source Apply DOP the better solution for me.

I know about the gas calculate bur Apply Source can do a lot of extra things in one operator which is nice.

Source Appply seems to be a really flexible operator.

But still looking for a good solution for expansion and divergence.

I tried the Field force but seems more targeted to create a force vector field using point attributes from geometry. expansion is differenet, is an inner force from the gas itself, so I think the Force field is not the best approach.

Also for the divergence I will try a mix of target forces and sink object and see what happens.

cheers!

Link to comment
Share on other sites

divergence is just another field

- add positive values to expand the fluid

- add negative values to contract the fluid

to feed the data, you can use a gasCalculate or a gasFieldvop as such:

divergence = density ( expand the gas where there is density )

to contro lthe density emission I found Source Apply DOP the better solution for me.

I know about the gas calculate bur Apply Source can do a lot of extra things in one operator which is nice.

Source Appply seems to be a really flexible operator.

But still looking for a good solution for expansion and divergence.

I tried the Field force but seems more targeted to create a force vector field using point attributes from geometry. expansion is differenet, is an inner force from the gas itself, so I think the Force field is not the best approach.

Also for the divergence I will try a mix of target forces and sink object and see what happens.

cheers!

Link to comment
Share on other sites

divergence is just another field

- add positive values to expand the fluid

- add negative values to contract the fluid

to feed the data, you can use a gasCalculate or a gasFieldvop as such:

divergence = density ( expand the gas where there is density )

Make sense.

Thanks Julien!

Link to comment
Share on other sites

Here is a simple example of positive and negative divergence using the standard smoke solver:

divergence.hip

have fun :)

Thanks Julien, I will give it a try today.

I fixed my problem with the upress disappearing, as usual was something stupid, I was using a resize in the smoke solver but not in the upres solver, I supposed that the upress can grab the smoke object domain, but because the resize is done in a post process stage I think it cant and you have to wire the resize node to the upress solver too.

Link to comment
Share on other sites

The other day another doubt comes to my mind.

It is very common to have a dissipation parameter in a fluid emitter.

what options we have in DOPs to accomplish the same thing?

And also it is possible to disipate density using temperature. I guess using Gas Calculate could do the job, but not sure if ther is any other easier way.

cheers

Link to comment
Share on other sites

You can create dissipation with a gas Calculate but you would get more control with a gasFieldVop.

This way you can remap the temperature with a fit range and a ramp parameter.

density = density - (remapped temperature)

:)

The other day another doubt comes to my mind.

It is very common to have a dissipation parameter in a fluid emitter.

what options we have in DOPs to accomplish the same thing?

And also it is possible to disipate density using temperature. I guess using Gas Calculate could do the job, but not sure if ther is any other easier way.

cheers

Link to comment
Share on other sites

You can create dissipation with a gas Calculate but you would get more control with a gasFieldVop.

This way you can remap the temperature with a fit range and a ramp parameter.

density = density - (remapped temperature)

:)

This sounds great and will give it a try definitely. gasFieldVOP sounds really good, sweet!

I am also thinking in a probably more natural solution, there is an option for temperature diffusion, it scale temperature when it travels from one volxel to the next, not sureif I can make the same thing with density. I guess using gasFleidVOP I can scale the whole density, but this is different than scaling the density when it travels along voxels.

Not sure how it can be achieved.

Link to comment
Share on other sites

Actually I almost forgot, but there is a "gasdissipate" microsolver which is a digital asset

with a gasBlur and a GasField Vop with a ramp. You can use "temperature" as a control field.

that should be exactly what you need :D

This sounds great and will give it a try definitely. gasFieldVOP sounds really good, sweet!

I am also thinking in a probably more natural solution, there is an option for temperature diffusion, it scale temperature when it travels from one volxel to the next, not sureif I can make the same thing with density. I guess using gasFleidVOP I can scale the whole density, but this is different than scaling the density when it travels along voxels.

Not sure how it can be achieved.

Link to comment
Share on other sites

Actually I almost forgot, but there is a "gasdissipate" microsolver which is a digital asset

with a gasBlur and a GasField Vop with a ramp. You can use "temperature" as a control field.

that should be exactly what you need :D

It worked really nice Bunker.

gasdissipate it was I was looking for.

Thanks!

Link to comment
Share on other sites

HEAT is your "fire" field

Well Houdini defines Heat as age for the fluid, is a kind of how the fluid evolves in time.

When you mena fire is because in other packages is called "fire"?

The think I cant understand clearly is how Heat is calculated, it uses Temperature? Density?

What this field represents?

Link to comment
Share on other sites

Heat is not the age of the fluid, and there isn't any field to track

the age of the fluid in the default Pyro solver: you have to build that :)

this is not exact, but to simplify :

burn = min(temp - ignition_temp,fuel)

heat = heat + burn

fuel = fuel - burn * (1/fuel_inneficiency)

temp = temp + (burn * heat_output)

density = density + burn * (soot_rate)

burn is re-created on every frame

heat is kept and advected

density is smoke

It's all in the combustion model which is a digital asset :D

Edited by bunker
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...