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()
The preconditioned conjugate-gradient package can be enabled with
mf.setPCG(MXITER, ITERI, NPCOND, HCLOSE, RCLOSE, RELAX, NBPOL, DAMP)
is the maximum number of outer iterations;
is the number of inner iterations;
1 - Modified Incomplete Cholesky, 2 - Polynomial matrix conditioning method;
is the head change criterion for convergence;
is the residual criterion for convergence;
is the relaxation parameter used with NPCOND = 1;
indicates whether the estimate of the upper bound on the maximum eigenvalue is 2.0 and
is the damping factor.
The slice-successive overrelaxation package can be enabled with
mf.setSOR(MXITER, ACCL, HCLOSE)
is the maximum number of iterations allowed in a time step;
is the acceleration variable and
the head change criterion for convergence.
The strongly implicit procedure package can be enabled with
mf.setSIP(MXITER, NPARAM, ACCL, HCLOSE, IPCALC, WSEED)
is the maximum number of times through the iteration loop in one time step;
is the number of iteration variables to be used;
is the acceleration variable;
0 - the seed entered by the user will be used, 1 - the seed will be calculated at the start of the simulation, and
is the seed for calculating iteration variables.
The direct solver package can be enabled with
mf.setDSP(ITMX, MXUP, MXLOW, MXBW, IFREQ, ACCL, HCLOSE)
is the maximum number of iterations each time step;
is the maximum number of equations in the upper part of the equations to be solved;
is the maximum number of equations in the lower part of equations to be solved;
is the maximum band width plus 1 of the [AL] matrix;
is flag indicating the frequency at which coefficients in [A] change;
is a multiplier for the computed head change for each iteration and
is the head change closure criterion.