Macha Posted April 4, 2011 Share Posted April 4, 2011 The buoyancy force in the pyro and smoke solvers can only be set to a global direction. Imagine we want to burn a planet or some other shape where "up" (the buoyancy direction) is different for every point (i.e. normal direction) What is the best way to achieve this? Should we advect velocity with a vector field or is there a better method? Quote Link to comment Share on other sites More sharing options...
kustaa Posted April 4, 2011 Share Posted April 4, 2011 hi Macha, the only way ive been able to create nonuniform buoyancy direction is to build your own buoyancy force. i did it with gasfieldVop. basically just reading the temperature and using that as a driver on your custom direction. you can also check this preview once vimeo is done with the conversion http://www.vimeo.com/21916443 cheers, Kustaa fluidsRadialBouyancy_02.hipnc Quote Link to comment Share on other sites More sharing options...
chumbuk Posted April 4, 2011 Share Posted April 4, 2011 or something like this... vector buoy.hipnc Quote Link to comment Share on other sites More sharing options...
Macha Posted April 4, 2011 Author Share Posted April 4, 2011 Cool stuff. Thank you, that should get me going. Quote Link to comment Share on other sites More sharing options...
old school Posted April 4, 2011 Share Posted April 4, 2011 Buoyancy is implemented in the Pyro and Smoke solvers as a Force. It is called surprisingly the Gas Buoyancy DOP. Dive in to the Pyro or Smoke solves and go to the Forces area and there it is. It takes the temperature field and subtracts from the ambient temperature then is multiplied by the single transform matrix that is the gas buoyancy direction. There is no divergence applied here. See the help for the actual formula. This means that Buoyancy is what takes the temperature field and drives the velocity forward. Set Buoyancy to 0 and temperature no longer affects velocity as it should or so I have come to live with. The Gas Buoyancy DOP takes temperature and uses it for upward velocity. It's great for buoyancy-dominated plumes but for some simulations you have a buoyancy-dominated plume turn in to a momentum-dominated plume and could what you are trying to simulate. One such plume is factory exhaust from a tall chimney. At first it is all buoyancy driven with substantial velocity due to the chimney effect. As the smoke rises it looses most of it's temperature and then becomes momentum-dominated where wind and other forces start to push the smoke plume around. The two solutions from chumbuk and Kustaa are good examples of how to modify the velocity field in lieu of what Gas Buoyancy DOP is doing. Actually in both files they went and turned buoyancy completely off! By definition those two files are now pushing the smoke around as though it were a momentum-driven plume. Oh well... One way to keep buoyancy as a force is to introduce a divergence field in your simulation. Do this if you have ever more expanding gas causing the plume to expand as it rises. The Pyro solver has soot combustion so you could use this to add expanding divergence to your smoke. For an exploding planet, I'd be adding a divergence field to allow the gas to expand at the rate I wanted it. The divergence field is a back door in to the Gas Project Non-Divergent DOP allowing you to create divergent velocities in your simulation. 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.