# Fully coupled solver (incompressible N.-S.) - Determinig pressure up to a constant

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

 November 10, 2014, 20:14 Fully coupled solver (incompressible N.-S.) - Determinig pressure up to a constant #1 New Member   Fabian Gabel Join Date: Oct 2014 Location: Darmstadt Posts: 13 Rep Power: 10 I implemented a fully coupled solver for the incompressible Navier-Stokes Equations (solves for u,v,w,p simultaneously) according to Darwish: http://www.sciencedirect.com/science...21999108004725. I want to verify my program using a manufactured solution. For this I am applying dirichlet boundary conditions for the velocities to ALL of my boundaries. According to Darwish's paper I have to extrapolate pressure at those boundaries (Neumann BC). Analysis of the resulting system shows, that my system is not singular. Furthermore depending on the way I chose the preconditioner settings I get different results for the pressure. Note that I cannot apply a direct solver without generating zero pivots due to the bad condition of the linear system. However I observe that two results for pressure coming from different preconditioner settings only differ by a constant. The results for the velocities remain indifferent to those settings. On the other side, using a segregated approach (SIMPLE), the system for the pressure correction is, due to the use of Neumann BCs, always singular (nullspace of the respective matrix has dimension 1). So the homogeneous solution of this linear system, the vector that spans the nullspace (constant vector, i.e. all entries have the same value), can be added to the special solution an hence shift the pressure level. Shouldn't the system resulting from the fully coupled FVM discretization be singular, too (nullspace of dimension 1), so the pressure would exhibit the same behaviour?

 November 11, 2014, 09:37 #2 New Member   kiyoung kim Join Date: Oct 2014 Posts: 5 Rep Power: 10 I am not fully understand your question but constant difference in pressure difference do not affect your solution. You only need pressure difference in Navier Stokes equation. absolute preesure value varies depending on solver or boundary condition.

 November 11, 2014, 10:11 #3 New Member   Fabian Gabel Join Date: Oct 2014 Location: Darmstadt Posts: 13 Rep Power: 10 Let me amplify the question for the sake of clarity: Why is the system that I get from a fully coupled discretization nonsingular whereas the system for the pressure correction that I get from a segregated approach is singular? I think the coupling of the rows for (u,v,w) and (p) in the linear system takes care of the singularity but this is just a guess, not a proof. I don't need boundary conditions to change the pressure level up to a constant in the segregated approach, the singularity of the system matrix for the pressure correction already allows me to add a vector of the associated nullspace to my pressure correction and change the pressure level accordingly. Why don't I have this opportunity in the coupled approach? Last edited by eltenedor; November 11, 2014 at 15:32.

November 12, 2014, 07:30
#4
Senior Member

Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,394
Rep Power: 67
If I am right, you are wondering why the global matrix in the system (see attache image) is not singular while the pressure matrix is singular?
Attached Images
 Immagine.gif (72.3 KB, 21 views)

November 12, 2014, 09:00
#5
New Member

Fabian Gabel
Join Date: Oct 2014
Posts: 13
Rep Power: 10
This is correct. The global system for and in its most general form for control volumes looks like this (no field interlacing):

where .

If I compare Matrix coefficients I can prove that the Matrix is the same one I use for the pressure correction equation in the segregated approach (SIMPLE algorithm). I exported the matrix for a two dimensional test case () to matlab and extracted the matrix block corresponding to . This matrix block has the vector spanning the nullspace of just as in the segregated approach.

For completeness I will attach an example matrix in ASCII format so anyone interested can analyse it with the means of their choosing. Note that I use field interlacing - speaking in terms of Matlab:

Code:
 A_pp = A(i,i)
where
Code:
 i = 3:3:size(A,1)
Attached Files
 MatA.txt (5.5 KB, 8 views)

 November 12, 2014, 13:46 #6 Senior Member   Filippo Maria Denaro Join Date: Jul 2010 Posts: 6,394 Rep Power: 67 Ok, note that the bc.s are relevant for the matrix structure

 November 12, 2014, 13:48 #7 Senior Member   Filippo Maria Denaro Join Date: Jul 2010 Posts: 6,394 Rep Power: 67 Segregated, projection metods, etc can be seen in terms of approximate factorization of the original matrix. Some papers of Perot explained that

November 12, 2014, 14:15
#8
New Member

Fabian Gabel
Join Date: Oct 2014
Posts: 13
Rep Power: 10
Quote:
 Originally Posted by FMDenaro Ok, note that the bc.s are relevant for the matrix structure
Note that I apply Dirichlet boundary conditions for velocity on every boundary and Neumann boundary conditions for pressure on every boundary. Is this allowed for a coupled solver? I used this set of BCs to verify a segregated solver (SIMPLE algorithm) some time ago and it worked flawlessly.

Does this further Information help you in understanding singularity / nonsingularity of my system matrix, i.e. does my system matrix behave as expected from the BCs I apply?

November 12, 2014, 14:18
#9
Senior Member

Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,394
Rep Power: 67
Quote:
 Originally Posted by eltenedor Note that I apply Dirichlet boundary conditions for velocity on every boundary and Neumann boundary conditions for pressure on every boundary. Is this allowed for a coupled solver? I used this set of BCs to verify a segregated solver (SIMPLE algorithm) some time ago and it worked flawlessly. Does this further Information help you in understanding singularity / nonsingularity of my system matrix, i.e. does my system matrix behave as expected from the BCs I apply?
Indeed singularity appears in the pressure equation only when using Neumann bc.s

November 12, 2014, 14:27
#10
New Member

Fabian Gabel
Join Date: Oct 2014
Posts: 13
Rep Power: 10
Quote:
 Originally Posted by FMDenaro Indeed singularity appears in the pressure equation only when using Neumann bc.s
Yes, this is the expected behaviour for the pressure / pressure correction equation. I think this reflects the property of incompressible flows that says that pressure can be determined only up to a constant. However by coupling this equation with the velocities former singularity gets lost. Do you have an explanation for this?

 November 12, 2014, 14:31 #11 Senior Member   Filippo Maria Denaro Join Date: Jul 2010 Posts: 6,394 Rep Power: 67 Several references are reported here http://www.maths.manchester.ac.uk/~d...unsteadyNS.pdf

November 12, 2014, 14:35
#12
New Member

Fabian Gabel
Join Date: Oct 2014
Posts: 13
Rep Power: 10
Quote:
 Originally Posted by FMDenaro Several references are reported here http://www.maths.manchester.ac.uk/~d...unsteadyNS.pdf
Thank you, I will look into that.

Quote:
 Segregated, projection metods, etc can be seen in terms of approximate factorization of the original matrix. Some papers of Perot explained that
Can you point me to a specific paper?

November 12, 2014, 14:44
#13
Senior Member

Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,394
Rep Power: 67
Quote:
 Originally Posted by eltenedor Thank you, I will look into that. Can you point me to a specific paper?
You will find in the references