|
[Sponsors] |
February 25, 2019, 09:59 |
Biconjugate AND Gauss-Seidel
|
#1 |
Member
|
Krylov methods like Biconjugate Gradient Stabilized method and stationary methods like Gauss-Seidel seem like different approaches to the same problem of solving a system of linear equations.
However, both methods seem to be employed simultaneously in commercial CFD codes. Is one sort of "wrapped" around the other? The Krylov method is often labeled an acceleration technique, does that mean the system is solved first with Gauss then with Biconjugate? Is Biconjugate used only to generate a preconditioner matrix to then multiply into the system, which is then solved with Gauss? |
|
February 25, 2019, 10:53 |
|
#2 |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,754
Rep Power: 66 |
They are different approaches (out of many many many) for solving linear systems, yes. Both are wholesome methods, meaning they are whole solvers.
Commercial codes often use an algebraic multi-grid method. And here, different equations often utilize different AMG styles which then use different linear solvers. Equations that use a fixed number of sweeps (V,W,F cycle) will often use a conjugate gradient method. Here I am not sure if Gauss-Siedel is used as a smoother or not, I would have to check, and it can vary depending on who writes the software. Equations that used a variable number of sweeps (flex cycle in Fluent and Star-CCM) will use Gauss-Siedel till the end. |
|
February 25, 2019, 10:56 |
|
#3 | |
Senior Member
Join Date: Dec 2017
Posts: 153
Rep Power: 8 |
Quote:
Hi, I think it is not as you are actually writing. Krilov methods are widely used to solve sparse linear systems and they improve drammatically the speed of your solver. Thus , yes, they do the same, but krilov methods are much more powerful! Gauss Siedel is a very basics solver which can be often used as preconditioner. But also in this case you have much better. What you usually do is build a preconditioner somehow (Jacobi, DILU, Gauss-Siedel like) and the solve the system with a krilov method. |
||
February 25, 2019, 11:20 |
|
#4 |
Member
|
Thanks, I think I see. So if solving the coupled mass+momenta+energy equations with something like the standard V-cycle, the Gauss-Seidel method may never be called, and instead the system is solved, at each grid level, via biconjugate gradient stabilized method? (I'm assuming here there isn't a convergence issue with biconjugate).
Then perhaps something like Gauss or ILU would be utilized by a solver which often utilizes flex cycle, like the segregated turbulence system? |
|
February 25, 2019, 14:43 |
|
#5 |
Senior Member
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,882
Rep Power: 73 |
GS method, but specifically the SOR method can be the best choice when you approach solutions of elliptic equations on structured grids. I can say that if you are looking for the lesser computational CPU time, it is suitable to use ad hoc programmed SOR rather than Krylov methods. Do not forget that you can write a parallel code also with the SOR method.
For more general algebric equations preconditioned Krylov methods are the best |
|
Tags |
biconjugate gradient, gauss-seidel, iterative methods |
|
|