|
[Sponsors] |
Diagonally preconditioned biconjugate gradient |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
June 14, 2005, 13:55 |
Hi,
I would like to know wh
|
#1 |
Senior Member
Billy
Join Date: Mar 2009
Posts: 167
Rep Power: 17 |
Hi,
I would like to know what are the major diferences between "Diagonally preconditioned biconjugate gradient" and the "Incomplete-Cholesky preconditioned biconjugate gradient" solvers. Billy. |
|
June 14, 2005, 14:16 |
There's some brief technical i
|
#2 |
New Member
Chris Greenshields
Join Date: Mar 2009
Posts: 28
Rep Power: 17 |
There's some brief technical info at the following link [paper page 41, PDF page 47]:
http://www-2.cs.cmu.edu/~quake-paper...e-gradient.pdf |
|
June 14, 2005, 16:20 |
Hi Billy,
This is to do wit
|
#3 |
Senior Member
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,907
Rep Power: 33 |
Hi Billy,
This is to do with parallelism. Basically, you can do various kinds of preconditioning with the Conjugate Gradient solver. If you do nothing, the solver is a disaster. The "best" kind of preconditioning we've got in FOAM is the Incomplete Cholesky. However, the preconditioner works by visiting rows of the matrix (cells) in a particular order and the efficiency of preconditioning depends on that order. All is well when you're doing simulations on a single CPU. However, when you do a decomposition in parallel, each CPU needs to do its own preconditioning on the local cells (because the cells on other processors cannot be accessed (in order). Therefore, for a parallel run, the incomplete Cholesky preconditioning (ICCG) will give you a slightly different result than the identical run in serial (number of solver iterations may be slightly larger and you get different round-off). Diagonal preconditioning, on the other hand, does not depend on the ordering of cells, but is much (well, hmm) worse than ICCG. Therefore, when doing single-CPU runs, you really have no reason to run anything else than ICCG (maybe AMG, but that's another, and painful, topic). However, sometimes you can get into a situation when you absolutely desperately need the same result in parallel and serial, e.g. when chasing bugs. :-) In that case, using Diagonal preconditioning (DCG) will allow you to do that, but you'll pay with the increased simulation time. Enjoy, Hrv
__________________
Hrvoje Jasak Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Preconditioned Conjugate Gradient Solver! | Chidu | Main CFD Forum | 1 | January 21, 2004 12:43 |
Help with Biconjugate Gradient to solve a system | Isa | Main CFD Forum | 2 | December 20, 2003 08:19 |
Preconditioned Gmres | carlos | Main CFD Forum | 2 | April 14, 2003 06:24 |
Diagonally Implicit Runge Kutta | Anthony Iannetti | Main CFD Forum | 1 | February 3, 2001 01:14 |
Diagonally Dominate Runge Kutta Method | Anthony Iannetti | Main CFD Forum | 0 | January 23, 2001 22:27 |