diff --git a/benchmarks/2d/foil_bernhard.geo b/benchmarks/2d/foil_bernhard.geo new file mode 100644 index 0000000000000000000000000000000000000000..bdd9e83591e11ecb3812092f35b9706dcb1a0a9d --- /dev/null +++ b/benchmarks/2d/foil_bernhard.geo @@ -0,0 +1,219 @@ +//Gmesh input File created by Gmeshgen.pl +//Inputfile was: foil_e.new + +//foil_e with first dod added + +Point(1) = {0.9359327875882, -0.348543553581827, 0, 0.00926728261397759}; +Point(2) = {0.928114977413582, -0.343567172253897, 0, 0.00936736544525385}; +Point(3) = {0.919793312627437, -0.339030011153759, 0, 0.0146875475762159}; +Point(4) = {0.901731619523067, -0.330651497992155, 0, 0.0199287102224063}; +Point(5) = {0.883139803094809, -0.323373248926015, 0, 0.0199597268072343}; +Point(6) = {0.864330801513522, -0.316696513610415, 0, 0.0199593386113302}; +Point(7) = {0.845278420716531, -0.310723485465271, 0, 0.0199966767341584}; +Point(8) = {0.825964049786336, -0.305406664915849, 0, 0.0258329118663419}; +Point(9) = {0.795211947891967, -0.297967873332412, 0, 0.0315991077698568}; +Point(10) = {0.764347451818138, -0.291356422845708, 0, 0.0258172578168972}; +Point(11) = {0.744626201002564, -0.287613868485117, 0, 0.0200557665168294}; +Point(12) = {0.724886304573388, -0.284162471189041, 0, 0.0271461881818962}; +Point(13) = {0.69116481868521, -0.278151166336926, 0, 0.0318931378133309}; +Point(14) = {0.662026069368709, -0.273332891865129, 0, 0.0249223149264925}; +Point(15) = {0.642013604498078, -0.269865922278254, 0, 0.0205097086275018}; +Point(16) = {0.621610857030059, -0.266318392341861, 0, 0.0284656239628679}; +Point(17) = {0.585963558674197, -0.25988797892692, 0, 0.0317113823168865}; +Point(18) = {0.559251391759666, -0.254753611108236, 0, 0.0237856555059461}; +Point(19) = {0.539302197276391, -0.250628012194069, 0, 0.0201455390628506}; +Point(20) = {0.5198591014454, -0.246290843220131, 0, 0.0199210659767429}; +Point(21) = {0.500481171265563, -0.241665678900468, 0, 0.0202627323931576}; +Point(22) = {0.480532042698889, -0.236508422942135, 0, 0.0264853264379584}; +Point(23) = {0.449376941569323, -0.227728398919969, 0, 0.0322983648231686}; +Point(24) = {0.418528866527625, -0.218388168372257, 0, 0.0266766700633718}; +Point(25) = {0.398393989653995, -0.212002066967497, 0, 0.0215078063545241}; +Point(26) = {0.377589322529617, -0.205186021805505, 0, 0.029823722761522}; +Point(27) = {0.341862165119822, -0.19297654273656, 0, 0.0322613582857859}; +Point(28) = {0.31665064490278, -0.183980868590595, 0, 0.0233504462218875}; +Point(29) = {0.297942383665753, -0.177101211178704, 0, 0.0222947628252582}; +Point(30) = {0.274879795307499, -0.168378884042901, 0, 0.0318086526590736}; +Point(31) = {0.238623598599262, -0.154113317099911, 0, 0.0309695943042226}; +Point(32) = {0.217375609666903, -0.145362982598803, 0, 0.0216940200401716}; +Point(33) = {0.198615443888708, -0.13732434516385, 0, 0.0260980477607313}; +Point(34) = {0.169608740654052, -0.124321152535931, 0, 0.032532156598543}; +Point(35) = {0.139509397330839, -0.11012434310305, 0, 0.0273186200365896}; +Point(36) = {0.120393619034701, -0.100591428416028, 0, 0.0207962496384824}; +Point(37) = {0.102485704966114, -0.0911722403229753, 0, 0.0204613653949275}; +Point(38) = {0.0843085108384768, -0.0812902662291091, 0, 0.0203821595528047}; +Point(39) = {0.0669222430512572, -0.0712481371116766, 0, 0.0199894765364316}; +Point(40) = {0.0501215109839633, -0.0605642987064651, 0, 0.0199048339860836}; +Point(41) = {0.0337822763409929, -0.0491902072338127, 0, 0.0198822400727737}; +Point(42) = {0.0182682429803414, -0.036761290519787, 0, 0.020028059882027}; +Point(43) = {0.0044076929196071, -0.021957385503917, 0, 0.0186018142701722}; +Point(44) = {-0.000545, -0.004665, 0, 0.0174138223878821}; +Point(45) = {0.00802811738685041, 0.012681571860643, 0, 0.0190579337371557}; +Point(46) = {0.0237952543749791, 0.024667087724548, 0, 0.0195780565499709}; +Point(47) = {0.0424947288298432, 0.0312625806796818, 0, 0.0197615832379809}; +Point(48) = {0.0620561415099308, 0.0345759324570624, 0, 0.0200301488483181}; +Point(49) = {0.0823277501897034, 0.0355237848390759, 0, 0.0206628478249333}; +Point(50) = {0.103379807522397, 0.0349855032513773, 0, 0.0205991384034411}; +Point(51) = {0.123474008661671, 0.0334541410014759, 0, 0.0201394062533854}; +Point(52) = {0.143471123268731, 0.0311036044011568, 0, 0.0202761075806219}; +Point(53) = {0.163674821009299, 0.0281271492542872, 0, 0.0202149424587974}; +Point(54) = {0.183404953717206, 0.0247897481973451, 0, 0.0232901150349838}; +Point(55) = {0.209481411561047, 0.0196729139017771, 0, 0.0312100576866921}; +Point(56) = {0.244446696962101, 0.0117445810902932, 0, 0.0286832234538724}; +Point(57) = {0.265325470454963, 0.00654468793358354, 0, 0.0207334406268184}; +Point(58) = {0.284610938598925, 0.0014326494263408, 0, 0.0247858400722505}; +Point(59) = {0.313115619433306, -0.00662547277069381, 0, 0.0315763212379621}; +Point(60) = {0.345209121186304, -0.0163470164534945, 0, 0.0269595988553551}; +Point(61) = {0.364623795903282, -0.0225687358778646, 0, 0.0201762380960724}; +Point(62) = {0.383560899703301, -0.028895459361713, 0, 0.0263768059081484}; +Point(63) = {0.414499824570811, -0.039753767853987, 0, 0.0314815669366757}; +Point(64) = {0.442803366622299, -0.0502188348099153, 0, 0.0251907852911001}; +Point(65) = {0.461657927737907, -0.0574855461069077, 0, 0.0202813954602051}; +Point(66) = {0.480567718212488, -0.0650240283657424, 0, 0.0345689190526605}; +Point(67) = {0.525476159382051, -0.0840801690162847, 0, 0.0509161357722141}; +Point(68) = {0.573569760210408, -0.106502115497568, 0, 0.0377704634887952}; +Point(69) = {0.593641185590719, -0.116637208970882, 0, 0.0215545710347929}; +Point(70) = {0.611853135692119, -0.12632082614438, 0, 0.0232824630008295}; +Point(71) = {0.6345362820689, -0.138905648915796, 0, 0.0245691146248024}; +Point(72) = {0.654607472593212, -0.150541318499709, 0, 0.0216746077040628}; +Point(73) = {0.671877149041675, -0.160924144101017, 0, 0.020039776040139}; +Point(74) = {0.688829038241941, -0.171404082925965, 0, 0.0199313326257925}; +Point(75) = {0.705666443697942, -0.182073982104933, 0, 0.0203483985919353}; +Point(76) = {0.723082307259842, -0.193380043942776, 0, 0.0208984345604876}; +Point(77) = {0.740627042628023, -0.204981072508691, 0, 0.0205022842167705}; +Point(78) = {0.757227109479332, -0.216084825681715, 0, 0.0199488079755526}; +Point(79) = {0.773721081148063, -0.22726569440398, 0, 0.019930493258262}; +Point(80) = {0.790139826510799, -0.238571517383188, 0, 0.0199906905194793}; +Point(81) = {0.806605436325771, -0.250006187237882, 0, 0.0200511656312841}; +Point(82) = {0.823045171736949, -0.261493891349264, 0, 0.0200019407150932}; +Point(83) = {0.839374748026521, -0.272951398941841, 0, 0.0199407431580142}; +Point(84) = {0.855684671056675, -0.284411047257735, 0, 0.0204326841823021}; +Point(85) = {0.87281166103206, -0.296445040214211, 0, 0.0209959263379308}; +Point(86) = {0.890043381875916, -0.308552188117086, 0, 0.0204969709593783}; +Point(87) = {0.906283957295287, -0.320111655031399, 0, 0.0199342952520923}; +Point(88) = {0.922646453893173, -0.33149873913958, 0, 0.0200934255210673}; +Point(89) = {0.939873146133408, -0.342174052677162, 0, 0.0107766691144685}; +Point(90) = {0.939962, -0.344333, 0, 0.00209496573682432}; +Point(91) = {0.940097, -0.346358, 0, 0.00197302185745622}; +Point(92) = {0.939468, -0.348248, 0, 0.00189612743506337}; +Point(93) = {0.938446, -0.349772, 0, 0.00183495504032115}; +Point(94) = {30, 15, 0, 5}; +Point(95) = {-15, 15, 0, 5}; +Point(96) = {-15, -15, 0, 5}; +Point(97) = {30, -15, 0, 5}; +//Additional stearing triangles +Point(98) = {26, 3.2, 0, 1.5}; +Point(99) = {24.5, 3.2, 0, 1.5}; +Point(100) = {26, 4.7, 0, 1.5}; +Point(101) = {26, -1.3, 0, 1.5}; +Point(102) = {24.5, -1.3, 0, 1.5}; +Point(103) = {26, -2.8, 0, 1.5}; + +//now the list of lines +Line(1) = {2,1}; +Line(2) = {3,2}; +Line(3) = {4,3}; +Line(4) = {5,4}; +Line(5) = {6,5}; +Line(6) = {7,6}; +Line(7) = {8,7}; +Line(8) = {9,8}; +Line(9) = {10,9}; +Line(10) = {11,10}; +Line(11) = {12,11}; +Line(12) = {13,12}; +Line(13) = {14,13}; +Line(14) = {15,14}; +Line(15) = {16,15}; +Line(16) = {17,16}; +Line(17) = {18,17}; +Line(18) = {19,18}; +Line(19) = {20,19}; +Line(20) = {21,20}; +Line(21) = {22,21}; +Line(22) = {23,22}; +Line(23) = {24,23}; +Line(24) = {25,24}; +Line(25) = {26,25}; +Line(26) = {27,26}; +Line(27) = {28,27}; +Line(28) = {29,28}; +Line(29) = {30,29}; +Line(30) = {31,30}; +Line(31) = {32,31}; +Line(32) = {33,32}; +Line(33) = {34,33}; +Line(34) = {35,34}; +Line(35) = {36,35}; +Line(36) = {37,36}; +Line(37) = {38,37}; +Line(38) = {39,38}; +Line(39) = {40,39}; +Line(40) = {41,40}; +Line(41) = {42,41}; +Line(42) = {43,42}; +Line(43) = {44,43}; +Line(44) = {45,44}; +Line(45) = {46,45}; +Line(46) = {47,46}; +Line(47) = {48,47}; +Line(48) = {49,48}; +Line(49) = {50,49}; +Line(50) = {51,50}; +Line(51) = {52,51}; +Line(52) = {53,52}; +Line(53) = {54,53}; +Line(54) = {55,54}; +Line(55) = {56,55}; +Line(56) = {57,56}; +Line(57) = {58,57}; +Line(58) = {59,58}; +Line(59) = {60,59}; +Line(60) = {61,60}; +Line(61) = {62,61}; +Line(62) = {63,62}; +Line(63) = {64,63}; +Line(64) = {65,64}; +Line(65) = {66,65}; +Line(66) = {67,66}; +Line(67) = {68,67}; +Line(68) = {69,68}; +Line(69) = {70,69}; +Line(70) = {71,70}; +Line(71) = {72,71}; +Line(72) = {73,72}; +Line(73) = {74,73}; +Line(74) = {75,74}; +Line(75) = {76,75}; +Line(76) = {77,76}; +Line(77) = {78,77}; +Line(78) = {79,78}; +Line(79) = {80,79}; +Line(80) = {81,80}; +Line(81) = {82,81}; +Line(82) = {83,82}; +Line(83) = {84,83}; +Line(84) = {85,84}; +Line(85) = {86,85}; +Line(86) = {87,86}; +Line(87) = {88,87}; +Line(88) = {89,88}; +Line(89) = {90,89}; +Line(90) = {91,90}; +Line(91) = {92,91}; +Line(92) = {93,92}; +Line(93) = {1,93}; +Line(94) = {95,94}; +Line(95) = {96,95}; +Line(96) = {97,96}; +Line(97) = {94,97}; +Line(98) = {99,98}; +Line(99) = {100,99}; +Line(100) = {98,100}; +Line(101) = {102,101}; +Line(102) = {103,102}; +Line(103) = {101,103}; +Line Loop(104) = {96,95,94,97}; +Line Loop(105) = {102,101,103}; +Line Loop(106) = {98,100,99}; +Line Loop(107) = {66,65,64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67}; +Plane Surface(108) = {104,105,106,107}; diff --git a/benchmarks/2d/many_holes.geo b/benchmarks/2d/many_holes.geo new file mode 100644 index 0000000000000000000000000000000000000000..2b8c9c9c941105e8d23e87de9e9cd9da6add1773 --- /dev/null +++ b/benchmarks/2d/many_holes.geo @@ -0,0 +1,48 @@ +Point(1) = {0,0,0,50}; +Point(2) = {1473.175,0,0,50}; +Point(3) = {0,1473.75,0,50}; + +Circle (1) = {2,1,3}; +Line (2) = {1,2}; +Line (3) = {1,3}; + +Line Loop(10) = {1,-3,2}; + +//Définition d'une fonction créatrice d'un cercle + +Function TubeHole + + p1 = newp; Point(p1) = {x,y,0,8}; + p2 = newp; Point(p2) = {x+r,y,0,8}; + p3 = newp; Point(p3) = {x,y+r,0,8}; + p4 = newp; Point(p4) = {x-0.71*r,y-0.71*r,0,8}; + +c1 = newreg; Circle(c1) = {p2,p1,p3}; +c2 = newreg; Circle(c2) = {p3,p1,p4}; +c3 = newreg; Circle(c3) = {p4,p1,p2}; + +Line Loop(10+K) = {c1,c2,c3}; + + +Return + +r=11.3; +y=0; +K=0; + +For J In {1:46} + x=0; + y+=31.353; + For I In {1:46} + x+=31.353; + If ((x*x+y*y)<1960000) + K+=1; + Call TubeHole; + EndIf + EndFor +EndFor + +Plane Surface (20) = {10,11:(10+K)}; + +//Physical Surface (30) = {20}; + diff --git a/benchmarks/3d/inducteur_cenaero.geo b/benchmarks/3d/inducteur_cenaero.geo new file mode 100644 index 0000000000000000000000000000000000000000..5ce27e1aed49d088626c692538ffe2694456451c --- /dev/null +++ b/benchmarks/3d/inducteur_cenaero.geo @@ -0,0 +1,100 @@ +//Core1 + +Point(1) = {0, 0, 0, 2};Point(100) = {0, 0, 1, 2}; +Point(2) = {0, 5, 1, 2}; +Point(3) = {5, 0, 1, 2}; +Point(4) = {-5, 0, 1, 2}; +Point(5) = {0, -5, 1, 2}; +Point(6) = {0, 6, 0, 2}; +Point(7) = {6, 0, 0, 2}; +Point(8) = {-6, 0, 0, 2}; +Point(9) = {0, -6, 0, 2}; +Point(10) = {0, 8, 0, 2}; +Point(11) = {8, 0, 0, 2}; +Point(12) = {-8, 0, 0, 2}; +Point(13) = {0, -8, 0, 2}; +Circle(1) = {7,1,6}; +Circle(2) = {6,1,8}; +Circle(3) = {8,1,9}; +Circle(4) = {9,1,7}; +Circle(5) = {11,1,10}; +Circle(6) = {10,1,12}; +Circle(7) = {12,1,13}; +Circle(8) = {13,1,11}; +Line Loop(9) = {1,2,3,4}; +Line Loop(10) = {5,6,7,8}; +Extrude Line {2, {0.0,0.0,10}}; +Extrude Line {3, {0.0,0.0,10}}; +Extrude Line {4, {0.0,0.0,10}}; +Extrude Line {1, {0.0,0.0,10}}; +Extrude Line {5, {0.0,0.0,10}}; +Extrude Line {6, {0.0,0.0,10}}; +Extrude Line {7, {0.0,0.0,10}}; +Extrude Line {8, {0.0,0.0,10}}; +Line Loop(43) = {31,35,39,27}; +Line Loop(44) = {11,15,19,23}; +Plane Surface(45) = {43,44}; +Plane Surface(46) = {10,9}; + +Surface Loop(47) = {34,-46,30,45,38,42,-26,-14,-18,-22}; +Volume(100000) = {47}; + +//Core2 + +Circle(100001) = {3,100,2}; +Circle(100002) = {2,100,4}; +Circle(100003) = {4,100,5}; +Circle(100004) = {5,100,3}; +Extrude Line {100003, {0.0,0.0,15}}; +Extrude Line {100004, {0.0,0.0,15}}; +Extrude Line {100001, {0.0,0.0,15}}; +Extrude Line {100002, {0.0,0.0,15}}; +Line Loop(100021) = {100013,100017,100005,100009}; +Plane Surface(100022) = {100021}; +Line Loop(100023) = {100004,100001,100002,100003}; +Plane Surface(100024) = {100023}; + +Surface Loop(100025) = {100022,100016,-100024,100012,100008,100020}; +Volume(100026) = {100025}; + +//Air + +Point(128) = {20,0,0,2}; +Point(129) = {-20,0,0,2}; +Point(130) = {0,20,0,2}; +Point(131) = {0,-20,0,2}; +Point(132) = {0,0,20,2}; +Point(133) = {0,0,-20,2}; +Circle(100027) = {128,1,130}; +Circle(100028) = {130,1,129}; +Circle(100029) = {129,1,131}; +Circle(100030) = {131,1,128}; +Circle(100031) = {130,1,132}; +Circle(100032) = {132,1,131}; +Circle(100033) = {130,1,133}; +Circle(100034) = {133,1,131}; +Circle(100035) = {129,1,132}; +Circle(100036) = {132,1,128}; +Circle(100037) = {128,1,133}; +Circle(100038) = {133,1,129}; + +Line Loop(100039) = {100036,100027,100031}; +Ruled Surface(100040) = {100039}; +Line Loop(100041) = {100031,-100035,-100028}; +Ruled Surface(100042) = {100041}; +Line Loop(100043) = {100035,100032,-100029}; +Ruled Surface(100044) = {100043}; +Line Loop(100045) = {100032,100030,-100036}; +Ruled Surface(100046) = {100045}; +Line Loop(100047) = {100028,-100038,-100033}; +Ruled Surface(100048) = {100047}; +Line Loop(100049) = {100033,-100037,100027}; +Ruled Surface(100050) = {100049}; +Line Loop(100051) = {100037,100034,100030}; +Ruled Surface(100052) = {100051}; +Line Loop(100053) = {100034,-100029,-100038}; +Ruled Surface(100054) = {100053}; + +Surface Loop(100055) = {100042,-100040,-100046,100044,-100054,100052,100050,100048}; + +Volume(100056) = {100055,47,100025}; diff --git a/benchmarks/3d/plate_extrude.geo b/benchmarks/3d/plate_extrude.geo new file mode 100644 index 0000000000000000000000000000000000000000..7627d5157b579bbc084b64ded007d3482b12322a --- /dev/null +++ b/benchmarks/3d/plate_extrude.geo @@ -0,0 +1,22 @@ +// This works fine; examine memory usage, though... + +// Grosseur maille (mm) +lc=1. ; +// def. des points (par ex. zmax - zmin = hauteur passage, zmin position sortie, etc) +xmin = -260. ; +xmax = 302. ; +ymin = -75. ; +ymax = 69. ; +zmin = -184. ; +zmax = -180. ; +Point (1) = {xmin,ymin,zmin,lc} ; +Point (2) = {xmax,ymin,zmin,lc} ; +Point (3) = {xmax,ymax,zmin,lc} ; +Point (4) = {xmin,ymax,zmin,lc} ; +Line(1) = {1,2} ; +Line(2) = {2,3} ; +Line(3) = {3,4} ; +Line(4) = {4,1} ; +Line Loop(23) = {3,4,1,2} ; +Plane Surface(24)={23} ; +Extrude Surface{24, {0,0,zmax-zmin}} {Layers{3,1};}; diff --git a/benchmarks/3d/plate_notextrude.geo b/benchmarks/3d/plate_notextrude.geo new file mode 100644 index 0000000000000000000000000000000000000000..9a3e5b0e0f548f8ae248ea198b4610558b80bbb7 --- /dev/null +++ b/benchmarks/3d/plate_notextrude.geo @@ -0,0 +1,52 @@ +// Grosseur maille (mm) +lc=1. ; +// def. des points (par ex. zmax - zmin = hauteur passage, zmin position sortie, etc) +xmin = -260. ; +xmax = 302. ; +ymin = -75. ; +ymax = 69. ; +zmin = -184. ; +zmax = -180. ; +// def du parallelipipede: +// (xmin, ymin, zmin) +// (xmax, ymin, zmin) +// (xmax, ymax, zmin) +//( xmin, ymax, zmin) +// (xmin, ymin, zpass) +// (xmax, ymin, zpass) +// (xmax, ymax, zpass) +//( xmin, ymax, zpass) +Point (1) = {xmin,ymin,zmin,lc} ; +Point (2) = {xmax,ymin,zmin,lc} ; +Point (3) = {xmax,ymax,zmin,lc} ; +Point (4) = {xmin,ymax,zmin,lc} ; +Point (5) = {xmin,ymin,zmax,lc} ; +Point (6) = {xmax,ymin,zmax,lc} ; +Point (7) = {xmax,ymax,zmax,lc} ; +Point (8) = {xmin,ymax,zmax,lc} ; +Line(1) = {1,2} ; +Line(2) = {2,3} ; +Line(3) = {3,4} ; +Line(4) = {4,1} ; +Line(5) = {2,6} ; +Line(6) = {6,7} ; +Line(7) = {7,3} ; +Line(8) = {5,6} ; +Line(9) = {7,8} ; +Line(10) = {1,5} ; +Line(11) = {4,8} ; +Line(12) = {5,8} ; +Line Loop(13) = {1,5,-8,-10} ; +Plane Surface(14)={13} ; +Line Loop(15) = {-5,2,-7,-6} ; +Plane Surface(16)={15} ; +Line Loop(17) = {-9,7,3,11} ; +Plane Surface(18)={17} ; +Line Loop(19) = {-4,11,-12,-10} ; +Plane Surface(20)={19} ; +Line Loop(21) = {9,-12,8,6} ; +Plane Surface(22)={21} ; +Line Loop(23) = {3,4,1,2} ; +Plane Surface(24)={23} ; +Surface Loop(25)={-14,16,18,20,22,24}; +Volume (26)={25}; \ No newline at end of file diff --git a/benchmarks/misc/adaptive_view.pos.gz b/benchmarks/misc/adaptive_view.pos.gz new file mode 100644 index 0000000000000000000000000000000000000000..6b215b5b127a2399a501198302e4dc45e0855a17 Binary files /dev/null and b/benchmarks/misc/adaptive_view.pos.gz differ