[petsc-dev] Index sets in MatCreateNest

Thomas Witkowski thomas.witkowski at tu-dresden.de
Mon Apr 11 01:43:56 CDT 2011


Could some of you give me a short explanation, what the index sets in 
MatCreateNest can be used for? I already had a look to the examples and 
tests, but all of them just put PETSC_NULL for the index sets or create 
the standard contiguous index sets by hand 
(ksp/ksp/example/tests/ex11.c). Does the index sets influence the 
row/column indices for the final MatNest? The reason why I'm asking for 
is that I want to have a special order in my MatNest. My scenario is as 
follows: I have a 2x2 MatNest. The first block corresponds to all 
interior nodes on all subdomains. The second block corresponds to the 
boundary nodes between all subdomains. This works fine, also with the 
fieldsplit preconditioner! Now I would like to permute the global index 
of the second block in that way, that all edge boundary nodes are listed 
first and finally all vertex boundary nodes (its a 2D problem). So each 
rank local matrix of the second block is no more contiguous. I'm not 
sure, if I need to change the creation of the second block matrix or the 
creation of the nested matrix. I thought may be it is possible to do it 
with the index sets when creating the MatNest?

Thomas



More information about the petsc-dev mailing list