CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   p_rgh in VOF solvers in version 1.7 (https://www.cfd-online.com/Forums/openfoam-solving/77759-p_rgh-vof-solvers-version-1-7-a.html)

 thekay July 2, 2010 09:59

p_rgh in VOF solvers in version 1.7

I would like to ask you, if any of you knows, what is the explanation of the use of p_rgh in multiphase solvers that use VOF. One would say that it provides a correction which represents the buoyancy, but this is as far as I see it, minor in terms of VOF applications that involve two different phases (e.g. air and water). I put a few points up for discussion and I would really like to hear your ideas about them:
• First thing is that I don't know how VOF "understands" what is the phase at which the buoyant term should be applied. I think it doesn't, as it solves one momentum equation for all.
• When the density of one phase is much higher than the density of the other phase, the solution of one momentum equation in the domain, taking into account both densities, will give inaccurate results, especially when those two densities have a very big difference between them.
• In spraying applications like the ones I simulate, most people don't put their domain one metre or two up, but design their (3D) domains in the positive x-axis, with the domains being symmetrical on the y and z axes and usually gravity is applied on one of them (y or z). When p_rgh is used with standard designs, the fluids inside the domain are (assuming for instance a cylindrical domain symmetrical on the y-z plane), half of the domain has a positive potential energy and the other half has a negative potential energy. So is the buoyant effect correct in this case?
Please give me your ideas and I might come back with other philosophical questions on the application of VOF. :)

Cheers

 alberto July 3, 2010 02:35

Quote:
 Originally Posted by thekay (Post 265486) I would like to ask you, if any of you knows, what is the explanation of the use of p_rgh in multiphase solvers that use VOF. One would say that it provides a correction which represents the buoyancy, but this is as far as I see it, minor in terms of VOF applications that involve two different phases (e.g. air and water).
The explanation of preferring p_rgh to p is numerical, not physical, and it is aimed at improving the robustness of the algorithm (force balance involving g and p).
The set of equations solved in 1.6.x and in 1.7.x are formally identical. What changes is how they are treated to obtain a numerical solution.

Quote:
 First thing is that I don't know how VOF "understands" what is the phase at which the buoyant term should be applied. I think it doesn't, as it solves one momentum equation for all.

This is really basic stuff! ;-)
You are solving for a momentum equation for a mixture, but the density of this mixture is not constant, as a consequence the term rho*g in the momentum equation contains the density gradients.

Quote:
 When the density of one phase is much higher than the density of the other phase, the solution of one momentum equation in the domain, taking into account both densities, will give inaccurate results, especially when those two densities have a very big difference between them.
This is what VOF does. Why should it be inaccurate?

Quote:
 In spraying applications like the ones I simulate, most people don't put their domain one metre or two up, but design their (3D) domains in the positive x-axis, with the domains being symmetrical on the y and z axes and usually gravity is applied on one of them (y or z). When p_rgh is used with standard designs, the fluids inside the domain are (assuming for instance a cylindrical domain symmetrical on the y-z plane), half of the domain has a positive potential energy and the other half has a negative potential energy. So is the buoyant effect correct in this case?

Best,

 thekay July 4, 2010 11:54

Quote:
 Originally Posted by alberto (Post 265563) The explanation of preferring p_rgh to p is numerical, not physical, and it is aimed at improving the robustness of the algorithm (force balance involving g and p). The set of equations solved in 1.6.x and in 1.7.x are formally identical. What changes is how they are treated to obtain a numerical solution. [/LIST] This is really basic stuff! ;-) You are solving for a momentum equation for a mixture, but the density of this mixture is not constant, as a consequence the term rho*g in the momentum equation contains the density gradients. This is what VOF does. Why should it be inaccurate? Answered above :-) Best,
Thanks for the answer Alberto. I'm mostly discussing it in a philosophical way to get what is the idea behind adding the term and making it standard for VOF. I think it is more robust having used it once. But I will explain better, in order to clarify why I ask and what kind of discussion I am trying to raise. I think it's an excellent addition to Eulerian solvers but I can't see why it is a must for VOF.

On my first point, I was comparing to Eulerian multiphase cases (e.g. fluidised beds), hence the question.

"Inaccurate" wasn't the right expression. I will phrase my question differently: having a big difference in densities, gives big gradients in a single cell. So, does the p_rgh have any effect on the convergence? But this is a case specific problem. I was wondering how other people understand the convergence effect (if any) of rgh in VOF in large density differences.

On my last point, in order to get physically accurate results, does one need to "raise" his domain at the height where the actual application is performed in real life? And finally, having a symmetrical domain at h=0, does it have any effect apart from calculating buoyant terms which almost completely counter each other?

Thanks

 alberto July 4, 2010 12:52

Quote:
 Originally Posted by thekay (Post 265637) Thanks for the answer Alberto. I'm mostly discussing it in a philosophical way to get what is the idea behind adding the term and making it standard for VOF. I think it is more robust having used it once. But I will explain better, in order to clarify why I ask and what kind of discussion I am trying to raise. I think it's an excellent addition to Eulerian solvers but I can't see why it is a must for VOF.
Hardly a must, but a good addition for sure. Try to think to some extreme situation, with phase separation. Solving for p_rgh gives you the "hydrostatic balance" straight out of the pressure equation.

Quote:
 On my first point, I was comparing to Eulerian multiphase cases (e.g. fluidised beds), hence the question.
Well, in fluidised beds nearly at the minimum fluidization the story is very different because what you have there are four terms: the shared pressure p, the particle pressure and the momentum exchange term between the phases.
In a bed which tends to the packed condition, you have a competition between the particle pressure, the drag force and the gravity. Solve this balance incorrectly (solving it correctly is harder due to the presence of the particle pressure!), and your code won't be even close to the concepts of accuracy and stability :-)

Quote:
 On my last point, in order to get physically accurate results, does one need to "raise" his domain at the height where the actual application is performed in real life? And finally, having a symmetrical domain at h=0, does it have any effect apart from calculating buoyant terms which almost completely counter each other?
Why should you do that? (I'm trying to make you think about it :p)
Think to how the pressure is specified in your system. :-)

Best,

 thekay July 4, 2010 13:12

Thank you Alberto, I am getting the idea better now.

 alberto July 4, 2010 13:14

Maybe share why you do not have to raise your domain. Others might find that useful ;-)

 thekay July 4, 2010 13:50

It really depends on what pressure one wants to present. p_rgh can give negative p_rgh values. Somebody might not want to have it like that. That's how I see it.

 alberto July 4, 2010 15:49

Quote:
 Originally Posted by thekay (Post 265648) It really depends on what pressure one wants to present. p_rgh can give negative p_rgh values. Somebody might not want to have it like that. That's how I see it.
You can plot both (the code computes the actual p too), and this has nothing to do with the independence from the "height".