On Thu, Jul 12, 2018 at 6:20 AM Lawrence Mitchell < lawrence.mitch...@imperial.ac.uk> wrote:
> Dear petsc-dev, > > I am attempting to understand how Plex reads GMSH files with > periodicity. In particular, what happens to the coordinate localisation. > Stefano wrote this so he will have to help. > Here's what I expect: > > When reading a periodic mesh, the coordinate section will not only > associate dofs with mesh vertices, but instead where the "periodic > boundary" is (at least), the vertices have no dofs associated with > them, and instead the cell has the coordinate dofs for that cell. > No, I think vertices still have dofs, but only for one side, but this could have been changed and I missed it. > Hence, for a triangular mesh, I expect that for every cell, if I call: > > DMPlexVecGetClosure(dm, coordSection, coords, cell, ...); > > That I will always get back an array with 6 entries. > > However, this is not the case. For those cells that have been > identified as periodic, the vertices still have dofs associated with > them, and so I get back 12 entries when calling VecGetClosure, with > each coordinate repeated twice. > Yes. > Am I misunderstanding what's going on? > Yes. If it is periodic, we skip the vertex dofs and just look at the cell dofs. All the vertex dofs are still meaningful, they just might not be on the chart that you want. Thanks, Matt > Cheers, > > Lawrence > -- 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.caam.rice.edu/~mk51/>