What is it?
The inner or linear loop is where iteration to solve the matrix of linear equations for groundwater head occurs. In the inner loop head dependent terms are held constant and a value for head is obtained through an iterative or direct solution. This tab gives the user control over parameters that determine the speed to reach a solution and the apparent accuracy of that solution. The categories of parameters (detailed below) include:- Inner Solution Closure Criteria
- Linear Method
- Preconditioning
- Linear Acceleration
Inner Solution Closure Criteria
These parameters control when the solver exits the inner loop and include the following:- Max Iteration [integer]: The maximum number of times through the inner iteration loop in one time step in an attempt to solve the system of finite-difference equations. [default 4000, range 30-4000]
- Iter. Between Starts [integer]: The number of iterations between restarts of the NWT-GMRES Solver. See Kipp and others (2008) for further details. [default 10; range 5-20]
- Head Tolerance [decimal, meters]: The maximum head change between outer iterations for solution of the nonlinear problem. [default 0.0001; range 1e-5 to 1e-1]
- Flux Tolerance [decimal, cubic meter per day]: The flow residual tolerance criterion for convergence. [default 0.1; range 0.01-500]
- Closure Options: Flux tolerance options available for the IMS6 Solver (RCLOSE_OPTION default Strict) and the PCGN Solver(ACNVG default) that determines how closure is reached.
- Closure Rate Increase [decimal]: This parameter is used by the PCGN solver (RATE_C) with Enhanced Convergence to reduce the number of inner iterations needed with each successive outer iteration [default 0.1; range 0.01-0.1]
Note: If the XMD linear solver (MODFLOW-USG or MODFLOW-NWT) is used, this value represents the root mean squared residual tolerance criterion for convergence. It can be set to zero to ignore residual tolerance in favor of the absolute 'Head Tolerance' defined above.
Linear Method
- Method: This is the matrix solution scheme to be used in solving heads in the inner loop.Preconditioning
- Preconditioning [expandable]: This is the matrix preconditioning scheme used in the inner loop prior to solving for head.- Fill Level [integer]: The fill level of the preconditioner. Generally, the higher the fill level, the more preconditioning imparted [default and range are solver specific see additional MODFLOW documentation].
- Drop Tolerance [checkbox and decimal]: the drop tolerance used to drop terms based on the magnitude of matrix entries for preconditioning [default 0.0001]
- Modified Incomplete Relax Factor [decimal]: The so-called relaxation parameter for the modified incomplete Cholesky (MIC) or MILU preconditioner [default 1; range 0.9-1].
- Red-Black System Reduction [checkbox]: Apply reduced system preconditioning.
- Reorder: The matrix reordering approach used [default 'None'].
- Scaling: The matrix scaling approach used. 'Diagonal/PolyCG' uses symmetric matrix scaling with the POLCG preconditioner Hill (1992). 'L2-Norm' uses symmetric matrix scaling with the L2 norm method.
- Grid Semi-coarsening: This is the grid coarsening used by the GMG solver with ILU preconditioning.
Linear Acceleration
- Acceleration Method: This acceleration scheme to be used in solving heads in the inner loop.- Number of Orthogonalizations [integer]: The interval used to explicitly recalculate the residual of the flow equation using the solver coefficient matrix, the latest head estimates, and the right hand side; the number of orthogonalizations when using the Othomin Acceleration scheme [solver dependent; default 2; range 0,2,4-10]