<div dir="ltr"><div>Hi all -- I'm trying to read in 2nd-order / piecewise quadratic meshes that are generated by gmsh and I don't understand how the coordinates are stored in the plex. I've been discussing this with Matt Knepley <a href="https://github.com/firedrakeproject/firedrake/issues/982">here</a> as it pertains to Firedrake but I think this is more an issue at the PETSc level.</div><div><br></div><div><a href="https://gist.github.com/danshapero/a140daaf951ba58c48285ec29f5973cc">This code</a> uses gmsh to generate a 2nd-order mesh of the unit disk, read it into a DMPlex, print out the number of cells in each depth stratum, and finally print a view of the coordinate DM's section. The resulting mesh has 64 triangles, 104 edges, and 41 vertices. For 2nd-order meshes, I'd expected there to be 2 degrees of freedom at each node and 2 at each edge. The output is:</div><div><br></div><div>```<br></div><div>Depth strata: [(64, 105), (105, 209), (0, 64)]<br><br>PetscSection Object: 1 MPI process<br>  type not yet set<br>1 fields<br>  field 0 with 2 components<br>Process 0:<br>  (   0) dim 12 offset   0<br>  (   1) dim 12 offset  12<br>  (   2) dim 12 offset  24<br>...</div><div>  (  62) dim 12 offset 744<br>  (  63) dim 12 offset 756<br>  (  64) dim  0 offset 768<br>  (  65) dim  0 offset 768<br></div><div>...<br>  ( 207) dim  0 offset 768<br>  ( 208) dim  0 offset 768<br>  PetscSectionSym Object: 1 MPI process<br>    type: label<br>    Label 'depth'<br>    Symmetry for stratum value 0 (0 dofs per point): no symmetries<br>    Symmetry for stratum value 1 (0 dofs per point): no symmetries<br>    Symmetry for stratum value 2 (12 dofs per point):<br>      Orientation range: [-3, 3)<br>    Symmetry for stratum value -1 (0 dofs per point): no symmetries</div><div>```</div><div><br></div><div>The output suggests that there are 12 degrees of freedom in each triangle. That would mean the coordinate field is discontinuous across cell boundaries. Can someone explain what's going on? I tried reading the .msh file but it's totally inscrutable to me. I'm happy to RTFSC if someone points me in the right direction. Matt tells me that the coordinate field should only be discontinuous if the mesh is periodic, but this mesh shouldn't be periodic.<br></div></div>