MODFLOW Solver

Workflow context
For the workflow context, see 📘 MODFLOW Specifics

What is it?

Every MODFLOW model must include one solver packages that is used to solve the groundwater flow equations. Each version of MODFLOW has different solver options.

Supported Solvers

IGW-NET support is provided for the following:

MODFLOW-6
- Integrated Model Solution (IMS6) Solver
This is the sole solver available for MODFLOW-6 to solve the finite difference equations.
IMS IGW-NET and MODFLOW

MODFLOW-USG
- Sparse Matrix Solver (SMS)
The SMS package can be used to solve Standard or Newton-Raphson formulations of flow equations in each step of a MODFLOW stress period.
SMS IGW-NET and MODFLOW

MODFLOW-NWT
- Newton-Raphson (NWT) Solver
The NWT package can be used to solve the Newton-Raphson formulation of flow equations in each step of a MODFLOW stress period.
NWT IGW-NET and MODFLOW parameter lookup table

MODFLOW-2005
- Preconditioned Conjugate Gradient Method (PCG) Solver
The PCG package can be used to solve the finite difference equations in each step of a MODFLOW stress period.
PCG IGW-NET and MODFLOW parameter lookup table
- Preconditioned Conjugate Gradient with Improved Nonlinear Control (PCGN) Solver
The PCGN package can be used to solve the finite difference equations in each step of a MODFLOW stress period.
PCGN IGW-NET and MODFLOW Parameters parameter lookup table
- Geometric MultiGrid (GMG) Solver
The GMG package can be used to solve the finite difference equations in each step of a MODFLOW stress period using both an inner loop and outer loop.
GMG IGW-NET and MODFLOW parameter lookup table
- Strongly Implicit Procedure (SIP) Solver
The SIP package (McDonald and Harbaugh 1988) uses outer iteration and a computed or user specified seed to solve nonlinear terms and a direct linear solution.
SIP IGW-NET and MODFLOW parameter lookup table
- Direct (DE4) Solver
The DE4 package (Harbaugh 1995) solves the finite difference equations using both inner (linear) and outer (nonlinear) iterations optimized for sparse, symmetric matrices with Gaussian elimination and an alternating diagonal equation numbering scheme. Direct solutions are most efficient when solving small, linear problems.
DE4 IGW-NET and MODFLOW parameter lookup table

MODFLOW-2000
- Slice-Successive Over-Relaxation (SOR or SSOR) Solver
The SSOR Package (McDonald and Harbaugh, 1988) iteratively solves linear equations by dividing the finite difference grid into vertical "slices", grouping equations, and solving directly by Gaussian elimination.
SSOR IGW-NET and MODFLOW parameter lookup table

Model Complexity

IGW-NET currently supports complexity options for the SMS, NWT, and DE4 solvers. If complexity is set to something other than 'Specified' for SMS or NWT then only outer closure criteria are read from the inputs (all other values are set internally to complexity defaults see below).
Options available (as described in MODFLOW documentation) include :

- SPECIFIED indicates that all values input in the Inner Loop and Outer Loop tabs will be utilized.

- SIMPLE indicates that default solver input values will be defined that work well for nearly linear models. This would be used for models that do not include nonlinear stress packages, and models that are either confined or consist of a single unconfined layer that is thick enough to contain the water table within a single layer.(If using the DE4 solver this sets IFREQ = 1)

- MODERATE indicates that default solver input values will be defined that work well for moderately nonlinear models. This would be used for models that include nonlinear stress packages and models that consist of one or more unconfined layers. The “MODERATE” option should be used when the “SIMPLE” option does not result in successful convergence.(If using the DE4 solver this sets IFREQ = 3)

- COMPLEX indicates that default solver input values will be defined that work well for highly nonlinear models. This would be used for models that include nonlinear stress packages and models that consist of one or more unconfined layers representing complex geology and surface water/groundwater interaction. The “COMPLEX” option should be used when the “MODERATE” option does not result in successful convergence.

SMS Complexity Default Values:
SMS Inner Loop
SMS Outer Loop
NWT Complexity Default Values:
NWT Inner Loop
NWT Outer Loop

Newton-Raphson Formulation

The Newton-Raphson Formulation is supported in MODFLOW-6, MODFLOW-USG, and MODFLOW-NWT (this option is exclusively used by MODFLOW-NWT).

External Links

USGS Documentation for the solvers and their parameters.

- IMS6
 FloPy IMS package documentation - mfims
 MODFLOW-6 input documentation - Version mf6.2.0—October 22, 2020
 MODFLOW-6 input documentation - Version mf6.1.0—December 12, 2019
 MODFLOW-6 documentation - Langevin and others (2017)
 MODFLOW-6 framework documentation - Hughes and others (2017)


- SMS
 MODFLOW-USG documentation - Panday and others (2013)
 FloPy SMS package documentation - mfsms


- NWT
MODFLOW-NWT NWT documentation - online guide
FloPy NWT package documentation - mfnwt


- PCG
 MODFLOW-2005 PCG documentation - online guide
 FloPy PCG package documentation - mfpcg


- PCGN
 MODFLOW-2005 PCGN documentation - online guide
 FloPy PCGN package documentation - mfpcgn


- GMG
 MODFLOW-2005 GMG documentation - online guide
 FloPy GMG package documentation - mfgmg


- SIP
 FloPy SIP package documentation - mfsip
 MODFLOW-2005 SIP documentation - online guide
 MODFLOW-1988 documentation (see sections 18-20)- McDonald & Harbaugh (1988)
 MODFLOW-2005 documentation (see section 7-2) - Harbaugh (2005)


- DE4
 FloPy DE4 package documentation - mfde4
 MODFLOW-2005 DE4 documentation - online guide
 DE4 documentation - Harbaugh (1995)
 MODFLOW-2005 documentation (see section 7-5) - Harbaugh (2005)


- SOR
 FloPy SOR package documentation - mfsor
 MODFLOW-2000 SOR documentation - online guide
 MODFLOW-1988 SOR documentation - McDonald & Harbaugh (1988)
 MODFLOW-2000 documentation (see page 81) - Harbaugh and others (2000)