[petsc-dev] DMPLEX cannot support two different edges for the same two vertices, hence DMPLEX cannot?

Matthew Knepley knepley at gmail.com
Thu Dec 2 11:55:42 CST 2021


On Thu, Dec 2, 2021 at 12:07 PM Barry Smith <bsmith at petsc.dev> wrote:

>
> I have pushed a branch
> https://gitlab.com/petsc/petsc/-/merge_requests/4612 that generates the
> same edge on two ranks and demonstrates the totally inappropriate PetscSF
> and vectors that are generated in this case (just look at the output file
> in the MR changes)
>

I will go through this carefully. However, I want to note that you are
looking at the Section SF,  not the Point SF. How many variables
are there in your problem? Also, can you print the pointSF as well?

  Thanks,

     Matt


> Thoughts on what we should do? I think Jed's idea of dummy vertices is
> very cumbersome and ugly unless it can be refined somehow. Is there a
> different way DMPLEX could be utilized to easily support multiple edges?
> Maybe not using DMPlexBuildFromCellListParallel(), but building the plex
> some other way? Note that it is clearly theoretically possible to
> have DMPlexBuildFromCellListParallel() detect a problem and error but I
> don't know how to do it.
>
> Barry
>
>
>
>
> On Dec 1, 2021, at 8:00 PM, Abhyankar, Shrirang G via petsc-dev <
> petsc-dev at mcs.anl.gov> wrote:
>
>
>
> *From: *Matthew Knepley <knepley at gmail.com>
> *Date: *Wednesday, December 1, 2021 at 5:57 PM
> *To: *"Brown, Jedediah A (VISIT)" <jed at jedbrown.org>
> *Cc: *"Abhyankar, Shrirang G" <shrirang.abhyankar at pnnl.gov>, PETSc
> Development <petsc-dev at mcs.anl.gov>, Getnet Betrie <gbetrie at anl.gov>
> *Subject: *Re: [petsc-dev] DMPLEX cannot support two different edges for
> the same two vertices, hence DMPLEX cannot?
>
> Check twice before you click! This email originated from outside PNNL.
>
> On Wed, Dec 1, 2021 at 6:55 PM Jed Brown <jed at jedbrown.org> wrote:
>
> Matthew Knepley <knepley at gmail.com> writes:
>
> > On Wed, Dec 1, 2021 at 5:17 PM Abhyankar, Shrirang G <
> > shrirang.abhyankar at pnnl.gov> wrote:
> >
> >> “You can certainly have many fields on a given edge, but I don't know
> >> what it would mean to have two edges since no topological query could
> tell
> >> the difference.”
> >>
> >>
> >>
> >> The two edges in a power grid represent two parallel power lines that
> are
> >> connected between two locations (vertices). There are line ids (stored
> in
> >> the component data) to distinguish the two lines.
> >>
> >
> > Yes, so you can tell the difference in the function space (since
> difference
> > current passes down each one), but _topologically_ you cannot. If you put
> > duplicate cells in, then
> > some topological queries will give unexpected results, like the join of
> the
> > two vertices.
>
> This could be modeled with some ghost vertices. So instead of
>
>   a ------ b
>    \_____/
>
> you would set up
>
>   a ---o---- b
>    \___o___/
>
> Those ghost vertices don't have to "do" anything, but they make the edges
> topologically distinct.
>
> Shri, what problems might this cause?
>
>
> I don’t understand the figure you’ve drawn above. Sorry.
>
> As a user, would I need to add anything to the way I am setting up the
> network/plex or any additional equations in the residual evaluation?
>
> I do not have any issue right now for the power grid problem since I don’t
> require DMNetwork or DMPLEX to do the topological distinction between
> parallel edges. There are unique edge identifiers in my dataset through
> which I can make this distinction.
>
>
> Yes, this would work, but it looks like the multiple cells are not causing
> them problems right now with the questions they are asking the mesh.
>
>    Matt
>
> --
> 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/
> <https://gcc02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.cse.buffalo.edu%2F~knepley%2F&data=04%7C01%7Cshrirang.abhyankar%40pnnl.gov%7Cbcbb40fc51f6428ac17708d9b5264361%7Cd6faa5f90ae240338c0130048a38deeb%7C0%7C0%7C637739998211230005%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Sg7eEbjzkSqVd6Sjg8IpTN3iXxMAvih0UNV0fkolO8w%3D&reserved=0>
>
>
>

-- 
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-dev/attachments/20211202/c5c79b94/attachment-0001.html>


More information about the petsc-dev mailing list