3. DESCRIPTION OF PROGRAM OR FUNCTION
ILUCG2 (Incomplete LU factorized Conjugate Gradient algorithm for 2-D problems) was developed to solve a linear asymmetric matrix system arising from a
9-point discretization of two-dimensional elliptic and parabolic partial differential equations found in plasma physics applications, such as plasma diffusion, equilibria, and phase space transport (Fokker-Planck equation) problems. These equations 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 ILUCG2, the discretization of the two-dimensional partial differential equation and its boundary conditions must result in a block-tridiagonal supermatrix composed of elementary tridiagonal matrices. A generalization of the incomplete Cholesky conjugate gradient algorithm is used to solve the matrix equation. Loops are arranged to vectorize on the Cray1 with the CFT compiler, wherever possible. Recursive loops, which cannot be vectorized, are written for optimum scalar speed. For problems having a symmetric matrix ICCG2 should be used since it runs up to four times faster and uses approximately 30% less storage. Similar methods in three dimensions are available in ICCG3 and ILUCG3. A general source, containing extensions and macros, which must be processed by a precompiler to obtain the standard FORTRAN source, is provided along with the standard FORTRAN source because it is believed to be more readable. The precompiler is not included, but precompilation may be performed by a text editor as described in the UCRL-88746 Preprint.