Dear Henrik,
On 18 Dec 2015, at 10:00, Justin Chang <jychang48@gmail.com> wrote:
Henrik,
PETSc's DMPlexCreateGmsh() function does not recognize the "PhysicalNames" field, which is why the reader screws up in neu3.msh
neu4.msh also fails because the boundaries in DMPlex are labeled by physical ID's, which is , not "PhysicalNames" strings.
Also, if you're using the Mesh() function, you need to provide the entire mesh and not just the four 2-node lines? In any case, the GMSH file format (including where the physical ID's are located) can be found here:
9.1 MSH ASCII file format
Justin is right, we just defer to PETSc's mesh reader for Gmsh which doesn't understand the physicalnames. If you want to mark boundaries of the domain, you will need to use the "Physical Line" (in 2D) or "Physical Surface" (in 3D) functionality to give those boundaries integer IDs. In firedrake/tests/regression there is an example mesh of an annulus (annulus.geo and annulus.msh) that does this. The boundary is a Physical Line(9). Which means that we can impose Dirichlet conditions using: DirichletBC(V, ..., 9) Cheers, Lawrence