Solver packages (PCG, SOR, SIP, DSP)

One of the following solvers must be specified for a model run. All arguments for the solver are non-spatial values.

You can check whether a Modflow run converged or not with

res = mf.converged()

PCG package

The preconditioned conjugate-gradient package can be enabled with

mf.setPCG(MXITER, ITERI, NPCOND, HCLOSE, RCLOSE, RELAX, NBPOL, DAMP)

where

MXITER

is the maximum number of outer iterations;

ITERI

is the number of inner iterations;

NPCOND

1 - Modified Incomplete Cholesky, 2 - Polynomial matrix conditioning method;

HCLOSE

is the head change criterion for convergence;

RCLOSE

is the residual criterion for convergence;

RELAX

is the relaxation parameter used with NPCOND = 1;

NBPOL

indicates whether the estimate of the upper bound on the maximum eigenvalue is 2.0 and

DAMP

is the damping factor.

SOR package

The slice-successive overrelaxation package can be enabled with

mf.setSOR(MXITER, ACCL, HCLOSE)

where

MXITER

is the maximum number of iterations allowed in a time step;

ACCL

is the acceleration variable and

HCLOSE

the head change criterion for convergence.

SIP package

The strongly implicit procedure package can be enabled with

mf.setSIP(MXITER, NPARAM, ACCL, HCLOSE, IPCALC, WSEED)

where

MXITER

is the maximum number of times through the iteration loop in one time step;

NPARAM

is the number of iteration variables to be used;

ACCL

is the acceleration variable;

IPCALC

0 - the seed entered by the user will be used, 1 - the seed will be calculated at the start of the simulation, and

WSEED

is the seed for calculating iteration variables.

DSP package

The direct solver package can be enabled with

mf.setDSP(ITMX, MXUP, MXLOW, MXBW, IFREQ, ACCL, HCLOSE)

where

ITMX

is the maximum number of iterations each time step;

MXUP

is the maximum number of equations in the upper part of the equations to be solved;

MXLOW

is the maximum number of equations in the lower part of equations to be solved;

MXBW

is the maximum band width plus 1 of the [AL] matrix;

IFREQ

is flag indicating the frequency at which coefficients in [A] change;

ACCL

is a multiplier for the computed head change for each iteration and

HCLOSE

is the head change closure criterion.