In many applications, iterative methods are combined with a preconditioner [17]. It is a well known fact that a good preconditioner is very important in order to obtain fast iterative methods. The preconditioners used in ISNaS are based on incomplete LU decompositions. In such a preconditioner, one constructs a lower triangular matrix L and an upper triangular matrix U, where L and U have a prescribed nonzero pattern, and LU is a good approximation of A. The iterative methods can be applied to
or
We call equation (10.1) a preconditioned system and equation
(10.2) a postconditioned system. The final equation is only used in
combination with the Eisenstat implementation [5]. In general, the
convergence behaviour of a Krylov type iterative method depends on the
eigenvalue distribution of the matrix. In the three equations given above
the eigenvalues of the product-matrices are the same. So the convergence
behaviour is approximately the same when we use (10.1), (10.2), or (10.3). A small
advantage of a postconditioned system is that the norm of a residual is not
influenced by the matrices L and U (compare [36], p. 12,
13).
Below we give a short description of the preconditioners used in ISNaS.
A diagonal preconditioner is obtained by choosing L = I and . This is a cheap preconditioner with respect to memory and can be used
in combination with vector and parallel computers. For most problems the
gain in the number of iterations is small.
For this preconditioner we construct as an approximation of
A. To obtain L, D, and U we use the following rules [32]:
which leads to the MILU preconditioning. We always use an average of ILUD
and MILUD. This preconditioner is also cheap with respect to memory. It
costs two extra vectors, one for D and the other one for . Using the
Eisenstat implementation we are able to save one matrix vector product per
iteration. In the ISNaS program ILUD preconditioner means application of
the iterative method to (10.3) and not to (10.1), which is
done in the other preconditioners. Multiplication with
and
leads to recurrencies. So these parts do not run in vector speed
on a vector computer.
This preconditioner is only used for the pressure and transport equations.
The matrices L and U are constructed such that LU approximates A
and satisfies the following rules: