# [petsc-users] Implementing Schur complement approach (domain decomposition)

Thomas Witkowski thomas.witkowski at tu-dresden.de
Wed Jan 26 06:51:07 CST 2011

```I want to solve the equation in my FEM code (that makes already use of
PETSc) with a Schur complement approach (iterative substructuring).
Although I have some basic knowledge about PETSc, I have no good idea
how to start with it. To concretize my question, I want to solve a
system of the form

[A_II          A_IB]    *  [u_I]   =  [f_I]
[A_IB^T    A_BB]      [u_B]      [f_B]

A_II is a block diagonal matrix with each block consisting of all
interior node of one partition. A_BB is the block consisting of all
bounday nodes. A_IB is the connection between the interior and the
bounday node. The same for the unknown vector u und the right hand side
vector f. My first idea is not to assemble to matrices A_II, A_IB and
A_BB in a global way, but just local and to define their action using a
MatShell for each of these matrices. Okay, but what's about the global
index of the whole system. Till now I have a continuous global index of
the nodes on each partition, what is required by PETSC, if I'm right.
But for using a Schur complement approach I need to split the index in
the interior and the boundary nodes. Who to circumvent this (first of
my) problem?