readgmsh using PhysicalNames as tags

Asked by ceguo

Hi everyone,

I imported a gmsh .msh file using ReadGmsh. And the .msh file contains several physical groups (boundary lines). But how to make Escript recognize these physical groups (it seems it cannot as I tried it)? The mesh is generated from the following .geo file
===============================================================================
Point(1) = {0, 0, 0, 0.1};
Point(2) = {0.2, 0, 0, 0.1};
Point(3) = {1, 0, 0, 0.1};
Point(4) = {0, 0.2, 0, 0.1};
Point(5) = {0, 1, 0, 0.1};
Circle(1) = {4, 1, 2};
Circle(2) = {5, 1, 3};
Line(3) = {4, 5};
Line(4) = {2, 3};

Transfinite Line(1) = 21;
Transfinite Line(2) = 21;
Transfinite Line(3) = 21 Using Progression 1.1;
Transfinite Line(4) = 21 Using Progression 1.1;

Line Loop(1) = {3, 2, -4, -1};
Plane Surface(1) = {1};

Transfinite Surface(1) = {2,4,5,3};
Recombine Surface(1);

Physical Line("inner") = {1};
Physical Line("outer") = {2};
Physical Line("left") = {3};
Physical Line("bottom") = {4};
Physical Surface("cavity") = {1};
==============================================================================
And the .msh file has the following lines:

$PhysicalNames
5
1 1 "inner"
1 2 "outer"
1 3 "left"
1 4 "bottom"
2 5 "cavity"
$EndPhysicalNames

I want to set Neumann boundary for "inner" and "outer" but Dirichlet boundary for "left" and "bottom".

Many thanks

Question information

Language:
English Edit question
Status:
Solved
For:
esys-escript Edit question
Assignee:
No assignee Edit question
Solved by:
ceguo
Solved:
Last query:
Last reply:
Revision history for this message
Lutz Gross (l-gross) said :
#1

Unfortunately, the gmsh reader does not support PhysicalNames in gmsh files yet as this is a rather new feature.

Revision history for this message
ceguo (hhh-guo) said :
#2

Thanks. Anyway I can still use whereZero to locate the boundary.