[petsc-users] Interpreting Redistribution SF

Matthew Knepley knepley at gmail.com
Thu Jan 19 19:28:17 CST 2023


On Thu, Jan 19, 2023 at 11:58 AM Nicholas Arnold-Medabalimi <
narnoldm at umich.edu> wrote:

> Hi Petsc Users
>
> I'm working with a distribution start forest generated by
> DMPlexDistribute and PetscSFBcast and Reduce to move data between the
> initial distribution and the distribution generated by DMPlex Distribute.
>
> I'm trying to debug some values that aren't being copied properly and
> wanted to verify I understand how a redistribution SF works compared with a
> SF that describes overlapped points.
>
>   [0] 0 <- (0,7)     point 0 on the distributed plex is point 7 on process
> 0 on the initial distribution
>   [0] 1 <- (0,8)     point 1 on the distributed plex is point 8 on process
> 0 on the initial distribution
>   [0] 2 <- (0,9)
>   [0] 3 <- (0,10)
>   [0] 4 <- (0,11)
>
>   [1] 0 <- (1,0)     point 0 on the distributed plex is point 0 on process
> 1 on the initial distribution
>   [1] 1 <- (1,1)
>   [1] 2 <- (1,2)
>   [1] 3 <- (0,0)     point 3 on the distributed plex is point 0 on process
> 0 on the initial distribution
>   [1] 4 <- (0,1)
>   [1] 5 <- (0,2)
>
>  my confusion I think is how does the distributionSF inform of what cells
> will be leafs on the distribution?
>

I should eventually write something to clarify this. I am using SF in (at
least) two different ways.

First, there is a familiar SF that we use for dealing with "ghost" points.
These are replicated points where one process
is said to "own" the point and another process is said to hold a "ghost".
The ghost points are leaves in the SF which
point back to the root point owned by another process. We call this the
pointSF for a DM.

Second, we have a migration SF. Here the root points give the original
point distribution. The leaf points give the new
point distribution. Thus a PetscSFBcast() pushes points from the original
to new distribution, which is what we mean
by a migration.

Third, instead of point values, we might want to communicate fields over
those points. For this we make new SFes,
where the numbering does not refer to points, but rather to dofs.

Does this make sense?

  Thanks,

    Matt


> Sincerely
> Nicholas
>
> --
> Nicholas Arnold-Medabalimi
>
> Ph.D. Candidate
> Computational Aeroscience Lab
> University of Michigan
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230119/4f474b92/attachment.html>


More information about the petsc-users mailing list