CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Main CFD Forum

Pressure correction in fractional step method

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

Reply
 
LinkBack Thread Tools Display Modes
Old   May 13, 2012, 18:08
Default Pressure correction in fractional step method
  #1
Member
 
Peter
Join Date: Oct 2011
Posts: 52
Rep Power: 5
new_at_this is on a distinguished road
Can someone explain to me how the pressure correction step works in cylindrical coordinates? I have been working on a code for a while and my pressure correction step is not producing a divergence free field.
new_at_this is offline   Reply With Quote

Old   May 14, 2012, 03:44
Default
  #2
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 1,661
Rep Power: 23
FMDenaro will become famous soon enough
Quote:
Originally Posted by new_at_this View Post
Can someone explain to me how the pressure correction step works in cylindrical coordinates? I have been working on a code for a while and my pressure correction step is not producing a divergence free field.
did you check if your method is divergence-free in Cartesian coordinates? fractional step is a method to split pressure and velocity in the time integration, the system of coordinate is not involved
FMDenaro is offline   Reply With Quote

Old   May 14, 2012, 10:18
Default
  #3
Member
 
Join Date: Jul 2011
Posts: 59
Rep Power: 6
rmh26 is on a distinguished road
How does the divergence change before and after the correction step?
Is the divergence localized in certain regions after the correction step?
How accurately is your pressure equation being solved?
Are you using an axisymmetric cylindrical grid, is weird stuff happening at the axis of symmetry?
rmh26 is offline   Reply With Quote

Old   May 14, 2012, 11:11
Default
  #4
Member
 
Peter
Join Date: Oct 2011
Posts: 52
Rep Power: 5
new_at_this is on a distinguished road
Quote:
Originally Posted by FMDenaro View Post
did you check if your method is divergence-free in Cartesian coordinates? fractional step is a method to split pressure and velocity in the time integration, the system of coordinate is not involved
I do have a working code in cartesian coordinates that has been verified against ghia for the lid driven cavity. I'm a bit confused about what you are saying... Are you saying I should use the exact same pressure correction step for cylindrical coordinates even though the divergence is different?

Quote:
Originally Posted by rmh26 View Post
How does the divergence change before and after the correction step?
Is the divergence localized in certain regions after the correction step?
How accurately is your pressure equation being solved?
Are you using an axisymmetric cylindrical grid, is weird stuff happening at the axis of symmetry?
I am using an axisymmetric grid to solve for the internal flow in a cylinder. Before the pressure correction, the maximum divergence in the field is on the order of 10^-1. After the correction step, it is on the order of 10^-2. After the pressure correction step, the majority of the field has a divergence on the order of 10^-3 and the max divergence values are located in the upper left and right corners near the cylinder wall. In my 2D code I get divergence values orders of magnitude smaller.

I initially start with a velocity profile of 1 everywhere in the field. When integrated it produces a value of 1. I expect that at any time, if I integrate the velocity profile, I should also get a value of 1. However as my flow progresses to steady state, I get values up to 1.2
new_at_this is offline   Reply With Quote

Old   May 14, 2012, 11:19
Default
  #5
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 1,661
Rep Power: 23
FMDenaro will become famous soon enough
Are you using an exact or approximate projection method?
You must be careful in the inner-outer product of discretized divergence-gradient operators
FMDenaro is offline   Reply With Quote

Old   May 14, 2012, 11:38
Default
  #6
Member
 
Peter
Join Date: Oct 2011
Posts: 52
Rep Power: 5
new_at_this is on a distinguished road
I believe that i am using an exact projection method. In each step of my code I update the u_z and u_r field by the advection and diffusion terms. Then I solve the following equation

\frac{\partial^2 P}{\partial z^2}+\frac{\partial^2 P}{\partial r^2}+\frac{1}{r}\frac{\partial P}{\partial r} = \frac{\partial u_z}{\partial z}+\frac{\partial u_r}{\partial r}+\frac{u_r}{r}

Could you clarify more about the inner outer divergence-gradient operators?
new_at_this is offline   Reply With Quote

Old   May 14, 2012, 11:43
Default
  #7
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 1,661
Rep Power: 23
FMDenaro will become famous soon enough
The pressure equation must be discretized from the Div Grad (*) operators, you should not use the Laplace operator. This allows you to substitute the correct BC in terms of the normal component of the pressure gradient
FMDenaro is offline   Reply With Quote

Old   May 14, 2012, 12:01
Default
  #8
Member
 
Peter
Join Date: Oct 2011
Posts: 52
Rep Power: 5
new_at_this is on a distinguished road
Quote:
Originally Posted by FMDenaro View Post
The pressure equation must be discretized from the Div Grad (*) operators, you should not use the Laplace operator. This allows you to substitute the correct BC in terms of the normal component of the pressure gradient
So instead of solving for the pressure in one step, could I split it into two steps? the first step would be multiplying the divergence of the intermediate velocity (not divergent free) by the inverse of the discretized divergence matrix. Then multiply that result by the inverse of the discretized gradient matrix.
new_at_this is offline   Reply With Quote

Old   May 14, 2012, 13:24
Default
  #9
Member
 
Peter
Join Date: Oct 2011
Posts: 52
Rep Power: 5
new_at_this is on a distinguished road
Also are there any books or papers that I can look up that talk about how to do this?
new_at_this is offline   Reply With Quote

Old   May 16, 2012, 12:18
Default
  #10
Member
 
Peter
Join Date: Oct 2011
Posts: 52
Rep Power: 5
new_at_this is on a distinguished road
for those interested, I found this paper which essentially talks about my problem. Unfortunately I still have not found the bug in my code. I expect my code to produce a poiseuielle like profile that peaks at 1.5 however my code peaks at ~1.8 and is not divergence free.

If anyone has seen similar problems, please let me know. thanks

http://www.sciencedirect.com/science...45793004001148
new_at_this is offline   Reply With Quote

Old   May 16, 2012, 17:09
Default
  #11
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 374
Rep Power: 10
arjun is on a distinguished road
Quote:
Originally Posted by new_at_this View Post
I believe that i am using an exact projection method. In each step of my code I update the u_z and u_r field by the advection and diffusion terms. Then I solve the following equation

\frac{\partial^2 P}{\partial z^2}+\frac{\partial^2 P}{\partial r^2}+\frac{1}{r}\frac{\partial P}{\partial r} = \frac{\partial u_z}{\partial z}+\frac{\partial u_r}{\partial r}+\frac{u_r}{r}

Could you clarify more about the inner outer divergence-gradient operators?

How do you arrive at this equation?? If it is a pressure correction equation then it should have a 'delta-t' term somewhere!!!
arjun is offline   Reply With Quote

Old   May 16, 2012, 17:16
Default
  #12
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 1,661
Rep Power: 23
FMDenaro will become famous soon enough
Quote:
Originally Posted by arjun View Post
How do you arrive at this equation?? If it is a pressure correction equation then it should have a 'delta-t' term somewhere!!!
maybe the time step is simply inserted in the P variable ...
FMDenaro is offline   Reply With Quote

Old   May 16, 2012, 17:24
Default
  #13
Member
 
Peter
Join Date: Oct 2011
Posts: 52
Rep Power: 5
new_at_this is on a distinguished road
Quote:
Originally Posted by arjun View Post
How do you arrive at this equation?? If it is a pressure correction equation then it should have a 'delta-t' term somewhere!!!
the equation is just the cylindrical expansion for:
\nabla^2 P = \nabla \cdot  \bar{u}

I didn't put in the time because it cancels once applied in the navier stokes equations.

Quote:
Originally Posted by FMDenaro View Post
maybe the time step is simply inserted in the P variable ...
I have checked and I don't think that is the problem.
new_at_this is offline   Reply With Quote

Old   May 16, 2012, 17:29
Default
  #14
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 1,661
Rep Power: 23
FMDenaro will become famous soon enough
is not a problem if you then compute

V
n+1= V* - Grad P

In any case, I am quite sure you have problems in setting pressure BCs ... you must write Div (Grad P) and substitute n.Grad P at boundaries
FMDenaro is offline   Reply With Quote

Old   May 16, 2012, 17:39
Default
  #15
Member
 
Peter
Join Date: Oct 2011
Posts: 52
Rep Power: 5
new_at_this is on a distinguished road
I think I have accounted for that. Since my code is on a staggered grid, I'm only calculating pressure at the interior points. At the edges, I assume that the ghost point outside the boundary is the same as the first interior point. For example the second derivative in the R direction should be \frac{P_{i-1}-2P_{i}+P_{i+1}}{\Delta r}. Substituting for neumann bcs I get \frac{-P_{i}+P_{i+1}}{\Delta r} at the axis and \frac{P_{i-1}-P_{i}}{\Delta r} at the wall.
new_at_this is offline   Reply With Quote

Old   May 16, 2012, 18:32
Default
  #16
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 374
Rep Power: 10
arjun is on a distinguished road
Quote:
Originally Posted by new_at_this View Post
the equation is just the cylindrical expansion for:
\nabla^2 P = \nabla \cdot  \bar{u}

I didn't put in the time because it cancels once applied in the navier stokes equations.



I have checked and I don't think that is the problem.

I do not have time right now to figure this out. But I will try to imbibe what you wrote.

I am assuming the P in your equation is pressure correction and not the pressure itself.

I asked that because I never remember deriving pressure correction in fractional step method that is independent of delta T.
arjun is offline   Reply With Quote

Old   May 16, 2012, 19:21
Default
  #17
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 374
Rep Power: 10
arjun is on a distinguished road
Quote:
Originally Posted by new_at_this View Post
I think I have accounted for that. Since my code is on a staggered grid, I'm only calculating pressure at the interior points. At the edges, I assume that the ghost point outside the boundary is the same as the first interior point. For example the second derivative in the R direction should be \frac{P_{i-1}-2P_{i}+P_{i+1}}{\Delta r}. Substituting for neumann bcs I get \frac{-P_{i}+P_{i+1}}{\Delta r} at the axis and \frac{P_{i-1}-P_{i}}{\Delta r} at the wall.

You can not apply zero gradient at the axis by ghost points. Axis has pressure gradients.


Quote:
Originally Posted by FMDenaro View Post
maybe the time step is simply inserted in the P variable ...
Yes this is the case, he is calculating for ( deltT * Pressure-correction).
arjun is offline   Reply With Quote

Old   May 17, 2012, 10:57
Default
  #18
Member
 
Join Date: Jul 2011
Posts: 59
Rep Power: 6
rmh26 is on a distinguished road
There normal component of the gradient of the pressure should be zero at the axis, if we are assuming axisymmetric flow and the fact that Ur must be zero at the axis.

What are you using for the inlet/oulet conditions?
rmh26 is offline   Reply With Quote

Old   May 18, 2012, 11:56
Default
  #19
Member
 
Peter
Join Date: Oct 2011
Posts: 52
Rep Power: 5
new_at_this is on a distinguished road
Quote:
Originally Posted by rmh26 View Post
There normal component of the gradient of the pressure should be zero at the axis, if we are assuming axisymmetric flow and the fact that Ur must be zero at the axis.

What are you using for the inlet/oulet conditions?
So i'm working on a sliding cylinder problem, which is axisymmetric. Basically its a cylindrical cavity where the end caps are stationary and the wall is moving with a given velocity in the z direction. So expect that the pressure gradient at the axis should be zero. I've defined U_r to be 0 at all the boundaries. U_z has a velocity of 1 at the outer wall and symmetry condition at the axis.

If anyone is interested or if anyone thinks seeing the code might help, then i can post my matlab code. I'm pretty sure that this poisson equation solver is the last bug in my code.
new_at_this is offline   Reply With Quote

Old   May 22, 2012, 00:04
Default
  #20
Member
 
Peter
Join Date: Oct 2011
Posts: 52
Rep Power: 5
new_at_this is on a distinguished road
I think I figured out where the error is. When I formulate the finite difference matrix for the laplacian, I essentially solve Ax = b. However A is nearly singular and so my solution ends up being innacurate. How can I increase the accuracy?
new_at_this is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Comparing between the Fractional step method and the SIMPLE method ghlee Main CFD Forum 1 April 10, 2012 16:59
Time Accuracy of the NITA - FRACTIONAL STEP method Paolo Lampitella FLUENT 1 March 19, 2008 06:45
IcoFoam parallel woes msrinath80 OpenFOAM Running, Solving & CFD 9 July 22, 2007 02:58
free surface bc using pressure correction method Sal Main CFD Forum 0 March 10, 2007 16:50
Gas pressure question Dan Moskal Main CFD Forum 0 October 24, 2002 22:02


All times are GMT -4. The time now is 13:49.