HydroGeoSphere/Matrix Solver

The matrix solution procedure consists of three phases: initialization, preconditioning and solution. The instructions presented here can be used to control the preconditioning and solution phases in order to increase the efficiency of the model.

Preconditioning suggestions
The default preconditioning scheme is level-based factorization without red/black system reduction. Improving model performance requires a good understanding of these options, and so if you are unsure you should just use the default settings. However, if you decide to experiment with the solver preconditioning parameters, here are a few suggestions for doing so:
 * 1) For transient, simple (i.e. small number of nodes) problems, level-based preconditioning works better, because the static data structure analysis does not need to be done for each time step.
 * 2) For steady state or complex problems, drop tolerance preconditioning works better, because WATSIT spends most of its time in the solution phase, not the preconditioning phase.
 * 3) For a very smoothly varying solution (e.g. a weakly stressed, homogeneous property field) red/black reduction will speed convergence.

Level of fill

 * 1) level Level of fill.

Assigns the level of fill to be preserved in level-based factorization, which defaults to 0. If drop tolerance preconditioning is used, this value is not used.
 * &bull; &bull; &bull;

Red black reduction
Tells the solver to use red black reduction. This can be used either using level-based or drop tolerance preconditioning.
 * &bull; &bull; &bull;

Drop tolerance preconditioning
Tells the solver to use drop tolerance preconditioning. This will remove elements based on how small they are. The default threshold is 0.1.
 * &bull; &bull; &bull;

Drop tolerance threshold

 * 1) thres Drop tolerance threshold.

Assign a new drop tolerance threshold.
 * &bull; &bull; &bull;

Once the preconditioning phase is complete, the matrix can be solved using several acceleration techniques. The following command can be used to change the solver procedure:

Solver acceleration technique

 * 1) iaccel Type of acceleration to use.

Assigns a new value for the acceleration technique for the linear solver, which defaults to 3 (CGSTAB-P). Appropriate values are 0 (CG, for symmetric matrices only), 1 (OrthoMin), 2 (CGS), 3 (CGSTAB-P) or 4 (GMRES). If unsure, don’t use this command.
 * &bull; &bull; &bull;

No matrix scaling
Tells the solver not to use matrix scaling preconditioning.
 * &bull; &bull; &bull;