PDSLin is based on a non-overlapping domain decomposition technique called the Schur complement method. In this method, the global system is first partitioned into smaller interior subdomain systems, which are connected only through separators. To compute the solution of the global system, the unknowns associated with the interior subdomain systems are first eliminated to form the Schur complement system, which is defined only on the separators. Since most of the fill occurs in the Schur complement, to obtain the solution on the separators, the Schur complement is solved using a preconditioned iterative method. Then, the solution on the subdomains is computed by using this solution on the separators and solving another set of subdomain systems. These unknowns associated with the mutually-independent interior subdomains are eliminated in parallel using multiple processors per subdomain. PDSLin is implemented in C with Fortran interface, and uses MPI for message passing on distributed memory machine.
Here are the source code (Version 1.2) and Users Guide.