[petsc-users] Equivalent of VecScatter for index sets

Rémi Lacroix remi.lacroix at inria.fr
Tue Jan 14 06:54:00 CST 2014


Le 13/01/2014 22:15, Matthew Knepley a écrit :
> On Mon, Jan 13, 2014 at 2:27 PM, Rémi Lacroix <remi.lacroix at inria.fr 
> <mailto:remi.lacroix at inria.fr>> wrote:
>
>     Le 13/01/2014 19:00, Matthew Knepley a écrit :
>>     On Mon, Jan 13, 2014 at 9:47 AM, Rémi Lacroix
>>     <remi.lacroix at inria.fr <mailto:remi.lacroix at inria.fr>> wrote:
>>
>>         Hello,
>>
>>         I would like to permute an index set with another index set,
>>         just like you can do for vectors using VecScatter.
>>
>>         I have two index sets IS1 and IS2 which share the same size
>>         but have different parallel layouts. I often need to permute
>>         vectors/matrices using those two index sets (as in first
>>         permute with IS1 then permute the result with IS2). Since I
>>         don't use the intermediate result, I would like to permute
>>         IS1 with IS2 to get a new index set so that I can permute
>>         directly my vectors/matrices with it. Is that possible using
>>         Petsc?
>>
>>
>>     We do not have this particular composition in our interface.
>>     However, you could accomplish this using PetscSF.
>>
>>       Thanks,
>>
>>          Matt
>
>     Thanks for the quick answer.
>
>     So basically I need to have a look at the underlying mechanism of
>     VecScatter and implement something similar for IS. How complex
>     would it be in practice?
>
>
> Using the PetscSF interface instead of VecScatter should not be too hard.
>
>    Matt
In fact this is quite easier than I expected it to be.

I have a quick question though. Is it safe to access the row layout of a 
matrix using "mat->rmap"? I wasn't able to find a function to do this. 
This way I would be able to use "PetscSFSetGraphLayout" directly.

Rémi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140114/ef437249/attachment.html>


More information about the petsc-users mailing list