R1 =[3, 4, rectx, rectx + rect_width, rectx + rect_width, rectx, recty, recty, rect_height, rect_height]';
R2= [3,4,rectx,rectx+rect_width,rectx+rect_width,rectx,recty,recty,rect_height+thickness,rect_height+thickness]';
for i = 0:num_holes_y - 1
x_center = x_start + j * x_interval;
y_center = y_start - i * y_interval;
hole = [1, x_center, y_center, radius, zeros(1, 6)]';
circleName = ['C', num2str(k)];
sf1 = [sf1,'-',circleName];
total_elements =num_holes+2;
ns = cell(1, total_elements)
ns{k+3} =['C', num2str(k)];
g = decsg(gmcomb,sfcomb,ns_char);
geometryFromEdges(EModel,g);
R1 =[3, 4, rectx, rectx + rect_width, rectx + rect_width, rectx, recty, recty, rect_height, rect_height]';
R2= [3,4,rectx,rectx+rect_width,rectx+rect_width,rectx,recty,recty,rect_height+thickness,rect_height+thickness]';
for i = 0:num_holes_y - 1
x_center = x_start + j * x_interval;
y_center = y_start - i * y_interval;
hole = [1, x_center, y_center, radius, zeros(1, 6)]';
circleName = ['C', num2str(k)];
sf1 = [sf1,'-',circleName];
total_elements =num_holes;
ns = cell(1, total_elements)
ns{k+1} =['C', num2str(k)];
ns=cellfun(@num2str,ns,'uniformOutput',false);
disp(['number of holes:',num2str(num_holes)]);
disp(['Total Elements: ',num2str(total_elements)]);
disp(['Length of gmcomb: ', num2str(length(gm1))]);
disp(['Length of ns: ', num2str(length(ns))]);
if length(gmcomb) ~= length(ns_char)
error('The number of elements in gmcomb does not match the number of names in ns.')
g = decsg(gmcomb,sfcomb,ns_char);
geometryFromEdges(EModel,g);
generateMesh(EModel,Hmin=0.001);
pdegplot(EModel,FaceLabels="on");
pdegplot(EModel,EdgeLabels="on");