This post is intended to help to get an idea why a numerical model simulation fails to terminate or is not converging and what can be done.
As a general rule of thumb, it is always a good idea to start simple and add complexity step by step when setting up a new model. In that way, issues can be faster and more easily identified and solved.
Why is it important that a numerical model converges?
Numerical solvers that include iterations require a modeler to specify closure criteria, typically for water balance as well as head and the maximum number of iterations. The closure criteria influence the execution time but also the validity of the solution and determine the maximum residual error and in that way convergence. The solution converges and iteration stops when the residual error is equal to or lower than the maximum value allowed. If a solution has not met the closure criteria or to say it with other words has not converged within the permitted number of iterations, execution stops prior to convergence (Anderson et al., 2015).
Nonconvergence can also result from poor assignments of starting heads and parameters, improper boundary conditions, poor conceptual model and/or errors in input values.
How to determine the reason for model nonconvergence?
The reasons for nonvonvergence can often be identified by examining the residual statistics, the computed water budget or the spatial distribution of flux and head residuals. The .list File gives information where the model run terminated or the solution failed to converge. This gives a first hint for the reason of nonconvergence:
- At what point did MODFLOW terminate? Mostly a problem exists with the input of a package MODFLOW is reading at that moment (see e.g. points 1 and 10).
- identify specific cells that fall dry (see e.g. points 2 and 4).
- identify specific cells where the residual error is high or MODFLOW finds no solution (see e.g. points 3, 5, 6 and 7).
Reasons for nonconvergence
Reasons for model nonconvergence or the termination of a simulation run can include, but are not limited to:
1. Zero or negative thickness cell
It is required in MODFLOW, that all cells in all layers have a positive thickness. Hence, when the user inputs a layer with a zero or negative thickness, the simulation stops running. This can especially occur when layer elevations are uploaded by interpolated raster files and should be checked prior to the simulation run.
2. Active cells surrounded by dry cells
The isolation of active cells often results in nonconvergence as MODFLOW tries to calculate the head in those cells. A solution to the problem could be to activate the cell rewetting option (try first the rewetting from below option). In addition, if you continue to experience difficulties, the head value in dry cells can be set to the bottom of the cell instead of a constant value (-1e30).
3. Large changes in hydraulic conductivities between adjacent cells
High gradients in hydraulic conductivity can be the reason for non-convergence as it causes numerical oscillations. One solution is to reduce the numerical difference in hydraulic conductivities between neighboring cells or to add additional conductivity zones to produce a smoother gradient. Another option is to increase the number of iterations (see point 6) but often that alone does not solve the convergence issue.
4. Dry cells in the model domain or pumping wells that are running dry
MODFLOW is only designed to simulate saturated flow conditions and hence, if there are large areas of the model that are above the water table or areas where the water table drops below the bottom of a layer, the dry cells can result in convergence issues. Due to numerical oscillations, also the cycling between saturated and unsaturated conditions (wet and dry) due to water table fluctuations, recharge settings and rewetting settings can lead to convergence problems.
If you use the Recharge Package, check whether an appropriate recharge rate is assigned and it is applied to the “highest active layer”.
Reduce the probability of cells falling dry by increasing layer thicknesses by combining top layers or reassigning layer elevations. Layers that are above the water table will fall dry during a simulation and can cause nonconvergence.
If rewetting is active in the model, it can also cause nonconvergence. Try to reduce the wetting interval to every 3-5 iterations (see point 8).
Convergence problems can also occur if drawdown around pumping wells is causing wells to run dry. To keep the cells in which the well is assigned from going dry, it is advised to revise the model input and concept incuding the hydraulic conductivity, layer thickness, pumping rate, grid discretization, boundary conditions, etc.
5. Poor initial guess (e.g. initial head)
If the starting head was chosen badly, it can occur that the simulation is not converging. One option is to increase the number of iterations. Another way is to run the simulation first in transient state with a high number of time steps and arbitrary storage parameters and take the resulting head as initial head for the steady state simulation.
This issue can also be the reason that no solution using unconfined model layers can be obtained (see 11).
6. Convergence/closure criteria
An unreasonably small closure criteria specified by the modeler can be a reason that a solution is not converging. Small numerical errors in the solution prevent the residuals from falling below the specified closure criteria causing nonconvergence. Often, the head residual oscillates around some value higher than the head closure criterion although the water budget error might be acceptable. Here, convergence may be reached by raising the head closure criterion (Anderson et al., 2015).
Ideally, the selection of closure criteria should balance desirable short runtimes with an acceptably low reported error in the computed water budget.
7. Number of iterations
Besides a small closure criteria (see point 6), also a low number of iterations can cause that the solution is not converging. An attempt to reach convergence is to increase the number of iterations but that alone often does not solve the issue.
8. Rewetting option
If rewetting is active, recurring wetting and drying of cells can cause oscillations in the model which lead to nonconvergence. Try to reduce the wetting interval to every 3-5 iterations and/or increase the initially established head in a cell to avoid high oscillations.
9. Resolution of time and model grid
Grid resolution can cause convergence issues. Grid spacing should not increase by more than 50% between adjacent cells. Also, an aspect ratio of the grid cell must be respected so that it is not more than 10 times larger in one direction than in another.
Larges changes in layer elevations, especially when the model has thin layers, can cause adjacent cells to become laterially “detached”. This results in a lack of lateral continuity which causes an inability to simulate flow between cells in the same layer. Reduce larges changes in elevation over short distances, refine the model grid or change layer thickness. In general, adjacent cells in the same layer should overlap about 50% of their cell thickness.
10. Poor model concept / boundary conditions
A poor conceptual model can also cause nonconvergence. As an example, a model designed to solve steady-state heads in an aquifer receiving recharge is surrounded by no-flow boundaries with no internal sinks. The model is poorly cconceived and the solution will not converge as no sinks exist to remove the water added by recharge (Anderson et al., 2015). Revise the conceptual model including number of layers, grid discretization and boundary conditions.
11. Unconfined model layer
In unconfined model layers, it can be hard to reach convergence. Try to set all layers to confined and re-run the simulation. You should be able to receive a solution with a good mass balance. Have a look at the resulting heads to get a better idea of what is going on and why the simulation is not converging. Areas with unrealistic or high heads give hints where the problem is occurring. If you are not able to obtain a solution, there seems to be something wrong with your model concept (e.g. boundary conditions, see point 10).
If you received a solution with good mass balance when setting all layers to confined, change the model type of the top layer to unconfined using the results of the simulation with the confined layers as initial head. Then re-run the simulation, get the results and use it again as initial head. Continue till all layers are unconfined amd the solution is converging.
There are many reasons for model nonconvergence and it can be sometimes hard to identify the model-specific issue. First check, whether it is a global problem (e.g. model conept including boundary conditions, iteration criteria) or a local problem (e.g. dry cells, high hydraulic conductivity changes). As a next step try to solve the issue by using the given tips.
Be aware, that in most cases only the results of a converging model can be trusted. But it might be e.g. acceptable to run a steady-state solution as transient using many time steps and arbitrary values for the storage parameters to reach convergence.
- Anderson, M.P., Woessner, W.W., Hunt, R.J., 2015. Applied Groundwater Modeling: Simulation of Flow and Advective Transport, Second Edition. ed. Elsevier, Amsterdam.
- Water Hydrogeologic, 2019. Experiencing a Non-Convergence Error? Here are some tips. https://www.waterloohydrogeologic.com/2017/10/20/experiencing-a-non-convergence-error-here-are-some-tips/