// Parameters // rectangle ]-ca,ca[x]-cb,cb[ with cracon on ]-ca,0[ line ] real thickness = 0.0001;// of crack int n = 10; real cb = 1, ca = 1; func thick = min(thickness,abs(x)); // Mesh border L1(t= cb,thickness){x=-cb; y=t;label=4;}// Left border L2(t=-thickness, -cb){x=-cb; y=t;label=4;} border B(t=-ca,ca){x=t; y=-ca;label=1;} // border R(t=-cb, cb){x=ca; y=t;label=2;} border T(t=ca,-ca){x=t; y=cb;label=3;} border Cutup(t=-ca,0){x=t; y=thick;label=11;} border Cutdown(t=0,-ca){x=t; y=-thick;label=10;} plot( L1(n) + L2(n) + B(n*2) + R(n*2) + T(n*2)+ Cutup(n)+ Cutdown(n+1),wait=1); // important Cutup(n+1) to hanve no same mesh on to cut .. mesh Th = buildmesh(L1(n) + L2(n) + B(n*2) + R(n*2) + T(n*2)+ Cutup(n+1)+ Cutdown(n));// plot(Th, wait=true);