[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