Please enable JavaScript to view this site.

Online Guide to MODFLOW-2005

Navigation: Groundwater Flow Process > Solvers

PCGN - Preconditioned Conjugate Gradient Solver with Improved Nonlinear Control

Scroll Prev Top Next More

Abbreviation in Name file



The Preconditioned Conjugate Gradient Solver with Improved Nonlinear Control package is used to solve the finite difference equations in each step of a MODFLOW stress period.


Naff, R.L., and Banta, E.R., 2008, The U.S. Geological Survey modular ground-water model—PCGN: A preconditioned conjugate gradient solver with improved nonlinear control: U.S. Geological Survey Open-File Report 2008–1331, 35 p.

Related Packages


Supported in





Other Notes

As of Mar. 28, 2012, the PCGN solver was not included in the versions of MODFLOW-2000 and MODFLOW-LGR released via  Versions of MODFLOW-2000  and MODFLOW-LGR that contains the PCGN package can be downloaded from

If the Lake package is used, more iterations may be required.

The PCGN solver package is invoked by inserting the file type “PCGN” in the MODFLOW Name file (Harbaugh and others, 2000). This entry in the Name file also is used to associate the file type “PCGN” with the name of a file from which the input values for the PCGN solver package are read; these input values are described in this section. Either fixed or free format is available for reading all values on the input list. The PCGN data file should contain the following data items in the order given:





Optional comments may be added to the input data file by preceding the comment with the symbol # in the first column; these comments may appear anywhere in the data file. If fixed format is selected, then the corresponding format types, for the preceding variables, are as follows:

1.        2I10,2F10.0

2.        F10.0,3I10

3.        I10,4F10.0

4.        I10,F10.0,I10,F10.0,I10

The variables on the line 1 above generally manage the inner and outer iterations and overall convergence of the problem. The line 2 variables generally pertain to the PCG solver. The line 3 variables generally manage the damping applied when updating a nonlinear problem, and the line 4 variables manage the convergence of the PCG solver.

Generally speaking, if little is known of the characteristics of the nonlinear problem, one is advised to start the modeling process with ACNVG = 0, ADAMP = 0 and DAMP = 0.5; if damping at this level does not produce convergence of the nonlinear problem, then damping should be reduced, in the extreme to the DAMP = 0.01 level. If convergence is still not achieved, and the Picard iteration progress report (IPUNIT > 0) indicates that residuals are not being reduced, then the modeler should use enhanced convergence (ACNVG = 2, MCNVG > 1) with no variation allowed (RATE_C ≤ 0). If difficulties persist, then the modeler may wish to attempt adaptive damping (ADAMP = 1) with small starting and limiting parameters: DAMP_LB = 0.001 and DAMP = 0.1. Memory usage permitting, convergence of the Picard iteration might also be aided if fill level IFILL = 1 can be used. If any of these modes produce a Picard solution with a reasonable mass balance, then the modeler will likely wish to refine these modes so as to increase the efficiency and accuracy of the Picard iteration.

Results thus far of testing the PCGN package on various nonlinear problems have not indicated that any particular set of Picard parameters have preference. Some nonlinear problems simply will not converge without use of adaptive damping, although simultaneous use of the standard convergent scheme is frequently adequate. Convergence of dewatering problems is frequently enhanced if a bound for the maximum head change, CHGLIMIT, can also be instituted. On the other hand, several nonlinear problems showed a strong preference to increasing the accuracy of the linear solution by allowing ACNVG > 0. Here, the ACNVG = 1 option was generally found to be less useful than the ACNVG = 2 option when used in conjunction with RATE_C set to a small positive value. That is, using an option that initially tightens the relative convergence criterion ε, but slowly relaxes it so that standard convergence is gradually reestablished, is more likely to enhance performance of the solver. In dewatering simulations, the ACNVG = 2 option frequently diminishes the number of cells that go dry. That is, having a slightly more rigorous solution to the linear approximation early in the Picard iteration may decrease the number of cells that go dry.

With regard to the Picard parameters (ITER_MO > 1), the PCGN package does limited checking to ascertain that the input data are consistent and correct. If an inconsistent or out of range entry is encountered, the package usually resets ADAMP and (or) ACNVG to 0, issues a warning, and allows the computation to continue. The user must examine the MODFLOW Listing file to detect such warnings; if such warnings are found, the PCGN data input file should be examined for errors.


Data Set 1


As convergence of the Picard iteration may be acheived by meeting either the CLOSE_R or the CLOSE_H criterion, care must be taken in their selection. One should, in any case, check the mass balance of the solution for the problem in question to verify that a reasonable result has been obtained. Maximum head-change values at convergence are generally two to four order of magnitude smaller than the residual norm [rT r]1/2

Data Set 2


If ITER_MO = 1, then no further data are read (or needed) by the PCGN package to solve a linear problem. If the problem is nonlinear (ITER_MO > 1), then the remaining two lines (3 and 4) of data are read and processed.

Data Set 3


Data Set 4


Created with Help & Manual 8 and styled with Premium Pack Version 4 © by EC Software