[petsc-dev] Reading periodic meshes from GMSH

Lawrence Mitchell lawrence.mitchell at imperial.ac.uk
Thu Jul 12 09:00:25 CDT 2018


> On 12 Jul 2018, at 12:27, Stefano Zampini <stefano.zampini at gmail.com> wrote:
> 
> Lawrence,
> 
> I wrote the periodic GMSH reader and I can answer for it.
> 
> With DMPlex, when we have periodicity, we currently have two ways of encoding it
> 
> 1) through the maxCell concept (or, as Lisandro's like to call it, the "maxCell crap")
> 2) through the coordinatesSection
> 
> Since periodicity with general meshed cannot be encoded with 1), I populate the cell part of the coordinates section with the "localized coordinates" (only for periodic cells), and leave all the other dofs associated with the vertices.
> I believe this kind of localization is also what you get with the maxCell crap (check it out with the BoxMesh): even in this case in the coordinate section you have cell dofs only for cells touching the periodic boundary, and all the vertices have their own coordinates.
> Look eg in DMPlexComputeLineGeometry_Internal.
> 
> What you know for sure is that the first 6 entries of the closure are the ones you should look for (not the size of the closure)

Thanks.  This seems somewhat odd to me.  At the periodic boundary, the coordinate field is not single-valued, so I don't understand how you can reasonably put coordinate dofs on the vertices.  I would have thought that on the periodic cells, the vertices in the closure have no dofs in the coordinate section, and it's just the cell that has dofs associated with it.

Is there a reason why you leave things on the vertices at all?

Cheers,

Lawrence


More information about the petsc-dev mailing list