|
[Sponsors] |
convergent prob. in solving poisson eq(neumann BC) |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
February 8, 2001, 11:29 |
convergent prob. in solving poisson eq(neumann BC)
|
#1 |
Guest
Posts: n/a
|
for a poisson equation with neumann boundary condition on a rectangular domain, let's say 41x41 grid points, i coded a program to solve it. using ADI, i can only obtain solution after more than 1000+ iterations. questions: 1) what can be done to ADI in order to accelerate convergence? 2) normally, how many (roughly) iterations are needed to obtain the solution for this class of problem, poisson eq with neumann BC? any advice would be appreciated. thanks. regards, yfyap
|
|
February 8, 2001, 13:12 |
Re: convergent prob. in solving poisson eq(neumann
|
#2 |
Guest
Posts: n/a
|
(1). For the information to go from corner to corner, you have 41+41 points. Then, multiply this number by a factor of 10. (2). That will give you a minimum number of iterations. One thousand iterations is not a large number at all.
|
|
February 8, 2001, 13:33 |
Re: convergent prob. in solving poisson eq(neumann
|
#3 |
Guest
Posts: n/a
|
ADI within a multigrid scheme on a uniformish grid for a Poisson equation (well suited to MG) the number of iterations will reduce to about 5 or so. It will also hold independent of grid size (i.e. 5 iteration for 41x41 and 5 iteration for 401x401).
However. Each iteration will be more expensive (perhaps 5 times more expensive). Also, if the grid structure becomes complex then the scheme will have to be more sophisticated or else the number of iterations will start to creep up. But what really raises the number of iterations is solving a set of Navier-Stokes equations with a turbulence model instead of a Poisson equation. |
|
February 8, 2001, 14:25 |
Re: convergent prob. in solving poisson eq(neumann
|
#4 |
Guest
Posts: n/a
|
For your information, the discretised poisson equation gives a linear system that is very ill-conditioned. The conditon number for a structured mesh with constant step h is 4/(PI^2*h^2)+O(1).
Other solutions to your problem: 1) Fast poisson Solver; 2) Solve rows and columns of the mesh with Thomas algorithm and use a loop. 3) SOR with Jacobi pre-conditionning and optimal parameter w=2/(1+sqrt(1-rho^2)), rho is the spectral radius, approx= 1-h^2 |
|
February 8, 2001, 22:21 |
Re: convergent prob. in solving poisson eq(neumann
|
#5 |
Guest
Posts: n/a
|
dear andy,
nice suggestion, it seems attractive enough to have just several iterations. thanks a lot. regard, yfyap |
|
February 8, 2001, 22:22 |
Re: convergent prob. in solving poisson eq(neumann
|
#6 |
Guest
Posts: n/a
|
dear John,
in you commend, you mentioned "multiply this number by a factor of 10", what is "this number" and how "this number be incorperated into the ADI scheme? after descretizing the poisson eq., for ADI, we have: U[i-1][j][k+1] - (2+zeta)*U[i][j][k+1] + U[i+1][j][k+1] =-U[i][j-1][k] - (2-zeta)*U[i][j][k] + U[i][j+1][k] + source U[i][j-1][k+2] - (2+zeta)*U[i][j][k+2] + U[i][j+1][k+2] =-U[i-1][j][k+1] - (2-zeta)*U[i][j][k+1] + U[i+1][j][k+1] +source is it that "this number" is zeta, the acceleration factor? thanks. regards, yfyap |
|
February 8, 2001, 22:24 |
Re: convergent prob. in solving poisson eq(neumann
|
#7 |
Guest
Posts: n/a
|
dear Sebastian,
is fast poisson solver a pakage or an algorithm? for your second suggestion, this is what i did by using ADI, but what do you mean by "use a loop". for ADI, iterations are performed until solution is obtained. thanks. regards, yfyap |
|
February 9, 2001, 01:35 |
Re: convergent prob. in solving poisson eq(neumann
|
#8 |
Guest
Posts: n/a
|
(1). In each iteration, the minimum distance the information can propagate is one grid point (or cell) in your case. (2). For the information to travel from one corner to another corner in 2-D is (41+41)=82 points. So, it takes at least 82 iterations for the information from one corner to propagate to the other corner. At that point, the far corner picks up the boundary condition of the first corner. It then combines that information with its own boundary condition and start sending it back grid point by grid point. (3). After 164 iterations, the first corner receives the returned signal from the far corner. And this time, something can happen: (a). if the first corner is fixed value boundary, it can mix the incoming signal with this fixed boundary condition and then send the signal back, (b). if the first corner is floating boundary condition, it must adjust itself with the returned signal and starts the process all over again. (4). Based on my experience, this process will have to be repeated at least 10 times to even out the transient signals or errors. So, you need at least 82x10=820 iterations. This represents only "five" round trip of information propagation. Naturally, if you use direct solver, it takes only one iteration. ADI will reduce the fluctuations, but the principle holds. (5). In real life, can you settle the middle east conflict in five round trips? By the time the signal returns, it will have to deal with a new government.
|
|
February 9, 2001, 09:07 |
Re: convergent prob. in solving poisson eq(neumann
|
#9 |
Guest
Posts: n/a
|
1) Fast Poisson Solver are meant to solve Block TST matrices such as the ones you get using the ADI method with a constant space step (Block TST matrices). Except for multigrid methods, these might be the fastest methods that can be used to solve the poisson equation. Sorry I only have general references on the subject and can't give you a good one to implement the method. But you can try this one:
A. Iserles, A first course in the numerical Analysis of Differential Equations, Cambridge University Press, London, U.K. 1996. +This site has a free solver: http://www.fftw.org/ 2) As for "LOOP", I meant performing iterations until convergence. |
|
February 9, 2001, 22:06 |
Re: convergent prob. in solving poisson eq(neumann
|
#10 |
Guest
Posts: n/a
|
dear John, thanks a lot for spending your precious time clarifying the above matter. regards, yfyap
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Moving mesh | Niklas Wikstrom (Wikstrom) | OpenFOAM Running, Solving & CFD | 122 | June 15, 2014 07:20 |
Upgraded from Karmic Koala 9.10 to Lucid Lynx10.04.3 | bookie56 | OpenFOAM Installation | 8 | August 13, 2011 05:03 |
Orifice Plate with a fully developed flow - Problems with convergence | jonmec | OpenFOAM Running, Solving & CFD | 3 | July 28, 2011 06:24 |
Differences between serial and parallel runs | carsten | OpenFOAM Bugs | 11 | September 12, 2008 12:16 |
Could anybody help me see this error and give help | liugx212 | OpenFOAM Running, Solving & CFD | 3 | January 4, 2006 19:07 |