In this paper we describe an iterative method for indefinite saddle-point systems arising from mixed finite element discretisations of 2nd-order elliptic boundary value problems subject to mixed boundary conditions and posed over polyhedral three-dimensional domains. The method is based on a decoupling of the vector of velocities in the saddle-point system from the vector of pressures, resulting in a symmetric positive definite (spd) velocity system and a triangular pressure system.

The crucial step in this approach is the construction of the divergence-free Raviart-Thomas-Nedelec elements from the curls of Nedelec's edge elements. Because of the large kernel of the curl-operator, this representation is not unique. To find a basis we consider the graph made up of the nodes and edges of the mesh and eliminate the edge elements associated with a spanning tree in this graph. To prove that this technique works in the general case considered here, we employ fundamental results from Algebraic Topology and Graph Theory.

We also include some numerical experiments, where we solve the (decoupled) velocity system by ILU-preconditioned conjugate gradients and the pressure system by simple back substitutions. We compare our method with a standard ILU-based block preconditioner for the original saddle-point system, and we find that our method is faster by a factor of at least 5 in all cases, with the greatest improvement occurring in the nonuniform mesh case.