[Gmsh] Coherence 'could not find extruded vertex' error

Bart Deschoolmeester bart.deschoolmeester at bbri.be
Mon Aug 17 16:45:43 CEST 2020


Thanks Christophe,
I am trying to work with GMSH. But as I run into many errors I have only two possible answers:
1/ GMSH is error prone (which I doubt somewhat 😉).
2/ I am not grasping some fundamental concepts, which makes GMSH unintuitive to me.
So now I would like to get my head around these fundamental concepts. 

In your answer you talk about 'non-conformal geometry'. I have no idea what that means. The only thing I could find in the manual is:
" A finite element mesh of a model is a tessellation of its geometry by simple geometrical elements of various shapes (in Gmsh: lines, triangles, quadrangles, tetrahedra, prisms, hexahedra and pyramids), arranged in such a way that if two of them intersect, they do so along a face, an edge or a node, and never otherwise. This defines a so-called “conformal” mesh." 
"// By default, across geometrical dimensions meshes generated by Gmsh are only
// conformal if lower dimensional entities are on the boundary of higher
// dimensional ones (i.e. if points, curves or surfaces are part of the boundary
// of volumes)."
I think my geometry conforms to this.
Only hidden in t16.geo I find "a conformal manner (without creating duplicate interfaces)". Aha! So, if I understand this correct, conformal also means that if entities intersect, they do this along a unique (the same) face, edge, node. Maybe this should be emphasized in the manual.

So I've rewritten the script to make sure this is no longer the case (see below)
But I kept getting the same error. So I'm still missing something. What?

Thank you.
--------------
KanR = DefineNumber[ 0.1, Name "Parameters/KanR" ];
WanD = DefineNumber[ 0.2, Name "Parameters/WanD" ];
KanMeshsize = DefineNumber[ 0.01, Name "Parameters/KanMeshsize" ];
SetFactory("OpenCASCADE");

Rectangle(1) = {-2.5, -2.5, 0, 5, 5, 0};
Circle(5) = {0, 0, 0, KanR, 0, 2*Pi};
Curve Loop(2) = {5};
Plane Surface(2) = {2};
Extrude {0, 0, WanD } {
  Surface{1,2};  
}

Point(23) = {0, -0.1, 0};
Point(24) = {0, -0.05, 0};
Point(25) = {0, -0.05, WanD};
Point(26) = {0, -0.1, WanD};

Line(32) = {25, 24};
Line(33) = {24, 23};
Line(34) = {23, 26};
Line(35) = {26, 25};
Curve Loop(30) = {32, 33, 34, 35};
Plane Surface(14) = {30};
Extrude {{0, 0, 1}, {0, 0, 0}, Pi} {
  Surface{14}; Layers{25}; 
}

BooleanFragments{ Volume{3}; Volume{1}; Delete; }{ Volume{2}; Delete; }

Delete { Volume {5 }; }
Delete { Surface {10,14 }; }

Field[1] = Distance;
Field[1].EdgesList = {16,17,18};
Field[1].NNodesByEdge = 50;
Field[2] = Threshold;
Field[2].DistMax = 2.5;
Field[2].DistMin = 0;
Field[2].IField = 1;
Field[2].LcMax = 0.25;
Field[2].LcMin = KanMeshsize ;

Background Field = 2;

Mesh.CharacteristicLengthExtendFromBoundary = 0;
Mesh.CharacteristicLengthFromPoints = 0;
Mesh.CharacteristicLengthFromCurvature = 0;



More information about the gmsh mailing list