lisux Posted November 18, 2010 Share Posted November 18, 2010 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. 1 1 Quote Link to comment Share on other sites More sharing options...
bareja Posted November 18, 2010 Share Posted November 18, 2010 To move smoke in all directions use field force, buoyancy doesn't work in all directions. Force = -grad(blur(density)) Quote Link to comment Share on other sites More sharing options...
bareja Posted November 19, 2010 Share Posted November 19, 2010 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 ? Quote Link to comment Share on other sites More sharing options...
lisux Posted November 19, 2010 Author Share Posted November 19, 2010 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! Quote Link to comment Share on other sites More sharing options...
bareja Posted November 19, 2010 Share Posted November 19, 2010 (edited) 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 November 19, 2010 by bareja Quote Link to comment Share on other sites More sharing options...
lisux Posted November 19, 2010 Author Share Posted November 19, 2010 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! Quote Link to comment Share on other sites More sharing options...
bunker Posted November 20, 2010 Share Posted November 20, 2010 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! Quote Link to comment Share on other sites More sharing options...
lisux Posted November 22, 2010 Author Share Posted November 22, 2010 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! Quote Link to comment Share on other sites More sharing options...
bunker Posted November 22, 2010 Share Posted November 22, 2010 Here is a simple example of positive and negative divergence using the standard smoke solver: divergence.hip have fun 1 Quote Link to comment Share on other sites More sharing options...
Macha Posted November 24, 2010 Share Posted November 24, 2010 Great use of divergence, Julien! I thought that we could use this for collision as well. I get some artefacts that look like the kind of stuff you occasionally get when creating sdf, but I don't know where the problem lies. Any thoughts on this? divergence_collide.hip Quote Link to comment Share on other sites More sharing options...
lisux Posted November 24, 2010 Author Share Posted November 24, 2010 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. Quote Link to comment Share on other sites More sharing options...
lisux Posted November 30, 2010 Author Share Posted November 30, 2010 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 Quote Link to comment Share on other sites More sharing options...
bunker Posted November 30, 2010 Share Posted November 30, 2010 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 Quote Link to comment Share on other sites More sharing options...
lisux Posted December 1, 2010 Author Share Posted December 1, 2010 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. Quote Link to comment Share on other sites More sharing options...
bunker Posted December 1, 2010 Share Posted December 1, 2010 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 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. Quote Link to comment Share on other sites More sharing options...
lisux Posted December 6, 2010 Author Share Posted December 6, 2010 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 It worked really nice Bunker. gasdissipate it was I was looking for. Thanks! Quote Link to comment Share on other sites More sharing options...
lisux Posted December 7, 2010 Author Share Posted December 7, 2010 Still with my fluids experiments .... Well probably somebody can clarify me what is the difference between Heat and Temperature? Thanks! Quote Link to comment Share on other sites More sharing options...
bunker Posted December 8, 2010 Share Posted December 8, 2010 HEAT is your "fire" field Quote Link to comment Share on other sites More sharing options...
lisux Posted December 8, 2010 Author Share Posted December 8, 2010 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? Quote Link to comment Share on other sites More sharing options...
bunker Posted December 8, 2010 Share Posted December 8, 2010 (edited) 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 Edited December 8, 2010 by bunker 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.