dist = 3.5;
r_disk = 2;

tip_dist = Sqrt(r_disk*r_disk - dist*dist/4);

width_outer = 10;
height_outer = 10;

size_outer = 8e-1;
size_outline = 5e-1;
size_tip = 1e-1;

Mesh.RecombinationAlgorithm = 1; //Blossom
Mesh.Algorithm=1; //MeshAdapt

//centers of disks
Point(2) = {-dist/2,0,0,size_outline};
Point(3) = {+dist/2,0,0,size_outline};

//outer corners
Point(4) = {+width_outer,+height_outer,0,size_outer};
Point(5) = {+width_outer,-height_outer,0,size_outer};
Point(6) = {-width_outer,-height_outer,0,size_outer};
Point(7) = {-width_outer,+height_outer,0,size_outer};

//outline left
Point(8) = {-dist/2,+r_disk,0,size_outline};
Point(9) = {-dist/2-r_disk,0,0,size_outline};
Point(10) = {-dist/2,-r_disk,0,size_outline};

//outline right
Point(11) = {+dist/2,-r_disk,0,size_outline};
Point(12) = {+dist/2+r_disk,0,0,size_outline};
Point(13) = {+dist/2,+r_disk,0,size_outline};

//tip
Point(14) = {0,+tip_dist,0,size_tip};
Point(15) = {0,-tip_dist,0,size_tip};

//Box
Line(1) = {4,5};
Line(2) = {5,6};
Line(3) = {6,7};
Line(4) = {7,4};
Line Loop(5) = {1,2,3,4};

//contact line
Circle(6) = {8,2,9};
Circle(7) = {9,2,10};
Circle(8) = {10,2,15};
Circle(9) = {15,3,11};
Circle(10) = {11,3,12};
Circle(11) = {12,3,13};
Circle(12) = {13,3,14};
Circle(13) = {14,2,8};

//Plane Surface(1) = {5};
//Recombine Surface {1};

//outline
//Line {6,7,8,9,10,11,12,13} In Surface {1};

//Physical Surface(2) = {1};

Line Loop(6) = {13, 6, 7, 8, 9, 10, 11, 12};
Plane Surface(1) = {5, 6};
Plane Surface(2) = {6};
Recombine Surface {1, 2};
Physical Surface(2) = {1, 2};
