# Pressure fields in FOAM, p field, total pressure, etc.

 Register Blogs Members List Search Today's Posts Mark Forums Read

September 6, 2019, 13:39
Pressure fields in FOAM, p field, total pressure, etc.
#1
Super Moderator

Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,702
Blog Entries: 6
Rep Power: 51
Hi all,

I am trying to understand the pressure fields in FOAM better in order to set-up the boundary conditions for p_rgh more properly. So I made a simple test geometry which is easy to understand and easy for manual re-calculation based on Bernoulli.

Pressure in OpenFOAM
Please correct me if I am wrong (and probably, I am)
• For incompressible cases, it is clear. The pressure is divided by the density and the absolute value does not matter in the momentum equation as we do not solve any ideal gas equation etc.
• For compressible solvers, the pressure field p is the static pressure
• For compressible solvers, we solve the pressure field p_rgh which is actual the static pressure p field minus the hydrostatic part named as working pressure in some literature
• The total pressure is the sum of the static pressure + kinematic pressure. This means that it is equal to the p_rgh + rho * g * h + 1/2 rho U^2

Based on Bernoulli, the energy should be everywhere constant. Thus:

In the simulation, I am using a prghPressure at the inlet (top patch) and I set the field hRef to its level. That means at the top patch, the p_rgh field is equal to the static pressure p as:

while h = 0 at the top patch. After the fluid flows into the small channel, it accelerates and the kinematic pressure rises while the static pressure is reduced (which can be seen in the pitcture). However, the total pressure should be constant there, shouldnīt it? Nevertheless, we can see at the section where the fluid enters into the channel, that the total pressure is non-uniform.

I would expect that the total pressure should be uniformly increasing from top to bottom (based on the hydrostatic part) while the static part and the kinematic part are changing depending on the velocity/pressure distribution.

For any reason, I am missing something here.
By the way, I am using the buoyantPimpleFoam solver with polynomial coefficients for the properties (water) and the outlet boundary condition is a prghPressure condition too (same static pressure, thus I was expecting that the hydrostatic part will be the driving force) - however, the numerical results are not identical to the analytical calculation.

The height difference from top patch to the outlet is 2 m while at the top patch only the hydrostatic pressure acts in the Bernoulli equation. The kinematic pressure is zero and the hydrostatic part is zero to as the height is zero:

The static pressure at the top (p_1) is equal to the static pressure at the outlet (p_2) thus:

and therefore:

Nevertheless, the result is 6.26 m/s which I do not achieve at the outlet.
Rough estimation.

I do anything wrong. Maybe someone can light me up (:
Attached Images
 P_Field.jpg (34.6 KB, 267 views) totalP_Field.jpg (33.6 KB, 188 views) U_Field.jpg (33.3 KB, 181 views)
__________________
Keep foaming,
Tobias Holzmann

 September 9, 2019, 07:38 #2 Super Moderator     Tobias Holzmann Join Date: Oct 2010 Location: Tussenhausen Posts: 2,702 Blog Entries: 6 Rep Power: 51 Hi all, I freed my brain and got it. The p_rgh field is not the static pressure minus the hydrostatic part as the reference height is always different. Thatīs why we name it "working" pressure. However, some small hints: prghTotalPressure is equivalent to totalPressure prghTotalHydrostaticPressure cannot be applied for common cases as the field ph_rgh is not available prghPressure is the BC one should use in the case above while using correct values for the static pressure value Daniel_Khazaei, simrego, tonnykz and 3 others like this. __________________ Keep foaming, Tobias Holzmann

 September 9, 2019, 09:22 #3 Senior Member   anonymous Join Date: Jan 2016 Posts: 416 Rep Power: 14 Hi Tobi! How do you mean that the reference height is always different? It is zero by default. Also the prghPressure BC uses the hRef value from the db() so it will be the same again. I think hRef is always the same. Sorry if this is a stupid question, but you made me a bit confused now And what was the solution for your problem? (just to clarify )

 September 9, 2019, 11:54 #4 Super Moderator     Tobias Holzmann Join Date: Oct 2010 Location: Tussenhausen Posts: 2,702 Blog Entries: 6 Rep Power: 51 Yes hRef is always set to zero by default. I am sorry for not describing it well. Lets talk about my case above. For me the reference is always the top level of the liquid. Means in my case, the top of the big storage tank. My reference value for analystic calculation should be set to 3m here. Therefore, the hydrostatic part (rho g h) will increase with respect to the top patch of the big storage tank (: You are right, the reference height is always set to zero. However, if you move the geometry 2 m up or down, the p_rgh value will change accordingly (which made me always a bit messed up). The solution is as follows (not 100 % clear for me now): - Setting up prghTotalPressure for the inlet (1e5 Pa) - Setting up prghPressure for the outlet (1e5 Pa) - Setting hRef to 3 m It follows: p_rgh at the inlet is equal to the static pressure corrected by the fluxes (in this boundary condition no rho g h is used as the prghTotalPressure is equivalent to totalPressure) p_rgh at the outlet is equal to the static pressure - rho g dh (~2 m) Thus, the driving force is the difference. Nevertheless, I thought that the potential energy difference (rho g h) from top patch of the inlet to the outlet will relate to the velocity we achieve. I will try to make a clear statment: Position 0 (inlet; top patch of large tank static pressure = 1e5 velocity = 0 potential energy = (h = 3 m) Position 1 (outlet)static pressure = 1e5 velocity = ? potential energy = (h = 2 m) Bernoulli Energy at Position (1) is equal to (2): infinit large tank Therefore, it follows: However, I do not reach this velocity at all. Right now I have 0.6 m/s (not converged yet). Raphael_Santos likes this. __________________ Keep foaming, Tobias Holzmann

September 10, 2019, 04:00
#5
Senior Member

anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 14
I just made a toy case. Please don't check the turbulent BCs, random numbers... And mostly not a really correct case. BUT!
Fluid: water
deltaH: 3m
calculated velocity: 7.672 m/s
resulted max velocity at outlet: 7.6861 m/s

case:
• inlet: total pressure = 0
• outlet: static pressure = 0
calculation:

here, (prescribed total pressure)
(prescribed static pressure)
thus , the same as you did.

toy case attached. (WARNING! Really poor case, but correct results. At least I accept it. )
Attached Files
 bernoulli.zip (41.1 KB, 74 views)

 September 10, 2019, 04:14 #6 Super Moderator     Tobias Holzmann Join Date: Oct 2010 Location: Tussenhausen Posts: 2,702 Blog Entries: 6 Rep Power: 51 Did not check the case right now but I agree that the inlet boundary condition should be totalPressure (or prghTotalPressure) in order to reduce the pressure gradient based on the fluxes. You case should accelerate the fluid until infinty and crash if you set a staticPressure to the inlet too. Thank you very much for investigating into my "simple" topic. I will check you case now. __________________ Keep foaming, Tobias Holzmann

 January 27, 2022, 04:29 #7 New Member   Lourens Aanen Join Date: Mar 2009 Posts: 16 Rep Power: 16 Hi Tobias, I realise that this tread is old, but I hope you are able to answer my question. You state that ph_rgh is not available, which is also my experiance. Do you have any idea in which cases the boundary condition should be used? Btw, looking at your geometry it makes sense that you do not reach the velocity of 6.26 m/s. In the flow you have two sudden contractions, two sharp edges and two sudden expansions. Especially the first two come with a pressure drop. Regards, Lourens

 January 27, 2022, 08:58 #8 Super Moderator     Tobias Holzmann Join Date: Oct 2010 Location: Tussenhausen Posts: 2,702 Blog Entries: 6 Rep Power: 51 Hi, I did not further investigate into that topic but probably we could resolve the issue I had by using the prghTotalHydrostaticPressure boundary condition or a normal one but initialize the case by using the hydrostaticPressure FO. Tobi __________________ Keep foaming, Tobias Holzmann

 January 31, 2022, 05:08 #9 New Member   Lourens Aanen Join Date: Mar 2009 Posts: 16 Rep Power: 16 Hi Tobias, If I do understand well: the prghTotalHydrostaticPressure is a constant prgh boundary condition corrected for Bernoulli. What I do not understand is the meaning of the ph_rgh term in the equation. It looks like a way to describe the pressure at the boundary to be used for e.g. water flowing out of a container. This is confusing me, since I expected a p_rgh boundary to be there for buoyant flows (e.g. natural convection is a room). What is also confusing me, is that the value of ph_rgh inthe equation is seems to be a function of the local density. If the differences in density are small over height, this a good approximation. If not an integral over height should be used. What do you mean by "initialize the case by using the hydrostaticPressure FO"? What exactly was your issue? Lourens.

 March 25, 2022, 02:33 #10 Member   Join Date: Nov 2020 Posts: 52 Rep Power: 5 Hi Simrego, I did run your test case but it blew up in OF 7. I tried to refine your mesh 10 times but at around 9,600 iterations, it blew up again. The maximum velocity in the outlet at that time is still around 6.4 m/s. I don't understand why your simulation ran pretty well. -Mike