
[Sponsors] 
April 7, 2013, 03:45 
conjugate gradient squared method

#1 
Senior Member
Mehdi
Join Date: Jan 2011
Location: Iran
Posts: 130
Rep Power: 8 
Hi friends;
I plan to implement a nonstationary relaxation method on the code I developed (modeling transition by GammaRetheta transition model). did anyone work with this method? can it be useful for this equations? how much can it increase the speed of convergence? thanks in advance
__________________
Best Regards; Mehdi Email: mb.pejvak[at]Gmail[dot]com 

April 9, 2013, 23:25 

#2 
Senior Member
Mehdi
Join Date: Jan 2011
Location: Iran
Posts: 130
Rep Power: 8 
I found that BICGSTAB is better choice, but I face a problem in implementing it in navierstocks equation. due to coefficient matrix [A] depends on the velocity (unknown matrix [x]) in each iteration [A] should be amended. in BICGSTAB method applying, whether after each iteration in the method, [A] should be amended or number of iterations in the method should be considered?
__________________
Best Regards; Mehdi Email: mb.pejvak[at]Gmail[dot]com 

April 10, 2013, 09:57 

#3 
Member
Join Date: Jul 2011
Posts: 59
Rep Power: 8 
BiCGSTAB is probably better than CGS in terms of stability. CGS tends to have irregular convergence. Both algorithms involve the same operations ( Matrix vectors, dot product, vector updates) so it shouldn't be hard to switch from one to the other.
I would not try updating the coefficient matrix in the BiCGSTAB algorithm. All of the Krylov subspace methods involve searching for solutions to a linear system in a vector space based on the coefficient matrix. They work by progressively minimizing the error in this space. If you change your matrix because you are trying to solve a non linear problem you will be modifying this space and your iteration will be break down. It seems like you are describing a Picard or fixed point type iteration scheme. You are linearizing the equations, solving them, and then updating your linearization. It it important that you restart the BiCG solver after each new linearization. So it would look more like 10 sets of 10 iterations rather than 100 iterations in a row with a varying coefficient matrix. 

April 10, 2013, 22:00 

#4  
Senior Member
Mehdi
Join Date: Jan 2011
Location: Iran
Posts: 130
Rep Power: 8 
Quote:
Thank you so much. I plan to do it in a way that you recommended, but I am not sure about this remedy. I want to amend coefficient matrix after 10 BICGSTAB iterations based on the value of variables (U,V,P, ...), calculate [A] and [b] with NaveirStocks, turbulent and transition models and then use them in BICGSTAB algorithm, and do it until it converge. I also have another question about preconditioner. in "Iterative Methods for Sparse Linear Systems", it is said that choosing appropriate preconditioner is more effective tha using relaxation method ("In general, the reliability of iterative techniques, when dealing with various applications, depends much more on the quality of the preconditioner than on the particular Krylov subspace accelerators used.") so what your idea about the preconditioner methods? can it be said that one of the better than another or their robustness and accuracy are determined in specific applications?
__________________
Best Regards; Mehdi Email: mb.pejvak[at]Gmail[dot]com 

April 12, 2013, 11:27 

#5 
Member
Join Date: Jul 2011
Posts: 59
Rep Power: 8 
Incomplete lower upper factorizations worked well for me. I am working on a multigrid preconditioner in my spare time. It should increase the speed up but will require a little more work. Besides making the solver run faster than main benefit of preconditioning is that the iteration procedure can break down for the CGS or BiCG style methods. When using a preconditioner they tend to be much more robust. It won't affect the accuracy of the solution. For a convection dominated problem I would think that ILU would work well. The ordering of your matrix will have a large effect on the rate. If your lucky and the flow is mostly in one direction then you decomposition should be in that direction as well.


April 15, 2013, 23:42 

#6 
Senior Member
Mehdi
Join Date: Jan 2011
Location: Iran
Posts: 130
Rep Power: 8 
another thing that I faced is BICGSTAB weak point in some cases in which A has imaginary eigenvalue, and it causes the method to break down (BICGSTAB(L) FOR LINEAR EQUATIONS INVOLVING UNSYMMETRIC MATRICES WITH COMPLEX SPECTRUM; by GERARD L.G. SLEIJPENy AND DIEDERIK R. FOKKEMA) in that case BICGSTAB(l) is recommended by them. particularly in an example (No.1) in this paper, it was mentioned that if the equation is advectiondominated problem, BICGSTAB has worse results than BICG.
now, my question is regarding my problem which is lowReynoldsnumber flow and NS, SST Komega, and GammaRetheta models should be solved, do you think using BICGSTAB can be effective or I should select BICGSTAB(l) for better results?
__________________
Best Regards; Mehdi Email: mb.pejvak[at]Gmail[dot]com Last edited by mb.pejvak; April 16, 2013 at 00:58. 

April 20, 2013, 01:50 

#7 
Senior Member
Mehdi
Join Date: Jan 2011
Location: Iran
Posts: 130
Rep Power: 8 
Dear Friends;
I select BICGSTAB(l) for the code that I have developed (NS, SST KOmega turbulence model, GammaRetheta transition model equations) to increase the speed of convergence in this code. I wrote subroutine of this method. I want to evaluate it before adding to my main code with a small matrices, but I can not find a real problem. does any one have this kind of example for evaluating this code?
__________________
Best Regards; Mehdi Email: mb.pejvak[at]Gmail[dot]com 

May 30, 2013, 21:47 

#8 
Senior Member
Mehdi
Join Date: Jan 2011
Location: Iran
Posts: 130
Rep Power: 8 
I implemented BICGSTAB(l) in NS equations, but unfortunately it does not work well. after only one iteration in SIMPLER algorithm, it diverges. I don't know why? I check the code and make necessary changes in [A] and [B] matrix.
I should say I apply BICGSTAB(l) without preconditioner. does anyone know what should I do or what steps are necessary in implementing this method in NS equation with SIMPLER algorithm? or relaxation method does not depend on descritizing algorithms (SIMPLE or ...). In addition, is it necessary to apply preconditioner in BICGSTAB(l) since it may diverge?
__________________
Best Regards; Mehdi Email: mb.pejvak[at]Gmail[dot]com Last edited by mb.pejvak; May 30, 2013 at 23:48. 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Fluent 6.3.26 vs 12.1 and partition method  Anorky  FLUENT  0  April 27, 2010 10:55 
conjugate gradient method  parth  Main CFD Forum  1  March 11, 2005 14:08 
How to compute gradient for nonorthogonal grids?  Paul Hsieh  Main CFD Forum  3  November 11, 2003 05:52 
Block Matrix Solver Using Conjugate Gradient  John  Main CFD Forum  2  July 31, 2001 12:08 
Poisson eq and conjugate gradient method  Gary Dantinne  Main CFD Forum  2  March 19, 1999 01:24 