3. DESCRIPTION OF PROGRAM OR FUNCTION
ICCG3 (Incomplete Cholesky factorized Conjugate Gradient algorithm for 3d symmetric problems) was developed to solve a linear symmetric matrix system arising from discretization of three-dimensional elliptic and parabolic partial differential equations found in plasma physics applications, such as resistive MHD, spatial diffusive transport, and phase space transport (Fokker-Planck equation) problems. These problems share the common feature of being stiff and requiring implicit solution techniques. When these parabolic or elliptic PDE's are discretized with finite-difference or finite-element methods, the resulting matrix system is frequently of block-tridiagonal form. To use ICCG3, the discretization of the three-dimensional partial differential equation and its boundary conditions must result in a block- tridiagonal matrix. Its elements in turn are block-tridiagonal sub- matrices composed of elementary sub-sub-matrices that are also tridiagonal. A generalization of the incomplete Cholesky conjugate gradient algorithm is used to solve the linear symmetric matrix equation. Loops are arranged to vectors on the Cray1 with the CFT compiler, wherever possible. Recursive loops, which cannot be vectorized, are written for optimum scalar speed. For problems having an asymmetric matrix, ILUCG3 (NESC 9927) should be used. Similar methods in two dimensions are available in ILUCG2 (NESC 9929) and ICCG2 (NESC 9928).