[petsc-users] Is it possible to keep track of original elements # after a call to DMPlexDistribute ?

Eric Chamberland Eric.Chamberland at giref.ulaval.ca
Tue Jul 20 21:39:46 CDT 2021

On 2021-07-14 6:42 p.m., Matthew Knepley wrote:
> Ah, there was a confusion of intent. GlobalToNatural() is for people 
> that want data transformed back into the original
> order. I thought that was what you wanted. If you just want mesh 
> points in the original order, we give you the
> transformation as part of the output of DMPlexDistribute(). The 
> migrationSF that is output maps the original point to
> the distributed point. You run it backwards to get the original ordering.
>   Thanks,
>      Matt


that seems to work better!  However, if I understand well the 
migrationSF is giving information on the originating process where the 
elements have been migrated from.

Is there a PETSc way to either:

1) send back the information to the originating process (somewhat 
"inverting" the migrationSF) ?  So I can retrieve the "partitioning 
array"  (just like the "part" parameter in ParMETIS_V3_PartMeshKway) on 
the sender process.


2) Have the pre-migrationSF: I mean I would like to extract the "where 
are the elements going to be sent?" (again like "part" parameter)

If not, I can always build the communication myself...



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20210720/51928f6b/attachment.html>

More information about the petsc-users mailing list