IMS: Iterative Model Solution Package Pane |
The Iterative Model Solution (IMS) package can only be used in MODFLOW 6. The pane for this package is on the MODFLOW Packages and Programs dialog box under Solvers.
The IMS package has a large number of possible parameters.For that reason, several different tabs are used to hold the controls used to set those options.
•Print option: controls printing of convergence information from the solver. NONE means print nothing. SUMMARY means print only the total number of iterations and nonlinear residual reduction summaries. ALL means print linear matrix solver convergence information to the solution listing file and model specific linear matrix solver convergence information to each model listing file in addition to SUMMARY information. •Complexity: defines default non-linear and linear solver parameters. 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. 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. 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. Non-linear and linear solver parameters assigned using a specified complexity can be modified in the NONLINEAR and LINEAR blocks. •Solution group max iterations: is the maximum number of outer iterations for this solution group in the Simulation Name File. The default value is 1. If there is only one solution in the solution group, then MXITER must be 1. •Continue even if no convergence: is an option in the Simulation Name File that indicates that the simulation should continue even if one or more solutions do not converge. •Write outer solver convergence values to CSV file: This specifies that the solver information will be written to a comma-separated value file for each inner iteration. The file will have the extension ."InnerSolution.CSV." •Write inner solver convergence values to CSV file: This specifies that the solver information will be written to a comma-separated value file for each outer iteration. The file will have the extension ."OuterSolution.CSV." •Use pseudo-transient continuation (PTC): By default, MODFLOW uses pseudo-transient continuation (PTC). For many problems, PTC can significantly improve convergence behavior for steady-state simulations, and for this reason it is active by default. In some cases, however, PTC can worsen the convergence behavior, especially when the initial conditions are similar to the solution. When the initial conditions are similar to, or exactly the same as, the solution and convergence is slow, then the NO PTC FIRST option should be used to deactivate PTC for the first stress period. The NO PTC ALL option should also be used in order to compare convergence behavior with other MODFLOW versions, as PTC is only available in MODFLOW 6. •Maximum number of allowed error messages: MAXERROR in the Simulation Name File is an option for limiting the number of errors that will be stored and printed. The primary reason for using MAXERROR is to reduce the amount of memory used in models that generate a large number of error messages. For most models, MAXERROR should be set to -1 which will cause ModelMuse to not specify MAXERROR in the Simulation Name File. •Check model input: (Inverse of NOCHECK) NOCHECK is a keyword flag to indicate that the model input check routines should not be called prior to each time step. Checks are performed by default. The NOCHECK option could be useful for cases in which a model is run repeatedly with only slightly modified input such as when performing automated parameter calibration. •Print contents of memory: MEMORY_PRINT_OPTION is a flag that controls printing of detailed memory manager usage to the end of the simulation list file. NONE means do not print detailed information. SUMMARY means print only the total memory for each simulation component. ALL means print information for each variable stored in the memory manager. NONE is default if MEMORY PRINT OPTION is not specified. If a model is failing for unknown reasons or is giving unexpected results, using MEMORY_PRINT_OPTION could be helpful in diagnosing the problem. •NEWTON—keyword that activates the Newton-Raphson formulation for groundwater flow between connected, convertible groundwater cells and stress packages that support calculation of Newton-Raphson terms for groundwater exchanges. Cells will not dry when this option is used. By default, the Newton-Raphson formulation is not applied. •UNDER_RELAXATION—keyword that indicates whether the groundwater head in a cell will be underrelaxed when water levels fall below the bottom of the model below any given cell. By default, Newton-Raphson UNDER RELAXATION is not applied. •ATS_OUTER_MAXIMUM_FRACTION—real value defining the fraction of the maximum allowable outer iterations used with the Adaptive Time Step (ATS) capability if it is active. If this value is set to zero by the user, then this solution will have no effect on ATS behavior. This value must be greater than or equal to zero and less than or equal to 0.5 or the program will terminate with an error. If it is not specified by the user, then it is assigned a default value of one third. When the number of outer iterations for this solution is less than the product of this value and the maximum allowable outer iterations, then ATS will increase the time step length by a factor of DTADJ in the ATS input file. When the number of outer iterations for this solution is greater than the maximum allowable outer iterations minus the product of this value and the maximum allowable outer iterations, then the ATS (if active) will decrease the time step length by a factor of 1 / DTADJ. |
Many of the items on the Nonlinear and Linear tabs are optional. If no value is specified for them in the IMS input file, MODFLOW will use a default values as indicated in table 20 of mf6io.pdf from the "doc" directory of the MODFLOW 6 distribution. If you check the checkbox in the Override column, ModelMuse will wrtite the value you specify for the item in the IMS input file. •Outer HClose: the head change criterion for convergence of the outer (nonlinear) iterations, in units of length. When the maximum absolute value of the head change at all nodes during an iteration is less than or equal to OUTER HCLOSE, iteration stops. Commonly, OUTER HCLOSE equals 0.01. •Outer maximum iterations: the maximum number of outer (nonlinear) iterations – that is calls to the solution routine. For a linear problem OUTER MAXIMUM should be 1. •Under-relaxation scheme: defines the nonlinear under-relaxation schemes used. By default under-relaxation is not used. NONE - under-relaxation is not used. SIMPLE - Simple under-relaxation scheme with a fixed relaxation factor is used. COOLEY - Cooley under-relaxation scheme is used. DBD - delta-bar-delta under-relaxation is used. Note that the under-relaxation schemes are used in conjunction with problems that use the Newton-Raphson formulation, however, experience has indicated that the Cooley under-relaxation and damping work well also for the Picard scheme with the wet/dry options of MODFLOW 6. •Under relaxation theta: defines the reduction factor for the learning rate (underrelaxation term) of the delta-bar-delta algorithm. The value of UNDER RELAXATION THETA is between zero and one. If the change in the variable (head) is of opposite sign to that of the previous iteration, the under-relaxation term is reduced by a factor of UNDER RELAXATION THETA. The value usually ranges from 0.3 to 0.9; a value of 0.7 works well for most problems. UNDER RELAXATION THETA only needs to be specified if UNDER RELAXATION is DBD. •Under relaxation kappa: defines the increment for the learning rate (under-relaxation term) of the delta-bar-delta algorithm. The value of UNDER RELAXATION KAPPA is between zero and one. If the change in the variable (head) is of the same sign to that of the previous iteration, the under-relaxation term is increased by an increment of UNDER RELAXATION KAPPA. The value usually ranges from 0.03 to 0.3; a value of 0.1 works well for most problems. UNDER RELAXATION KAPPA only needs to be specified if UNDER RELAXATION is DBD. •Under relaxation gamma: defines the history or memory term factor of the delta-bar-delta algorithm. UNDER RELAXATION GAMMA is between zero and 1 but cannot be equal to one. When UNDER RELAXATION GAMMA is zero, only the most recent history (previous iteration value) is maintained. As UNDER RELAXATION GAMMA is increased, past history of iteration changes has greater influence on the memory term. The memory term is maintained as an exponential average of past changes. Retaining some past history can overcome granular behavior in the calculated function surface and therefore helps to overcome cyclic patterns of nonconvergence. The value usually ranges from 0.1 to 0.3; a value of 0.2 works well for most problems. UNDER RELAXATION GAMMA only needs to be specified if UNDER RELAXATION is not NONE. •Under relaxation momentum: defines the fraction of past history changes that is added as a momentum term to the step change for a nonlinear iteration. The value of UNDER RELAXATION MOMENTUM is between zero and one. A large momentum term should only be used when small learning rates are expected. Small amounts of the momentum term help convergence. The value usually ranges from 0.0001 to 0.1; a value of 0.001 works well for most problems. UNDER RELAXATION MOMENTUM only needs to be specified if UNDER RELAXATION is DBD. •Backtracking number: defines the maximum number of backtracking iterations allowed for residual reduction computations. If BACKTRACKING NUMBER = 0 then the backtracking iterations are omitted. The value usually ranges from 2 to 20; a value of 10 works well for most problems. •Backtracking tolerance: defines the tolerance for residual change that is allowed for residual reduction computations. BACKTRACKING TOLERANCE should not be less than one to avoid getting stuck in local minima. A large value serves to check for extreme residual increases, while a low value serves to control step size more severely. The value usually ranges from 1.0 to 106; a value of 104 works well for most problems but lower values like 1.1 may be required for harder problems. BACKTRACKING TOLERANCE only needs to be specified if BACKTRACKING NUMBER is greater than zero. •Backtracking reduction factor: defines the reduction in step size used for residual reduction computations. The value of BACKTRACKING REDUCTION FACTOR is between zero and one. The value usually ranges from 0.1 to 0.3; a value of 0.2 works well for most problems. BACKTRACKING REDUCTION FACTOR only needs to be specified if BACKTRACKING NUMBER is greater than zero. •Backtracking residual limit: defines the limit to which the residual is reduced with backtracking. If the residual is smaller than BACKTRACKING RESIDUAL LIMIT, then further backtracking is not performed. A value of 100 is suitable for large problems and residual reduction to smaller values may only slow down computations. BACKTRACKING RESIDUAL LIMIT only needs to be specified if BACKTRACKING NUMBER is greater than zero. |
Many of the items on the Nonlinear and Linear tabs are optional. If no value is specified for them in the IMS input file, MODFLOW will use a default values as indicated in table 20 of mf6io.pdf from the "doc" directory of the MODFLOW 6 distribution. If you check the checkbox in the Override column, ModelMuse will wrtite the value you specify for the item in the IMS input file. •Inner maximum iterations: defines the maximum number of inner (linear) iterations. The number typically depends on the characteristics of the matrix solution scheme being used. For nonlinear problems, INNER MAXIMUM usually ranges from 60 to 600; a value of 100 will be sufficient for most linear problems. •Inner HClose: defines the head change criterion for convergence of the inner (linear) iterations, in units of length. When the maximum absolute value of the head change at all nodes during an iteration is less than or equal to INNER HCLOSE, the matrix solver assumes convergence. Commonly, INNER HCLOSE is set an order of magnitude less than the OUTER HCLOSE value specified for the NONLINEAR block. •Inner RClose: defines the flow residual tolerance for convergence of the IMS linear solver and specific flow residual criteria used. This value represents the maximum allowable residual at any single node. Value is in units of length cubed per time, and must be consistent with MODFLOW 6 length and time units. Usually a value of 1.0x10-1 is sufficient for the flow-residual criteria when meters and seconds are the defined MODFLOW 6 length and time. •Rclose option: defines the specific flow residual criterion used. STRICT–an optional keyword that is used to specify that INNER RCLOSE represents a infinity-Norm (absolute convergence criteria) and that the head and flow convergence criteria must be met on the first inner iteration (this criteria is equivalent to the criteria used by the MODFLOW-2005 PCG package (Hill, 1990)). L2NORM RCLOSE–an optional keyword that is used to specify that INNER RCLOSE represents a L-2 Norm closure criteria instead of a infinity-Norm (absolute convergence criteria). When L2NORM RCLOSE is specified, a reasonable initial INNER RCLOSE value is 0.1 times the number of active cells when meters and seconds are the defined MODFLOW 6 length and time. RELATIVE RCLOSE–an optional keyword that is used to specify that INNER RCLOSE represents a relative L-2 Norm reduction closure criteria instead of a infinity-Norm (absolute convergence criteria). When RELATIVE RCLOSE is specified, a reasonable initial INNER RCLOSE value is 1.0x10-4 and convergence is achieved for a given inner (linear) iteration when Δh ≤ INNER HCLOSE and the current L-2 Norm is ≤ the product of the RELATIVE RCLOSE and the initial L-2 Norm for the current inner (linear) iteration. If RCLOSE OPTION is not specified, an absolute residual (infinity-norm) criterion is used. •Linear acceleration: defines the linear acceleration method used by the default IMS linear solvers. CG - preconditioned conjugate gradient method. BICGSTAB - preconditioned bi-conjugate gradient stabilized method. •Preconditioner levels: defines the level of fill for ILU decomposition used in the ILUT and MILUT preconditioners. Higher levels of fill provide more robustness but also require more memory. For optimal performance, it is suggested that a large level of fill be applied (7 or 8) with use of a drop tolerance. Specification of a PRECONDITIONER LEVELS value greater than zero results in use of the ILUT preconditioner. By default, PRECONDITIONER LEVELS is zero and the zero-fill incomplete LU factorization preconditioners (ILU(0) and MILU(0)) are used. •Preconditioner drop tolerance: defines the drop tolerance used to drop preconditioner terms based on the magnitude of matrix entries in the ILUT and MILUT preconditioners. A value of 10-4 works well for most problems. By default, PRECONDITIONER DROP TOLERANCE is zero and the zero-fill incomplete LU factorization preconditioners (ILU(0) and MILU(0)) are used. •Relaxation factor: defines the relaxation factor used by the incomplete LU factorization preconditioners (MILU(0) and MILUT). RELAXATION FACTOR is unitless and should be greater than or equal to 0.0 and less than or equal to 1.0. RELAXATION FACTOR values of about 1.0 are commonly used, and experience suggests that convergence can be optimized in some cases with relax values of 0.97. A RELAXATION FACTOR value of 0.0 will result in either ILU(0) or ILUT preconditioning (depending on the value specified for PRECONDITIONER LEVELS and/or PRECONDITIONER DROP TOLERANCE). By default, RELAXATION FACTOR is zero. •Number of orthogonalizations: defines 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. For problems that benefit from explicit recalculation of the residual, a number between 4 and 10 is appropriate. By default, NUMBER ORTHOGONALIZATIONS is zero. •Scaling method: defines the matrix scaling approach used. By default, matrix scaling is not applied. NONE - no matrix scaling applied. DIAGONAL - symmetric matrix scaling using the POLCG preconditioner scaling method in Hill (1992). L2NORM - symmetric matrix scaling using the L2 norm. •Reordering method: defines the matrix reordering approach used. By default, matrix reordering is not applied. NONE - original ordering. RCM - reverse Cuthill McKee ordering. MD - minimum degree ordering. |