﻿ Numerical Modeling Workflow - Finite Difference Grids > Translation Settings > MODFLOW > Solvers > SOR

# SOR

Slice-Successive Over-Relaxation is a method for solving large systems of linear equations iteratively. It is implemented in the SOR Package by dividing the finite difference grid into vertical slices, and grouping the node equations into discrete sets, each set corresponding to a slice. In every iteration, these sets of equations are processed in turn, resulting in a new set of estimated head values for each slice. As the equations for each slice are processed, they are first expressed in terms of the changes in computed heads between successive iterations. The set of equations corresponding to the slice is then solved directly by Gaussian elimination, treating the terms for adjacent slices as known quantities. The values of head change computed for the slice are then each multiplied by an acceleration variable, T. The results are taken as the final values of head change in that iteration for the slice. This procedure is repeated for each slice in sequence until all of the slices in the three-dimensional array have been processed, thus completing a domain iteration. The entire sequence is then repeated, until the differences between the head values computed in successive iterations are less than the chosen criterion at all nodes in the mesh. The SOR Package is described in detail in Chapter 13 of the MODFLOW reference manual included with your VMOD Flex media, in the Manual folder.

The solver parameters for the SOR method are described below:

Maximum Number of Iterations: [Default = 50] This parameter provides an upper limit on the number of iterations to be performed. The maximum number of iterations will only be used if a convergent solution is not reached beforehand. 50 iterations should be adequate for most problems. However, if the maximum number of outer iterations is reached and an appropriate mass balance error is not achieved, this value should be increased.

Acceleration Factor: [Default = 1] The acceleration factor controls the magnitude of head changes between iterations. The acceleration factor must be positive. Values larger than one will result in larger head changes between iterations; the solution may be approached faster but it may also overshoot the solution more easily. Values less than one will result in smaller head changes, thus, requiring more iterations to reach a solution.

Head Change Criterion for Convergence: [Default = 0.01] After each iteration is completed, the solver checks for the maximum change in the solution at every cell. If the maximum change in the solution is below a set convergence tolerance (set here in the working units of feet or metres), then the solution has converged and the solver stops, otherwise a new iteration is started. A solution accurate to 0.01 [ft. or m] will normally be sufficient for most problems unless the maximum head change throughout the model domain is less than 1 foot or metre. If an appropriate mass balance is not achieved and the number of iterations is less than the maximum, this value can be decreased by an order of magnitude.

Printout Interval: [Default =10] The printout interval is the number of iterations after which the maximum head change (and residual) of the solution is written to the listing (.LST) file.