American Nuclear Society

Home / Store / Journals / Electronic Articles / Nuclear Science and Engineering / Volume 92 / Number 1

Experience with the Incomplete Cholesky Conjugate Gradient Method in a Diffusion Code

Willi Hoebel

Nuclear Science and Engineering

Volume 92 / Number 1 / January 1986 / Pages 20-26


Member Price:$27.00
Member Savings:$3.00

For the numerical solution of sparse systems of linear equations arising from the finite difference approximation of the multidimensional neutron diffusion equation, fast methods are needed. Effective algorithms for scalar computers may not be likewise suitable on vector computers. In the improved version (DIXY2) of the Karlsruhe two-dimensional neutron diffusion code for rectangular geometries, an incomplete Cholesky conjugate gradient (ICCG) algorithm has been combined with the originally implemented cyclically reduced four-line successive overrelaxation (CR4LSOR) inner iteration method. The combined procedure is automatically activated for slowly converging applications, thus leading to a drastic reduction of iterations as well as CPU times on a scalar computer. In a follow-up benchmark study, necessary modifications to ICCG and CR4LSOR for use on a vector computer were investigated. It was found that a modified preconditioning for the ICCG algorithm restricted to the block diagonal matrix is an effective method both on scalar and vector computers. With a splitting of the nine-band matrix in two triangular Cholesky matrices, necessary inversions are performed on a scalar machine by recursive forward and backward substitutions. On vector computers an additional factorization of the triangular matrices into four bidiagonal matrices enables Buneman reduction, and the recursive inversion is restricted to a small system. A similar strategy can be realized with CR4LSOR if the unvectorizable Gauss-Seidel iteration is replaced by Double Jacobi and Buneman techniques for a vector computer. Compared to single-line blocking over the original mesh, the cyclical four-line reduction of the DIXY inner iteration scheme reduces numbers of iterations and CPU times considerably.

Questions or comments about the site? Contact the ANS Webmaster.