2010/8/17 D Haley <[email protected]>: > I am trying to write .msh files for use in Elmer, however I am having some > problems with boundary condition grouping. > > What is the correct way to either (1) use GMSH to export simple groupings in > msh files (It always seems to drop the physical groups?) or (2) write > physical groups to a .msh file. I am looking for an example that I can copy > from.
I'm not too sure what you mean by `it always seems to drop the physical groups'; I haven't noticed this. If saving the .msh via the Gmsh GUI, be sure not to check `Save all (ignore physical groups)'. I attach an example. It's your unit cube, with the top (z = 1) and the volume marked as physical entities 2 and 3, respectively. Running this with "gmsh -3 die.geo" produces the file die.msh, also attached. I notice your mesh file only has triangular elements; if you just want to mesh the surface of the cube, replace "-3" with "-2". I get essentially the same thing saving interactively. > The documentation did not seem quite clear, at least to me in the description > of the physical names. As far as I can see, a valid section might be > something like: > > $PhysicalNames > 1 > 2 (Something) "description" > $EndPhysicalNames > > But I am unclear on the "Something", and the "description" secions I don't know Elmer, but perhaps you can get away without using PhysicalNames. If you do need it though, I think the (Something) is most likely the number of the physical entity (number as in integer-tag rather than as in how many of them), and "description" is a string-tag, so I think this PhysicalNames block is like a dictionary or associative array, translating integer-tags into more user-friendly string names; e.g. for the die example above it might look like $PhysicalNames 2 2 2 "top" 3 3 "interior" $PhysicalNames > So using an example to clarify, I have the following unit cube, with surface > triangles: > > $MeshFormat > 2.1 0 8 > $EndMeshFormat > $Nodes > 8 > 1 0 0 0 > 2 0 0 1 > 3 0 1 0 > 4 0 1 1 > 5 1 0 0 > 6 1 0 1 > 7 1 1 0 > 8 1 1 1 > $EndNodes > $Elements > 12 > 1 2 3 0 1 0 1 3 7 > 2 2 3 0 1 0 1 5 7 > 3 2 3 0 1 0 6 8 5 > 4 2 3 0 1 0 5 8 7 > 5 2 3 0 1 0 5 1 2 > 6 2 3 0 1 0 5 2 6 > 7 2 3 0 1 0 1 3 4 > 8 2 3 0 1 0 1 2 4 > 9 2 3 0 1 0 3 4 7 > 10 2 3 0 1 0 7 8 4 > 11 2 3 0 1 0 2 8 4 > 12 2 3 0 1 0 6 2 8 > $EndElements > > I might, say, like to group the top 2 triangles together (z=1), such that I > can assign them in Elmer to a single boundary condition, so what would the > PhysicalNames section look like? I can't quite seem to get it to work... > Would the following be right? > > $PhysicalNames > 1 > 2 11 12 "Top Boundary" > $EndPhysicalNames No, 11 and 12 identify elements, not physical entities. Also I think there should probably only be one here, although maybe one is allowed to group multiple numerically identified physical entities (of the same physical dimension) into one string-identified physical entity. The physical entity tags are found in the Element block, being by convention the first tag. The third number on each element line tells how many tags. You've got 3 (my attached die.msh has 2). Your first tags are all zero. Mine are "2" for the type-2 elements (the triangles on top) and "3" for the type-4 elements (the tetrahedra constituting the body).
die.geo
Description: Binary data
die.msh
Description: Mesh model
_______________________________________________ gmsh mailing list [email protected] http://www.geuz.org/mailman/listinfo/gmsh
