Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Atmospheric pressure Vacuum
#1
I want to apply an external force or cause a vacuum using atmospheric pressure. I thought of dealing with each particle individually with force and feel like there must be a way to change pressures across an area and cause particles to move toward lower pressure. Any thoughts?
Reply
#2
(29-02-2020, 06:43 AM)ProudRoach Wrote: I want to apply an external force or cause a vacuum using atmospheric pressure. I thought of dealing with each particle individually with force and feel like there must be a way to change pressures across an area and cause particles to move toward lower pressure. Any thoughts?

Hi,

The built-in atmospheric pressure parameter does this, see (http://obi.virtualmethodstudio.com/tutor...rials.html). However it isn't spatially variable: the same force is applied to all particles, so you can't use it to drive the fluid in a particular direction.

If you're curious about how atmospheric pressure forces are implemented, follow this article:
http://gamma.cs.unc.edu/SPH_GAS/sph_gas.pdf

Specifically, eq. #13 in it. Assuming incompressible fluid, density does not change in any particular direction inside the fluid but does change in the surface of the fluid, so its gradient can be used as an approximate surface normal. This (unnormalized) normal vector is then scaled by the pressure coefficient, and applied as a force to the particles.

The per-particle normals are exposed in Obi trough the solver.normals array. You can get the normal for each particle from here, multiply it by a custom pressure factor, and feed the result back to the solver.externalForces array, mimicking the built-in atmospheric pressure force.
Reply
#3
Thank you so much, can this normals array allow me to edit other factors as well?
Reply
#4
(28-03-2020, 12:41 AM)ProudRoach Wrote: Thank you so much, can this normals array allow me to edit other factors as well?

What do you mean by "other factors"?
Reply