<div dir="ltr"><div>Hi Gmsh<br><br></div>I am trying to mesh a 2d domain that has several circular holes and the outer boundary is a spline/B-spline. I need the gridsize to be close to 2 and all elements must be quadrilaterals. With the following .geo file, I get some elements as triangles. How to avoid this? If I set in Tools->Options->Mesh->Subdivision Algorithm->All Quads, them my mesh size reduces which I don't want. Any help is much appreciated. Thank you.<br><br><br>Here is my geo file:<br><br>rscat = 0.9;<br>Rext = 8;<br>gridsize = 2;<br>rc = 3;<br>x0 = 0;<br>y0 = 0;<br>Point(999) = {x0, y0, 0, gridsize};<br>x1 = -1;<br>y1 = 0;<br>x2 = 0;<br>y2 = 3;<br>x3 = 0;<br>y3 = -3;<br>x4 = 2;<br>y4 = -5;<br>// 4 circles<br>Point(1) = {x1, y1, 0, gridsize};<br>Point(2) = {x2, y2, 0, gridsize};<br>Point(3) = {x3, y3, 0, gridsize};<br>Point(4) = {x4, y4, 0, gridsize};<br><br>Point(11) = {x1+rscat, y1, 0, gridsize};<br>Point(12) = {x1, y1+rscat, 0, gridsize};<br>Point(13) = {x1-rscat, y1, 0, gridsize};<br>Point(14) = {x1, y1-rscat, 0, gridsize};<br>Point(21) = {x2+rscat, y2, 0, gridsize};<br>Point(22) = {x2, y2+rscat, 0, gridsize};<br>Point(23) = {x2-rscat, y2, 0, gridsize};<br>Point(24) = {x2, y2-rscat, 0, gridsize};<br>Point(31) = {x3+rscat, y3, 0, gridsize};<br>Point(32) = {x3, y3+rscat, 0, gridsize};<br>Point(33) = {x3-rscat, y3, 0, gridsize};<br>Point(34) = {x3, y3-rscat, 0, gridsize};<br>Point(35) = {x4+rscat, y4, 0, gridsize};<br>Point(36) = {x4, y4+rscat, 0, gridsize};<br>Point(37) = {x4-rscat, y4, 0, gridsize};<br>Point(38) = {x4, y4-rscat, 0, gridsize};<br><br>Circle(1) = {11, 1, 12};<br>Circle(2) = {12, 1, 13};<br>Circle(3) = {13, 1, 14};<br>Circle(4) = {14, 1, 11};<br>Circle(5) = {21, 2, 22};<br>Circle(6) = {22, 2, 23};<br>Circle(7) = {23, 2, 24};<br>Circle(8) = {24, 2, 21};<br>Circle(9) = {31, 3, 32};<br>Circle(10) = {32, 3, 33};<br>Circle(11) = {33, 3, 34};<br>Circle(12) = {34, 3, 31};<br>Circle(13) = {35,4,36};<br>Circle(14) = {36,4,37};<br>Circle(15) = {37,4,38};<br>Circle(16) = {38,4,35};<br><br>Point(101) = {0, 0, 0, gridsize};<br>Point(102) = {3, 3, 0, gridsize};<br>Point(103) = {0, 6, 0, gridsize};<br>Point(104) = {-3, 3, 0, gridsize};<br>Point(105) = {-6, 0, 0, gridsize};<br>Point(106) = {-3, -3, 0, gridsize};<br>Point(107) = {-1, -6, 0, gridsize};<br>Point(108) = {1,-7,0,gridsize};<br>Point(109) = {5, -7, 0, gridsize};<br>Point(110) = {4, -3, 0, gridsize};<br><br>Line Loop(18) = {2, 3, 4, 1};<br>Line Loop(19) = {5, 6, 7, 8};<br>Line Loop(20) = {10, 11, 12, 9};<br>Line Loop(21) = {13, 14, 15, 16};<br><br>n1 = 1;<br>n2 = 1;<br><br>Transfinite Line{1,2,3,4} = n1 ;<br>Transfinite Line{5, 6, 7, 8} = n1 ;<br>Transfinite Line{10, 11, 12, 9} = n1 ;<br>Transfinite Line{13, 14, 15, 16} = n1 ;<br><br>BSpline(101) = {101, 102, 103, 104, 106, 107, 108,109,110,101};<br>Line Loop(1001) = {1, 2, 3, 4,5,6,7,8,9,10,11,12,13,14,15,16,101};<br>Plane Surface(2001) = {1001};<br>//Transfinite Surface{2001} = {};<br>Recombine Surface {2001} ;<br>Physical Line(10) = {1, 2, 3, 4,5, 6, 7, 8,9, 10, 11, 12,13,14,15,16};<br>Physical Line(11) = {101};<br>Physical Surface(301) = {2001};<br>Mesh.Smoothing = 2;<br><br></div>