1

I'm developing a non-photorealistic water rendering demonstration using PhysX as the underlying physics solver (using it's SPH simulation), and want to add foam and droplet rendering to enhance its visuals.

First I used the number of neighbor particles as a threshold value to separate them into groups (water, foam and droplet), and render each group in a different way, but reading some research papers I came to the conclusion that using a more physically based approach would be better, and so enter the Weber Number.

The following parameters are used to get the Weber Number, all related to a certain particle or to the fluid as a whole:

  • Density
  • Relative velocity (in relation to the surrounding air)
  • Characteristic length
  • Surface tension

The density and relative velocity are provided by PhysX, and I already got it. While the density is a float value the velocity is a vector of 3 float values, one for each axis of the 3D space (x, y and z). Characteristic length and surface tension are not provided, tough (or if they are provided I don't know how to get them).

So, my questions are:

  • I believe that the Weber Number have to be a float value so I can use it as a threshold to separate the particles into groups. The first problem here is that to get it I need to use the relative velocity provided by PhysX, and it is a vector with 3 float values. How can I get a single float value of this vector to use it in the equation that gives me the Weber Number?
  • Reading some research papers (particularly this one, in section 3.2.1) I decided to use fixed values for the particles characteristic length and surface tension. The question is, which values should I use, and assuming that there are ideal values to these, how can I get to these ideal values?
Liordino Neto
  • 59
  • 1
  • 13

1 Answers1

1

Without knowing much about your application, generally dimensionless numbers like Weber's are used to classify the system into either a low-value or a high-value regime. For these applications, the exact value does not matter as much. The point is that a high value indicates that the situation is qualitatively different from a low value situation. Of course, this becomes problematic when the number is somewhere in between, ie. around unity. The advantage of having classified the system is that it allows you to do approximations that usually simplify things like the formulas involved.

Since you seem to be using Weber's number for classification only, I think this is relevant for you too.

Thus, to answer your question from a physical background, especially given you're not aiming for realism here, using approximate values to classify the situation to simplify the computation seems like a good use of dimensionless numbers like Weber's (and possibly others).

  • For velocity you can use the absolute value of the vector.
  • For characteristic length you should probably use the droplet/foam-bubble size, since that seems to be the only measure of length in your model.

In particular, I wouldn't worry to much about the "ideal value". The approximations are valid for large/small values (depending on the required accuracy/realism, say >~10 and <~0.1), so a factor of 2 off will not make a difference in the classification. If it did, the approximation would not be valid anyway.

Alvra
  • 353
  • 2
  • 10