The Solution Method dialog box is used to control which solver is used and to set the parameters for the solver. The Solution Method dialog box is displayed by selecting PHAST Options|Solution Method…
The user can select either the direct or iterative solver. In most cases, the iterative solver is probably more efficient.
The user can choose to include cross dispersion terms by checking the appropriate checkbox. For problems where there is flow at an angle to the grid, including the cross-dispersion terms can lead to a more accurate solution at the cost of an increased execution time. However, the cross-dispersion terms can also lead to negative concentrations. These will be set to zero in the chemical calculations, which leads to global mass-balance errors.
Edit boxes are available to set the space differencing and time differencing weighting. Space differencing weighting and time differencing weighting are important solver parameters because they help control the oscillation and numerical dispersion in the numerical solution. In general, centered in space and centered in time, when both parameters are 0.5, reduces numerical dispersion but can lead to oscillation of the solution. Upstream in space (space differencing = 0) and backwards in time (time differencing = 1) produces a more stable solution but one that has more numerical dispersion (Parkhurst and others, 2004).
If the iterative solver is used, a tolerance must be specified in the related edit box. The tolerance determines when the solver has converged to a solution to the difference equations. The tolerance must be sufficiently small to obtain an accurate solution. However, the required size is problem dependent.
If the iterative solver is used, the number of search directions to be saved (Save Directions) between restarts of the iterative solver must be specified in the “Save directions” edit box.
Sometimes iterative solvers can not converge for a particular problem. The user specifies the maximum number of iterations that will be allowed before the solver quits in the “Maximum iterations” edit box.