Computer program for solving ground-water flow equations by the preconditioned conjugate gradient method

This report documents a numerical code for use with the U.S. Geological Survey modular three-dimensional finite-difference ground-water flow model. The code uses the preconditioned conjugate gradient method for the solution of the finite difference approximating equations generated by the modular flow model. These equations are a system of simultaneous linear equations except when the river, drain, or evapotranspiration packages of the modular model are being used, in which case they are a system of simultaneous nonlinear equations. When these equations are linear, they are solved by the basic preconditioned conjugate gradient method as available in the literature. Five preconditioning types may be chosen: three different types of incomplete Choleski, point Jacobi, or block Jacobi. When the approximating equations are nonlinear, the solution method is that of Picard preconditioned conjugate gradient with the same preconditioning choices. Either a head change or residual error criteria may be used as an indicator of solution accuracy and iteration termination. The use of the computer program that performs the calculations in the numerical code is emphasized. Detailed instructions are given for using the computer program, including data entry formats and the method of linking the program into the modular model. A sample data listing and listing of the Fortran program are included.