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

Reg. BICGSTAB

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

Like Tree1Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 10, 2008, 12:49
Default Reg. BICGSTAB
  #1
sandy
Guest
 
Posts: n/a
Hi, i wrote a code for solving Pressure Poisson equation using BiCgSTAB iterative technique. My code is working fine except for the very fine grids(dx~1e-3) so i cant run some cases. Plz advice me reg. this. Is pre-conditioning of any use..?
  Reply With Quote

Old   May 12, 2008, 06:53
Default Re: Reg. BICGSTAB
  #2
InddZen
Guest
 
Posts: n/a
Hi,

It's known that BI-CGStab can breakdown, I found in a paper the reasons, there are 3, but I can't remember...

But basically, Pressure Poisson Equations matyrix is supposed to be symmetric and positive definite!!! And BiCGStab is designed for unsymmetric matrices!!! So why not use simply CG or CGS. With or whitout preconditionning, you will get very fast and accurate results.

If your matrice is not symmetric, you will probably have to think about GMRES. In this case you have to choose a fairly large restart but it should be ok. Not as fast as BICGStab but you'll always get good results.
  Reply With Quote

Old   May 12, 2008, 15:12
Default Re: Reg. BICGSTAB
  #3
sandy
Guest
 
Posts: n/a
Hi, Thank you for your suggestions. If possible please give the details of that paper.

  Reply With Quote

Old   May 12, 2008, 17:36
Default Re: Reg. BICGSTAB
  #4
InddZen
Guest
 
Posts: n/a
The title of the paper is "The Breakdowns of BiCGStab" Link: http://www.springerlink.com/content/62w0t6nh2p8frala/

  Reply With Quote

Old   May 13, 2008, 05:45
Default Re: Reg. BICGSTAB
  #5
Tom
Guest
 
Posts: n/a
If you're not preconditioning the matrix then it's likely that bicgstab will not converge (well not within a reasonable number of iterations anyway).

Things to check:

(1) make sure you are running in double precision and your convergence criteria is sensibly set.

(2) Try diagonal preconditioning to see if it improves matters.

(3) If (2) appears to work then try another simple preconditioner (Jacobi, Guass-Seidel, SOR or SSOR are all easy to program).

(4) If all the above fail try another solver such as GCR(k) or GMRES(k).

NOTE: most iterative methods have the potential to breakdown/stagnate (it's happened to me with both GCR and GMRES even with preconditioning).
  Reply With Quote

Old   May 13, 2008, 06:18
Default Re: Reg. BICGSTAB
  #6
InddZen
Guest
 
Posts: n/a
The most simple preconditionner you can use is the diagonal of the matrix. It's improving the simulation enough to see if you need to invesigate more the idea of the preconditionner or simply move to another method.
  Reply With Quote

Old   May 13, 2008, 09:01
Default Re: Reg. BICGSTAB
  #7
sudhakar
Guest
 
Posts: n/a
hi, Could you tell us your grid size? I am using BiCGSTAB (without preconditioning) to solve pressure poisson equation with 550*450 grid points. It is converging and working very wel.. It is good if you once again check your implementation.
  Reply With Quote

Old   May 13, 2008, 10:56
Default Re: Reg. BICGSTAB
  #8
InddZen
Guest
 
Posts: n/a
I also used BICGStab for another kind of matrix, unsymmetric of course. Diverging for n=18000 if no preconditionning Diverging for n=32000 if diagonal preconditionning n being the size of the matrix of course. So it is a fact : BICGStab can breakdown for numerous reasons!!
  Reply With Quote

Old   May 13, 2008, 11:44
Default Re: Reg. BICGSTAB
  #9
About BiCGStab
Guest
 
Posts: n/a
N=18000 or N=32000 is not important here, and it is not the reason it has broken down. And since it has broken down diagonal preconditioning is not gonna help because your matrix clearly is not diagonally dominant (not a M matrix). The reason for preconditioned BiCGStab is not very clear from what you have written. (I had made BiCGStab failed for even N=6).

If your case is too ill conditioned the fail safe method is LSQR.
  Reply With Quote

Old   May 13, 2008, 12:05
Default Re: Reg. BICGSTAB
  #10
Tom
Guest
 
Posts: n/a
Do you actually mean diverging or do you mean "not converging" - they are different things?

The only time I've had "divergence" has been to programming error (or bad initialization resulting in a division by zero).

The not converging case occurs when the iteration increments either become zero (stagnation) or the residual oscillates without decreasing.

  Reply With Quote

Old   May 13, 2008, 13:56
Default Re: Reg. BICGSTAB
  #11
sandy
Guest
 
Posts: n/a
The problem is coming when i put, say, 21 grids in 1/600cm(to capture some details in a case, i've used clustered grids.Total domain size was 5.5*0.1 mm with 550*62 grids),in short, when the dx or dy are of very low magnitude. Except for such kind of fine grids, it is working for any no. of grid points, so where could possibly the bug be..?. Please suggest how to modify the implementation as it is just being influenced by the grid dimension?

  Reply With Quote

Old   May 13, 2008, 13:57
Default Re: Reg. BICGSTAB
  #12
sandy
Guest
 
Posts: n/a
(in continuation)

My code is Diverging for such grids.
  Reply With Quote

Old   May 13, 2008, 19:16
Default Re: Reg. BICGSTAB
  #13
InddZen
Guest
 
Posts: n/a
What I meant is that for my case, the BIGgstab was giving great results for "coarse" meshes and was breacking down for "finer" mesh. And my matrix is diagonal dominant... But currently I'm using SuperLU or GMRES, which is giving great satisfation, specially the first.

  Reply With Quote

Old   May 13, 2008, 19:28
Default Re: Reg. BICGSTAB
  #14
About BiCGStab
Guest
 
Posts: n/a
BiCGStab with good preconditioner is very good. I give you an idea about how fast it could be : on a unstructured grid of 70 000 cells, and heat transfer equation with non linear source term. 1 iteration of it reduced the absolute error by factor of 10^-7. That is convergent in 1 iteration. The preconditioner was AMG. ;-)

So if the preconditioner is good, BiCGStab is also very good and robust.
  Reply With Quote

Old   May 14, 2008, 01:47
Default Re: Reg. BICGSTAB
  #15
sudhakar
Guest
 
Posts: n/a
hi InddZen,

Is it true that the discretization of pressure Poisson equation always produces symmetric and positive definite matrix? Is this the case even for non-uniform grid? is CG faster than multigrid?
  Reply With Quote

Old   May 14, 2008, 02:43
Default Re: Reg. BICGSTAB
  #16
sandy
Guest
 
Posts: n/a
No, afaik,For non-uniform/non-orthogonal grid the discretization will not produce symmetric matrix.
  Reply With Quote

Old   May 14, 2008, 03:25
Default Re: Reg. BICGSTAB
  #17
Matrix
Guest
 
Posts: n/a
Actually for incompressible case the matrix will be symmetrical and positive definite. Even for unstructured grids. CG could be used and is used usually, but i have found that BiCGStab (ILU preconditioner) converges much faster than CG. So I always use it.
  Reply With Quote

Old   May 14, 2008, 04:39
Default Re: Reg. BICGSTAB
  #18
InddZen
Guest
 
Posts: n/a
Ok, AMG is working fine for elliptic equations, what about other kind of matrices, for exemple the one obtained by a FEM discretisation of Navier Stokes equation (incompressible flow of course), specially for high Reynold Numbers... You should read again your papers... Actually I don't have time to spend on trying to developp the right AMG for my matrix, which is really special, probaly latter...
  Reply With Quote

Old   May 14, 2008, 05:38
Default Re: Reg. BICGSTAB
  #19
Tom
Guest
 
Posts: n/a
"Actually for incompressible case the matrix will be symmetrical and positive definite."

No it won't - try discretizing the 1D problem on a nonuniform grid using finite differences!
  Reply With Quote

Old   May 14, 2008, 05:42
Default Re: Reg. BICGSTAB
  #20
Tom
Guest
 
Posts: n/a
Try nondimensionalizing your equations and make sure you're using a relative (dimensionless) error estimate for convergence. Also make sure you're using double precision.
  Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem with BICGSTAB Amir_Ghasemi Main CFD Forum 3 October 14, 2011 14:16
TurbDyMFoam-Ggi JulytoNovember OpenFOAM Running, Solving & CFD 2 January 31, 2011 02:36
GGI in OpenFOAM hjasak OpenFOAM Running, Solving & CFD 59 April 30, 2010 09:30
[r] Need some help with bicgstab. sandy Main CFD Forum 1 March 3, 2008 12:10
reg. ES - ICE anand Main CFD Forum 0 May 12, 2005 08:42


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