The system of linear equations produced by the FE method can be solved either by direct or iterative methods. The aim in both cases is to avoid explicitly constructing the full Galerkin matrix. For machines with vector and/or low level parallel architectures, direct methods can be useful. The most popular are frontal or multi-frontal methods (Duff et al., 1986). These direct methods do not map well onto a massively parallel architecture. In contrast, iterative methods can be implemented efficiently on a massively parallel architecture. The most popular iterative method is the conjugate gradient (CG) algorithm. The Galerkin matrix is a real, symmetric, positive definite operator. For this type of operator the CG method has guaranteed convergence. The CG algorithm does not require construction of the global matrix. The main operations in the CG algorithm are calculation of the result of applying the operator to a vector and calculation of the dot product of two vectors.
The standard CG method to calculate a sequence of iterates with as is given by setting , and then for
This method is clearly suitable for solution of the unassembled Galerkin system. The calculation of Apk, which is performed once per iteration, can be done using the method outlined in the previous section. The only global operations in the algorithm are the calculation of the two inner products,(pk,Apk) and (rk+1,rk+1).