//
lc = 5;
//
// Points to generate a big rectangle
//
a1 = -100.0;
a2 =  100.0;
b1 =    0.0;
b2 =   40.0;
//
// Definition of the crack
//
tip    = 5;
dip    = 45;
theta  = ((270 + dip)/180.0)*Pi;
width  = 10;
//
Point(1) = {a1, b1, 0, lc};
//+
Point(2) = {a2, b1, 0, lc};
//+
Point(3) = {a2, -b2, 0, lc};
//+
Point(4) = {a1, -b2, 0, lc};
//+
Point(5) = {0, -tip, 0, lc};
//+
Point(6) = {-(width+tip)*Sin(theta), -tip -(width+tip)*Cos(theta), 0, lc};
//+
Physical Point("crack", 5) = {5, 6};
//+
Physical Point("up", 1) = {1, 2};
//+
Physical Point("down", 2) = {3, 4};
//+
Line(1) = {1, 2};
//+
Line(2) = {2, 3};
//+
Line(3) = {3, 4};
//+
Line(4) = {4, 1};
//+
Line(5) = {5, 6};
//+
Physical Line("up", 1) = {1};
//+
Physical Line("down", 2) = {3};
//+
Physical Line("left", 3) = {4};
//+
Physical Line("rigth", 4) = {2};
//+
Physical Line("crack", 5) = {5};
//+
Line Loop(1) = {3, 4, 1, 2};
//+
Plane Surface(1) = {1};
//+
Line{5} In Surface {1};
//+
Mesh 2;
//+
Plugin(Crack).Dimension = 1;
Plugin(Crack).PhysicalGroup = 5;
Plugin(Crack).OpenBoundaryPhysicalGroup = 5;
Plugin(Crack).NormalX = 0;
Plugin(Crack).NormalY = 0;
Plugin(Crack).NormalZ = 1;
Plugin(Crack).Run;

