CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   Main CFD Forum (http://www.cfd-online.com/Forums/main/)
-   -   Pressure correction on SIMPLE (http://www.cfd-online.com/Forums/main/8140-pressure-correction-simple.html)

Diego Nogueira September 27, 2004 20:45

Pressure correction on SIMPLE
 
Greetings, For a simple wind pipe, using laminar incompressible NSE and SIMPLE scheme, I have problem I need some help with. The pressure correction step: P_old += P_new makes my pressure values TOO large over a short period of time, although for a simple pipe velocity converges, but not pressure. If I do P_old = P_new instead, pressure converges but mass conservation is compromised. Which one is the correct? Any idea about the nature of this problem I'm facing?

Thanks a lot!!

Maciej Matyka September 28, 2004 03:00

Re: Pressure correction on SIMPLE
 
<table width="50%"> <tr><td> Did you try to overrelax (or underrelax) pressure correction term? I mean instead of using:

P_old += P_new

try:

P_old += alpha * P_new

where alpha is an over/underrelaxation factor (overrelaxation for alpha > 1). Some time ago I wrote a paper about SIMPLE where I used overrelaxation factors to speed up covergence - see my page and search for "Driven Cavity" paper. </td></tr> <tr><td> Maciej Matyka<A HREF="http://panoramix.ift.uni.wroc.pl/~maq/eng/">http://panoramix.ift.uni.wroc.pl/~maq/eng/</a> </td></tr> </table>

Yticitrov September 28, 2004 20:48

Re: Pressure correction on SIMPLE
 
Hey,

SIMPLE worked with over-relaxation for you?

Regs

Y

Maciej Matyka September 29, 2004 03:09

Re: Pressure correction on SIMPLE
 
Nope, just wanted to point out that not only underrelaxation exists. Did not try to run SIMPLE with overrelaxation.

Best, M.

Diego Nogueira September 29, 2004 09:02

Re: Pressure correction on SIMPLE
 
Thanks Matyka. Actually I have your simulations CD and it was usefull, although I don't understand why I'm facing this problem. I'll try to better explain the situation.

I modelled a 3D wind pipe, initial dimensionless velocity 1 on inlet area, 0 anywhere else. Pressure is 0 everywhere at iteration 0. When I start iterating, since the velocity difference is large, a large pressure difference occurs, trying to push the air towards the other end of the pipe. The problem is, at some point the pressure difference stops being that large, but since I use P_new += alpha*P_old for pressure correction the pressure values start acumulating and at some point in time I have HUGE pressure values and then the simulator starts having problems ...

Using this approach, the pipe converges perfectly, but when I use a more complex environment, such as a pipe full of obstacles, it would take longer to converge, but pressure explodes before convergence.

Did I make my point now?

Thanks for the help, guys.

Halim Choi September 29, 2004 20:08

Re: Pressure correction on SIMPLE
 
After correcting the velocity components, update pressure as follows;

C --- CORRECT PRESSURE AT CELL-CENTER

PPREF=PP(IPREF,JPREF)

IF(IPRESS.EQ.1) PPREF=0.

DO I=2,NIM

DO J=2,NJM

P(I,J)=P(I,J)+RELAX(1)*(PP(I,J)-PPREF)*KBLK(I,J)

PP(I,J)=0.

END DO

END DO

PREF=P(IPREF,JPREF)

IF(IPRESS.EQ.1) PREF=0.

DO I=1,NI

DO J=1,NJ

P(I,J)=P(I,J)-PREF

END DO

END DO

Here IPREF, JPREF is a reference point, usuallly IPREF=2, JPREF=2.

IPRESS=1 means there is a pressure bounary condition in the solution domain. IPRESS=0 if there is no pressure boundary condition in the solutiopn domain.

KBLK(I,J)=1 for fluid and 0 for solid.

RELAX(1) is the under-relaxation factor for pressure correction.( for SMPLE, RELAX(1)=0.7, for SIMPLEC, RELAX(1)=1.) Keep in mind updating PP(I,J)=0 at every iteration level.

NIM=NI-1, NJM=NJ-1

Halim CHoi

Diego Nogueira October 10, 2004 14:43

Re: Pressure correction on SIMPLE
 
The idea is, in the beginning the pressure difference is large so I get large pressure values. After some time, the difference gets smaller but since:

P(I,J)=P(I,J)+RELAX(1)*(PP(I,J)-PPREF)*KBLK(I,J)

it keeps on accumulating and the large values from the beginning remain since I won't get any negative pressure values. Could it be my initial conditions?

I start with pressure=0 everywhere and fix it to zero in the outflow cells. I expected to get a larger pressure value close to the inlet and it would decrease to zero the closer it gets to the outflow area, but that's not what's happenning.

I appreciate the attention.


All times are GMT -4. The time now is 07:15.