CFD Online Discussion Forums

CFD Online Discussion Forums (
-   FLUENT (
-   -   Fluent natural ventilation pressure boundary condition (

pierresandre November 9, 2009 08:51

Fluent natural ventilation pressure boundary condition

I am modelling natural ventilation from a point source in an open space using Fluent with the Boussinesq approximation. The model includes pressure inlets at the bottom and at the sides and a pressure outlet at the top. The source is at the bottom of the domain and is modelled as a wall with a constant heat flux.

Following Fluent’s manual recommendations for natural ventilation I have set the pressure of the pressure inlets and outlets to zero as I am not interested in having an external flow. However, when I run the case, I have inflows from the top and side boundaries that are not expected.

I have checked the pressure stratification with height and found out that the pressure is not zero throughout the domain but decreases linearly with height. Thus the pressure of the gas at the same height of the pressure outlet is less then zero. The end result is that the pressure outlet is at a higher pressure than the gas at the same height and this is causing air to flow into the domain from above in places where it should not. I have tried to decrease the Rayleigh number but there was no improvement. I even tried to run a case in which I have three walls with a pressure outlet at the top so that the Rayleigh number would be zero and still had the same problems.

The difference between the pressure of the pressure outlet and that of the gas at the same height is not given by rho*g*h but it is about 1% of that value. However, since I am considering very small velocities, this is enough to make my simulation go haywire. On the good side, when I correct for this 1% pressure difference, then I get the expected results.

Thus I would like to ask if anyone else has encountered this difficulty and if you think that my solution to the problem is adequate.

Thank you.

chingyinh April 5, 2010 20:31

following the user manual of fluent, you need to use redefined pressure for both inlet and outlet and the value is equal if you do not include the external pressure driven flow.

the redefined pressure is given as:
p' = p - rho*g*h

where rho is density of air; g is gravity and h is the height.

pierresandre April 6, 2010 04:37


Thank you for your reply. However, I believe I did not explain myself very well. In actual fact, from the user manual, Fluent uses the redefined pressure,

p' = p - rho*g*h

automatically and hence this is what I have used. Notwithstanding this, when I set both the input and the output pressures as zero I still had pressure stratification in my domain. This was around 1.1% of the calculated rho*g*h and even though this is very small it was still enough to cause problems. Once I have accounted for this residual pressure difference the system stabilized itself.

chingyinh April 7, 2010 12:01

I have the same problem in my simulation of outdoor natural convection case. I found that the boundary condition of the k and e will have some effect on the pressure stratification. I guess the pressure stratification can be eliminated if the domain is sufficient large ( the pressure boundary is sufficient far away).

I am trying that too. May be know the reason next week.

pierresandre April 8, 2010 03:38

Well back flow is a common issue with boundary conditions and there are a number of ways to deal with this. One of them is to set up a "sponge layer" between the boundary and the domain of interest so as to absorb and dissipate fluctuations.

However, if your problem is just related to the pressure stratification you might want to take this short cut: Define a vertical line in a part of the domain that is not affected by the flow - you might need to enlarge the domain to do this. Then export the values of the pressure and coordinates along that line. Carry out a linear regression and use the values obtained to determine the actual value of the pressure at the top of your domain. Then set the upper pressure boundary to the pressure you have determined in this way.

If the above works for you, you might want to consider building a UDF that does this automatically for you.

chingyinh April 8, 2010 11:03

i get your meaning. And do you know why is there such problem?

Can you talk more about the 'sponge layer' , please? I do not know that.

IF i model an outdoor natural convection case for a city. I use pressure boundary for vertical plane. and pressure outlet for the sky. Do you know what k and e value such defined in the boundary?:D

pierresandre April 8, 2010 11:50

In actual fact I don't know how the problem arises and I could not think of a way of investigating the issue.

Regarding the sponge layer, this is obtained by creating a layer between the boundary and the domain of interest where the equations are changed by introducing a forcing term that is meant to attenuate disturbances. There are a number of paper on the subject for example, Analysis of sponge zones for computational fluid mechanics by Daniel J. Bodony or On the damping coefficients of sponge layer in Boussinesq equations by Tai-Wen Hsu et al that you might want to consult to get a better idea. There is also a discussion on cfd online on how to implement a sponge layer in OpenFOAM. However, since I only recently got to know about this technique I never really used it so I would not know how to go about implementing it in Fluent.

Regarding the case you are modeling, please note that vertically the pressure is changing linearly so that the pressure at the vertical (side) boundary should also change linearly. You can do this using a UDF.

As for the values of k and epsilon at the boundary, these depend on what you want to simulate. If the boundary is sufficient far away from the region of interest, and you don't want additional interference, i.e. you want all perturbation to die off at infinity, then the most intuitive value would be zero for both. With this respect you might want to validate your model using the data suggested in the Cost Action 732.

chingyinh April 8, 2010 21:45

Regarding to the vertical change of pressure. i know that the static pressure shall change linearly as there is gravity acting on the air. the linear change shall follow

p' = p - rho*g*h

And it is the same as the redefined pressure given in FLUENT manual.
the redefined pressure is given as:
p' = p - rho*g*h

When i read the manual I am quite confused about that. Because the manual suggests the redefined pressure has already included the term rho*g*h. And it suggests the pressure boundary shall be zero.

Do you think it shall be zero pressure in the pressure boundary?

pierresandre April 9, 2010 03:37

I believe I did not explained myself well. I was not referring to the original (gravity induced) pressure, rho*g*h, but to the residual pressure in the simulations. My simulations indicated that the residual pressure difference varies linearly in the vertical direction. Thus if you want to account for the vertical residual pressure difference you cannot simply use a constant value but have to change that value according to hight. The way I manged to do it was to use a UDF.

In other simulations, I have used a wall boundary condition on the side and got the same good results. However I extended the domain to a very large distance away from the region of interest.

I have also seen people using symmetry boundary conditions to try and avoid back-flow. If you decide to try this approach I would suggest that first you set the side boundary as walls, initialize and only after words set the sides to symmetries. In the case this procedure does not work, you can try iterating a couple of times before converting the side boundaries.

engahmed June 21, 2010 11:21

Hi Pierre and Nelson,
It seems that you both have experience with natural convection simulations using pressure boundary conditions in Fluent. So hopefully you can help me with my problemas I am new in the CFD world....I am simulating convective heat transfer from a horizontal heated pipe enclosed with 4 sides (2D) the vertical sides and the bottom are defined as pressure inlets and the top is defined as a pressure outlet , I have set the temprature at all boundary conditions as ambient temperature and also pressure everywhere is zero so external pressure would not effect my bouyancy flow, my problem is I keep getting reversed flow at the outlet and the inlets so of course no convergence, I don't know how to fix this problem,do you have any ideas how?
I will be very thankful if you can answer my question
Thanx a lot :)

pierresandre June 21, 2010 11:54


My suggestion is first to check if you have a pressure stratification inside your domain, i.e. check if pressure is changing with hight. In principle it should not as both inlets and outlets are at the same pressure. However, this might not be the case in practice. If a small residual pressure difference exits, then it can affect your simulations. One way of avoiding it is to calculate the excess pressure and subtract it.

Also, following further research I found out that the inlet the k value should be 1e-6 while the epsilon should be 1e-9, i.e. both should be very small but non zero (see, appendix B). I still did not have the opportunity to check if this will avoid the problem but possible you can have a try.

Hope this helps.

engahmed June 21, 2010 16:20

Hi Pierre,
Thanx for your reply, actually I am confused on how big should the domain be, i.e how far should the pressure boundaries be from the pipe? should they be close something like 3dx6d or as far as possible so to avoid reversed flow. I tried domain sizes starting from 3d x 6d to 16d x 16d, but I am still getting reversed flow.....I am also wondering about the turbulence specification methods to use at the inlets and outlet? k= 1e-6 and e=1e-9 at inlet as you mentioned before?? what about the outlet??
I have been trying to make this work for so long but it never does, I am wondering waht the problem is, plz any suggestions will be helpful..Thank you so much

pierresandre June 22, 2010 04:06


Well, I to experimented with different domain sizes but on a trial and error bases to see what happens. So I cannot help you much with that. However, I do know people who extended their domain so that the effect of reverse flows was not felt in the region of interest. One thing that I got aware of is that inflow from the side is very difficult to control. So a simple way out would be to make this vertical boundary as far away as possible and to make it a symmetry or a wall boundary condition.

Regarding the k and epsilon value at the outlet, as yet I still have nothing conclusive but I intend to work on that.

One thing to keep in mind is that back-flow is a rather common problem. The equations do not care if fluid is entering your domain from where it should not as long as mass is conserved.

engahmed June 24, 2010 22:02

Hey Pierre,
I am still having difficulties with my case. I am still getting reversed flow and sometimes turbulece viscosity ratio limited to 100000 even when I moved the outlet boundary very far away. Did you get an opportunity to check the appropriate turbulence specification methods at the inlet and outlet pressure boundaries?
Hope to hear from you soon

pierresandre June 25, 2010 02:24


At the moment I am not working on CFD simulations as other things are occupying my time. Did you check if you have a pressure stratification present in the medium?

engahmed June 25, 2010 10:50

Hi Pierre,
Actually I did not get the pressure stratification idea? how do I check it? from display - contours - total pressure?? how do I know its value? and subtract it from what??? I am really sorry but this whole thing is new for me so I don't know a lot...Thanx for your help

pierresandre June 25, 2010 11:16

Best way to check if you have pressure stratification is to make a vertical isoline outside the domain of interest, i.e. outside the main flow, and then plot pressure along that line. If you don't have any pressure stratification the pressure should be zero everywhere - remember that inlet and outlet are both at zero pressure.

engahmed June 25, 2010 11:33

Hi again Pierre,
I have checked that now and there is pressure stratification :( now ho do I subtract that? from what I should subtract it?
I am wondering if you are using a transient or a steady state solver, I am using a steady state solver? is that ok?

pierresandre June 26, 2010 05:30

Once you know that you have a pressure stratification you can use linear regression to determine the actual value of the pressure at the upper pressure boundary. Use this value instead of the zero for the pressure at the upper boundary. This should equalise the pressure at the top of the domain with the that of the boundary condition, thus solving the problem. You can also write a user defined function to do this dynamically.

Regarding the lateral (side) boundary condition, the pressure changes with hight so that you cannot use a constant value for the pressure. The easy way out is to set this boundary far away from the main flow and use a wall boundary condition. A more involving procedure would be to write a user defined function (UDF) to set the pressure at each face on the boundary. From my experience, while the first one will always work, the second might not be good enough to stabilise the system.

Regarding the solve, I used steady state. However, the choice depends on what you want to simulate.

saif1509 September 8, 2010 17:29

Is there a Fluent's manual that has recommendation for natural ventilation modelling

I am a new Fluent user. I have searched every possible way to get some guidance regarding natural ventilation modelling in Fluent. I read this thread and saw people talking about Fluent user manual's recommendation. Is there a Fluent's manual that has recommendation for natural ventilation modelling? Please guide me there. Thanks in advance.

All times are GMT -4. The time now is 08:11.