PCG: Preconditioned Conjugate Gradient Package Pane

  • Scroll to top of this topic Scroll to Top of Page

  • Print the current topic Print Topic

  • No expanding elements on this page Show/Hide Expanders

The Preconditioned Conjugate Gradient (PCG) package is the most commonly used solver package because it is fast and does not require excessive memory. The pane for this package is on the MODFLOW Packages and Programs dialog box under Solvers.

The following items are set on the PCG: Preconditioned Conjugate Gradient Package pane.

Max. number of outer iterations (MXITER): is the maximum number of outer iterations—that is, calls to the solution routine. For a linear problem MXITER should be 1, unless more than 50 inner iterations are required, when MXITER could be as large as 10. A larger number (generally less than 100) is required for a nonlinear problem. If the Lake package is used, more iterations may be required.

Max. number of inner iterations (ITER1): is the number of inner iterations. For nonlinear problems, ITER1 usually ranges from 10 to 30; a value of 30 will be sufficient for most linear problems.

Matrix preconditioning method (NPCOND): is the flag used to select the matrix conditioning method. The first choice (Modified Incomplete Cholesky) is almost always chosen.

IHCOFADD: determines what happens to active cells surrounded by dry cells

Max. abs. change in head (HCLOSE): is the head change criterion for convergence, in units of length. When the maximum absolute value of head change from all nodes during an iteration is less than or equal to HCLOSE, and the criterion for RCLOSE is also satisfied (see below), iteration stops.

Max. abs. residual (RCLOSE): is the residual criterion for convergence, in units of cubic length per time. When the maximum absolute value of the residual at all nodes during an iteration is less than or equal to RCLOSE, and the criterion for HCLOSE is also satisfied (see above), iteration stops. For nonlinear problems, convergence is achieved when the convergence criteria are satisfied for the first inner iteration.

Relaxation parameter (RELAX): is the relaxation parameter used with NPCOND = 1. Usually, RELAX = 1.0, but for some problems a value of 0.99, 0.98, or 0.97 will reduce the number of iterations required for convergence. RELAX is not used unless NPCOND is 1.

Upper bound of the max. eigenvalue (NBPOL): is used when NPCOND = 2 to indicate whether the estimate of the upper bound on the maximum eigenvalue is 2.0, or whether the estimate will be calculated. NPBOL = 2 is used to specify the value is 2.0; for any other value of NPBOL, the estimate is calculated. Convergence is generally insensitive to this parameter. NPBOL is not used unless NPCOND is 2.

Printout interval (IPRPCG): is the printout interval for PCG. If IPRPCG is equal to zero, it is changed to 999. The maximum head change (positive or negative) and residual change are printed for each iteration of a time step whenever the time step is an even multiple of IPRPCG. This printout also occurs at the end of each stress period regardless of the value of IPRPCG.

Printing control (MUTPCG): is a flag that controls printing of convergence information from the solver:

0—is for printing tables of maximum head change and residual each iteration

1—is for printing only the total number of iterations

2—is for no printing

3—is for printing only if convergence fails

Steady-state damping factor (DAMPPCG): is the damping factor for steady state stress periods. It is typically set equal to one, which indicates no damping. A value less than 1 and greater than 0 causes damping. DAMPPCG does not affect inner iterations; instead, it affects outer iterations.

Transient damping factor (DAMPPCGT): is the damping factor for transient stress periods. In other respects it is like DAMPPCG.