[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?

Thank you for any advise,


More information about the petsc-users mailing list