I have a parallel AIJ matrix and I know exactly which element belongs to
each one of the 4 submatrices blocks I want to use to solve the linear
system. The blocks are not strided, because they have different number of
elements.

I understand that I must use PCFieldSplitSetIS(), since
PCFieldSplitSetFields() is only for strided blocks. What I don't understand
is how to create the IS structure I must pass to it.

Each matrix coefficient is identified by a pair (i, j), but on IS creation
functions, like ISCreateGeneral() and ISCreateBlock(), I am supposed to
provide a one dimension set of indices. How does these indices relates to
the matrix coefficients?

Also, ISCreateGeneral() seems to create a single block, and ISCreateBlock()
seems to create multiple blocks of the same size. How to create multiple
blocks with different sizes?

Thanks.

-- 
Lucas Clemente Vella
[email protected]

Reply via email to