diff --git a/benchmarks/extrude/vianew-rec.geo b/benchmarks/extrude/vianew-rec.geo new file mode 100644 index 0000000000000000000000000000000000000000..104862e66e8934308849d7192a29f07af8a18e21 --- /dev/null +++ b/benchmarks/extrude/vianew-rec.geo @@ -0,0 +1,114 @@ +// characteristic lengths for the domain: +L = 0.25; // feature width +A = 4.0; // aspect ratio + +// characteristic lengths: +lcbot = L / 4; +lclev = L / 4; +lctop = L / 2; + +/*** Points: ***/ + +// Points on surface level (z = 0.0): +// points along x-axis (y = 0): +Point( 1) = {0.0*L, 0.0*L, 0.0, lclev}; +Point( 2) = {1.5*L, 0.0*L, 0.0, lclev}; +Point( 3) = {2.5*L, 0.0*L, 0.0, lclev}; +Point( 4) = {4.0*L, 0.0*L, 0.0, lclev}; +// points along x = L: +Point( 5) = {4.0*L, 1.5*L, 0.0, lclev}; +Point( 6) = {4.0*L, 2.5*L, 0.0, lclev}; +Point( 7) = {4.0*L, 4.0*L, 0.0, lclev}; +// points along y = L: +Point( 8) = {2.5*L, 4.0*L, 0.0, lclev}; +Point( 9) = {1.5*L, 4.0*L, 0.0, lclev}; +Point(10) = {0.0*L, 4.0*L, 0.0, lclev}; +// points along y-axis (x = 0): +Point(11) = {0.0*L, 2.5*L, 0.0, lclev}; +Point(12) = {0.0*L, 1.5*L, 0.0, lclev}; +// points in the interior: +Point(13) = {1.5*L, 1.5*L, 0.0, lclev}; +Point(14) = {2.5*L, 1.5*L, 0.0, lclev}; +Point(15) = {2.5*L, 2.5*L, 0.0, lclev}; +Point(16) = {1.5*L, 2.5*L, 0.0, lclev}; + +/*** Lines: ***/ +// lines along the outside: +Line( 1) = { 1, 2}; +Line( 2) = { 2, 3}; +Line( 3) = { 3, 4}; +Line( 4) = { 4, 5}; +Line( 5) = { 5, 6}; +Line( 6) = { 6, 7}; +Line( 7) = { 7, 8}; +Line( 8) = { 8, 9}; +Line( 9) = { 9, 10}; +Line(10) = {10, 11}; +Line(11) = {11, 12}; +Line(12) = {12, 1}; +// lines along the inside: +Line(13) = {13, 14}; +Line(14) = {14, 15}; +Line(15) = {15, 16}; +Line(16) = {16, 13}; +// lines connecting inside and outside: +Line(17) = { 2, 13}; +Line(18) = { 3, 14}; +Line(19) = { 5, 14}; +Line(20) = { 6, 15}; +Line(21) = { 8, 15}; +Line(22) = { 9, 16}; +Line(23) = {11, 16}; +Line(24) = {12, 13}; + +Line Loop(25) = { 1, 17, -24, 12}; Ruled Surface(26) = {25}; +Line Loop(27) = { 2, 18, -13, -17}; Ruled Surface(28) = {27}; +Line Loop(29) = { 3, 4, 19, -18}; Ruled Surface(30) = {29}; +Line Loop(31) = { 5, 20, -14, -19}; Ruled Surface(32) = {31}; +Line Loop(33) = { 6, 7, 21, -20}; Ruled Surface(34) = {33}; +Line Loop(35) = { 8, 22, -15, -21}; Ruled Surface(36) = {35}; +Line Loop(37) = { 9, 10, 23, -22}; Ruled Surface(38) = {37}; +Line Loop(39) = { 11, 24, -16, -23}; Ruled Surface(40) = {39}; +Line Loop(41) = { 13, 14, 15, 16}; Ruled Surface(42) = {41}; + +// number of points on lines +NPint = 4; // number of points on interior lines +NPout = 4; // number of points on outside lines + +Transfinite Line {13, 14, 15, 16, 2, 5, 8, 11} = NPint; +Transfinite Line {1,3,4,6,7,9,10,12,17,18,19,20,21,22,23,24} = NPout; +Transfinite Surface {26} = { 1, 2, 13, 12}; +Transfinite Surface {28} = { 2, 3, 14, 13}; +Transfinite Surface {30} = { 3, 4, 5, 14}; +Transfinite Surface {32} = { 5, 6, 15, 14}; +Transfinite Surface {34} = { 6, 7, 8, 15}; +Transfinite Surface {36} = { 15, 16, 9, 8}; +//Transfinite Surface {36} = { 8, 9, 16, 15}; causes swapping to fail in non-recombined case... +Transfinite Surface {38} = { 9, 10, 11, 16}; +Transfinite Surface {40} = { 11, 12, 13, 16}; +Transfinite Surface {42} = { 13, 14, 15, 16}; + +Recombine Surface {26,28,30,32,34,36,38,40,42}; + +// number of layers: +NLdn = 8; +NLup = 3; + +// extrude down first: +Extrude Surface {42, {0,0,-A*L}}{ Layers { {NLdn}, {9001}, {1} } ; Recombine; }; +// extrude up second: +Extrude Surface {26, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;}; +Extrude Surface {28, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;}; +Extrude Surface {30, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;}; +Extrude Surface {32, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;}; +Extrude Surface {34, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;}; +Extrude Surface {36, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;}; +Extrude Surface {38, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;}; +Extrude Surface {40, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;}; +Extrude Surface {42, {0,0,L}}{ Layers { {NLup}, {9000}, {1} } ; Recombine;}; + +// wafer surface including surfaces that are extruded downwards: +Physical Surface(1001) = {26,28,30,32,34,36,38,40, 51,55,59,63,64}; +Physical Surface(1009) = {73,95,117,121,139,161,165,183,205,209,227,85, 86,108,130,152,174,196,218,240,262}; +Physical Volume(2001) = {9000,9001}; +