[Gmsh] Are 1-D elements supposed to cross cracks?

Oxberry, Geoffrey Malcolm oxberry1 at llnl.gov
Mon Sep 15 21:44:14 CEST 2014


If I specify a 2-D mesh in Gmsh so that it outputs all 2-D elements it has constructed, along with some (not necessarily proper) subset of 1-D elements, should the collection of nodes specifying a 1-D element be a subset of the nodes specifying some 2-D element?

I ask because I have the following case where a couple 1-D elements cross a crack in the mesh inserted using the Crack plugin:

// File: crack.geo
// Characteristic length
lc = 1;

// Point: X, Y, Z coordinates, & characteristic length setting elt size
Point(1) = {0, 0, 0, lc} ;
Point(2) = {1, 0, 0, lc} ;
Point(3) = {1, 1, 0, lc} ;
Point(4) = {0, 1, 0, lc} ;

// Lines defined by lists of numbers:
Line(1) = {1, 2} ;
Line(2) = {2, 3} ;
Line(3) = {3, 4} ;
Line(4) = {4, 1} ;
Line(5) = {1, 3} ;

// Line loops to construct surfaces
Line Loop(1) = {1, 2, -5} ;
Line Loop(2) = {5, 3, 4} ;

// Surfaces for meshing
Plane Surface(1) = {1} ;
Plane Surface(2) = {2} ;

Physical Point(13) = {1, 3};
Physical Surface(201) = {1} ;
Physical Surface(202) = {2} ;
Physical Line(105) = {5} ;
Physical Line(104) = {1, 2, 3, 4};
// end of file

I run that using "gmsh -2 -o crack.msh crack.geo" and then post-process using the crack plugin with the file

// File: crack2.geo
// Add cracks to duplicate nodes
Merge "crack.msh" ;

// Duplicate around cathode-separator interface
Plugin(Crack).Dimension = 1 ;
Plugin(Crack).PhysicalGroup = 105 ;
Plugin(Crack).OpenBoundaryPhysicalGroup = 13 ;
Plugin(Crack).Run ;
// end of file

and the command "gmsh -2 -o crack2.msh crack2.geo".

The file "crack2.msh" consists of:

MeshFormat
2.2 0 8
$EndMeshFormat
$Nodes
8
1 0 0 0
2 1 1 0
3 1 0 0
4 0 1 0
5 0.4999999999986928 0.4999999999986928 0
6 0 0 0
7 1 1 0
8 0.4999999999986928 0.4999999999986928 0
$EndNodes
$Elements
14
1 15 2 13 1 1
2 15 2 13 3 2
3 1 2 104 1 1 3
4 1 2 104 2 3 2
5 1 2 104 3 2 4
6 1 2 104 4 4 1
7 1 2 105 5 1 5
8 1 2 105 5 5 2
9 1 2 105 6 6 8
10 1 2 105 6 8 7
11 2 2 201 1 6 3 8
12 2 2 201 1 3 7 8
13 2 2 202 2 1 5 4
14 2 2 202 2 5 2 4
$EndElements

What I find strange about this output is that the 1-D element 3 is an edge between nodes 1 and 3, but that edge straddles the crack I placed in the mesh, and it seems like that element should be an edge between nodes 6 and 3. Similarly, 1-D element 4 is an edge between nodes 3 and 2, but that edge also straddles the crack I placed in the mesh, and it seems like that element should be an edge between nodes 3 and 7. There is no 2-D element containing nodes 1 and 3 together, nor is there a 2-D element containing nodes 3 and 2 together. Is this behavior supposed to happen?

Geoff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20140915/b9c04081/attachment.html>