<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jul 30, 2016 at 1:35 PM, Andrew Ho <span dir="ltr"><<a href="mailto:andrewh0@uw.edu" target="_blank">andrewh0@uw.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Is there a reason the physical groups aren't sufficient for handling this? As far as I can tell, this is the only way in GMsh to have any kind of grouping of elements.<div><br>The Gmsh file format can be found here (happens to be the ASCII version, but binary version is below that): <a href="http://gmsh.info/doc/texinfo/gmsh.html#MSH-ASCII-file-format" target="_blank">http://gmsh.info/doc/texinfo/gmsh.html#MSH-ASCII-file-format</a><br></div><div><br></div><div>All tags are attributed to elements; there may be multiple element types (points, lines, triangles, etc.), but at the end of the day each element just has a list of indices indicating which physical group(s) each element belongs to.</div></div></blockquote><div><br></div><div>It looks like Michael Lange already fixed this. In 'master', I run</div><div><br></div><div>  cd src/dm/impls/plex/examples/tests</div><div>  make ex1</div><div>  ./ex1 -interpolate 1 -dm_view -filename periodic_square.msh</div><div><br></div><div>and I get</div><div><br></div><div><div> DM Object: Simplicial Mesh 1 MPI processes</div><div>   type: plex</div></div><div><div>Simplicial Mesh in 2 dimensions:</div><div>  0-cells: 8</div><div>  1-cells: 15</div><div>  2-cells: 8</div><div> Labels:</div><div>  Cell Sets: 2 strata of sizes (4, 4)<br></div><div>  depth: 3 strata of sizes (8, 15, 8)</div></div><div><br></div><div>The "Cell Sets" label has the two sets of cells specified in the physical region section.</div><div><br></div><div>It will not be periodic since periodic meshes in Plex are topologically periodic, meaning that</div><div>there is no separate aliasing array. I could possibly read in the GMsh thing and do surgery</div><div>on the mesh.</div><div><br></div><div>Does this work for you?</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>From the documentation for ASCII formatted mesh files:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span style="color:rgb(0,0,0);font-family:monospace;font-size:11.7325px;font-style:italic;line-height:15.8389px">number-of-tags</span> </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span style="color:rgb(0,0,0);font-family:helvetica,sans-serif;font-size:15.2px;line-height:20.52px">gives the number of integer tags that follow for the </span><var style="line-height:20.52px;color:rgb(0,0,0);font-family:helvetica,sans-serif;font-size:15.2px">n</var><span style="color:rgb(0,0,0);font-family:helvetica,sans-serif;font-size:15.2px;line-height:20.52px">-th element. By default, the first </span><var style="line-height:20.52px;color:rgb(0,0,0);font-family:helvetica,sans-serif;font-size:15.2px">tag</var><span style="color:rgb(0,0,0);font-family:helvetica,sans-serif;font-size:15.2px;line-height:20.52px"> is the number of the physical entity to which the element belongs; the second is the number of the elementary geometrical entity to which the element belongs; the third is the number of mesh partitions to which the element belongs, followed by the partition ids (negative partition ids indicate ghost cells). A zero tag is equivalent to no tag. Gmsh and most codes using the MSH 2 format require at least the first two tags (physical and elementary tags).</span></blockquote><div><br></div><div>My understanding is to support markers you only need to add a 4th stratum level which has one node per physical group. It would be helpful (though not necessary) if this subdomain marker stratum level had the physical tag name labels properly associated with the corresponding nodes on the graph, but this is not necessary since it's just as easy to refer to them by node number as long as the node numbering matches or is a simple transform of the numbering scheme in the original physical group id's.</div><div><br></div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Sat, Jul 30, 2016 at 11:11 AM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><span><div class="gmail_quote">On Sat, Jul 30, 2016 at 1:06 PM, Andrew Ho <span dir="ltr"><<a href="mailto:andrewh0@uw.edu" target="_blank">andrewh0@uw.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">1) I don't use Physical Groups from GMsh since its unclear how this would be reflected in the discretization</blockquote><div> </div>If I'm not using physical groups in GMsh, how do I easily denote what part of the domain should be handled with which physics? I would like to be able to use the same code with similar but not identical meshes (for example to do a convergence study), so manually iterating through a list of vertices at the element height stratum in a chart doesn't provide any hints on which subdomain an element is suppose to belong in.</div>
</blockquote></div><br></span>I think the right way to handle all this is to just mark pieces of the mesh. Mesh formats should just have a generic marking</div><div class="gmail_extra">ability which does not differentiate between vertices, edges, faces, and cells. Some formats come close (ExodusII) and some</div><div class="gmail_extra">are just crazy (GMsh). If you can point me toward the documentation for the GMsh format, I will put in code to translate whatever</div><div class="gmail_extra">part marks cells to a cell label, as we do for ExodusII.</div><div class="gmail_extra"><br></div><div class="gmail_extra">  Thanks,</div><span><div class="gmail_extra"><br></div><div class="gmail_extra">     Matt<br clear="all"><div><br></div>-- <br><div data-smartmail="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></span></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span class=""><font color="#888888">-- <br><div data-smartmail="gmail_signature"><div dir="ltr">Andrew Ho</div></div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>