Jump to content

Boyancy direction


Macha

Recommended Posts

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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

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...