# Poisson equation with periodic and zero gradient boundary conditions

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

 August 25, 2022, 02:20 Poisson equation with periodic and zero gradient boundary conditions #1 Member   Divyaprakash Join Date: Jun 2014 Posts: 69 Rep Power: 12 Hi I am trying to solve the following problem. A 2D rectangular domain, with walls boundary condition at the top and bottom and periodic boundary conditions at left and right. I started by first implementing the pressure-Poisson solver $\nabla ^2 \phi = Q(x,y)$ The boundary condition applied at the walls is $(\nabla \phi)\cdot \mathbf{n} = 0$ Which gives me $\phi_{i,N+1} = \phi_{i,N} \text{ and } \phi_{i,0} = \phi_{i,1}$at top and bottom walls respectively. Applying the periodic BC gives me $\phi_{i-1,j} = \phi_{N,j} \text{ and } \phi_{N+1,j} = \phi_{1,j}$ at the left and right boundaries respectively. Using these boundary conditions and discretizing using finite difference method, I obtain the following coefficient matrix on 3X3 grid shown below. |```````|````````|``````| | o (7)| o( 8) | o(9)| |........| .........|.......| |```````|````````|``````| | o (4)| o(5) | o(6)| |........| .........|.......| |```````|````````|``````| | o (1)| o( 2) | o(3)| |........| .........|.......| A = [ -3 1 1 1 0 0 0 0 0 1 -3 1 0 1 0 0 0 0 1 1 -3 0 0 1 0 0 0 1 0 0 -4 1 1 1 0 0 0 1 0 1 -4 1 0 1 0 0 0 1 1 1 -4 0 0 1 0 0 0 1 0 0 -3 1 1 0 0 0 0 1 0 1 -3 1 0 0 0 0 0 1 1 1 -3] Q = [1 1 1 1 1 1 1 1 1]; I solved it in Matlab. I am unable to get a solution for this. It says that the matrix is ill-conditioned. I had earlier tried to solve this problem with Gauss-Siedel, however it did not converge. I thought an implcit method will surely give me result, but that too doesn't seem to work. Is there an issue with me formulation? Is it not possible to obtain a solution for the above set of boundary conditions? Last edited by Divyaprakash; August 25, 2022 at 02:26. Reason: Formatting error

 August 25, 2022, 04:28 #2 Senior Member   Filippo Maria Denaro Join Date: Jul 2010 Posts: 6,817 Rep Power: 73 You are on the wrong way... First, I suggest to search for similar posts where you can find the correct way. However, think about the fact that the pressure equation is nothing but the continuisty equation. The divergence-free condition is transformed by means of the Hodge decomposition: Div v = 0 -> Div (Grad phi - v*)=0 The correct equation to discretize is Div (Grad phi) =q where q = Div v* The problem is closed by the Neumann BCs v.n=(Grad phi - v*).n As you have seen, the matrix is singular, if you want a solution for this problem you need to satisfy the compatibility condition. In your case: Int[S] dphi/dn dS = 0 = Int[V] q dV is not satisfied and you cannot get a solution-

 August 25, 2022, 10:33 #3 Member   Divyaprakash Join Date: Jun 2014 Posts: 69 Rep Power: 12 Thanks a lot. Can you please elaborate what you mean by the correct way?

August 25, 2022, 10:40
#4
Senior Member

Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,817
Rep Power: 73
Quote:
 Originally Posted by Divyaprakash Thanks a lot. Can you please elaborate what you mean by the correct way?

The way I addressed in the equation I wrote. You have to discretize DivGrad operators, not the Laplacian. Then you have to substitute the correct Neumann BCs.

 Tags boundary conditions, periodic, poisson, pressure, zero gradient

 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 OffTrackbacks are Off Pingbacks are On Refbacks are On Forum Rules

All times are GMT -4. The time now is 12:40.