diff --git a/benchmarks/3d/core_coil.geo b/benchmarks/3d/core_coil.geo new file mode 100644 index 0000000000000000000000000000000000000000..c45163022fb1a555737cdb44141ffa568aa7b655 --- /dev/null +++ b/benchmarks/3d/core_coil.geo @@ -0,0 +1,590 @@ + +Mesh.CharacteristicLengthFactor = 0.7; // 32,000 tets +//Mesh.CharacteristicLengthFactor = 0.5; // 91,000 tets +//Mesh.CharacteristicLengthFactor = 0.4; // 163,000 tets +//Mesh.CharacteristicLengthFactor = 0.3; // 340,000 tets + +R1 = 1.e-3; +R2 = 1.5e-3; + +h1 = 0.7e-3; +h2 = 0.1e-3; +h3 = 1.e-3; +h4 = 2.01e-3; + +w1 = 1.1e-3; +w2 = 3.005e-3; + +hm = 5e-3; +Rm = 7e-3; + +w = 0.5e-3; + +p0 = 1.5e-3; // center coils +p3 = 3e-3; +p7 = 0.5e-3; // coils inside +p8 = 0.6e-3; // coils outside +p9 = 0.3e-3; + +Point(101) = {0,0,h1,p0}; +Point(102) = {+R1,0,h1,p7}; +Point(103) = {+R2,0,h1,p8}; +Point(104) = {-R1,0,h1,p7}; +Point(105) = {-R2,0,h1,p8}; +Point(106) = {0,R1,h1,p7}; +Point(107) = {0,-R1,h1,p7}; +Point(108) = {0,R2,h1,p8}; +Point(109) = {0,-R2,h1,p8}; + +Point(201) = {0,0,-h1,p0}; +Point(202) = {+R1,0,-h1,p7}; +Point(203) = {+R2,0,-h1,p8}; +Point(204) = {-R1,0,-h1,p7}; +Point(205) = {-R2,0,-h1,p8}; +Point(206) = {0,R1,-h1,p7}; +Point(207) = {0,-R1,-h1,p7}; +Point(208) = {0,R2,-h1,p8}; +Point(209) = {0,-R2,-h1,p8}; + +Point(1101) = {0,0,h2,p0}; +Point(1102) = {+R1,0,h2,p7}; +Point(1103) = {+R2,0,h2,p8}; +Point(1104) = {-R1,0,h2,p7}; +Point(1105) = {-R2,0,h2,p8}; +Point(1106) = {0,R1,h2,p7}; +Point(1107) = {0,-R1,h2,p7}; +Point(1108) = {0,R2,h2,p8}; +Point(1109) = {0,-R2,h2,p8}; + +Point(1201) = {0,0,-h2,p0}; +Point(1202) = {+R1,0,-h2,p7}; +Point(1203) = {+R2,0,-h2,p8}; +Point(1204) = {-R1,0,-h2,p7}; +Point(1205) = {-R2,0,-h2,p8}; +Point(1206) = {0,R1,-h2,p7}; +Point(1207) = {0,-R1,-h2,p7}; +Point(1208) = {0,R2,-h2,p8}; +Point(1209) = {0,-R2,-h2,p8}; + +Circle(1) = {102,101,106}; +Circle(2) = {106,101,104}; +Circle(3) = {104,101,107}; +Circle(4) = {107,101,102}; +Circle(5) = {103,101,108}; +Circle(6) = {108,101,105}; +Circle(7) = {105,101,109}; +Circle(8) = {109,101,103}; +Circle(9) = {202,201,206}; +Circle(10) = {206,201,204}; +Circle(11) = {204,201,207}; +Circle(12) = {207,201,202}; +Circle(13) = {203,201,208}; +Circle(14) = {208,201,205}; +Circle(15) = {205,201,209}; +Circle(16) = {209,201,203}; + +Circle(101) = {1102,1101,1106}; +Circle(102) = {1106,1101,1104}; +Circle(103) = {1104,1101,1107}; +Circle(104) = {1107,1101,1102}; +Circle(105) = {1103,1101,1108}; +Circle(106) = {1108,1101,1105}; +Circle(107) = {1105,1101,1109}; +Circle(108) = {1109,1101,1103}; +Circle(109) = {1202,1201,1206}; +Circle(1010) = {1206,1201,1204}; +Circle(1011) = {1204,1201,1207}; +Circle(1012) = {1207,1201,1202}; +Circle(1013) = {1203,1201,1208}; +Circle(1014) = {1208,1201,1205}; +Circle(1015) = {1205,1201,1209}; +Circle(1016) = {1209,1201,1203}; + +Point(2101) = {0,0,hm,p3}; +Point(2102) = {+Rm,0,hm,p3}; +Point(2104) = {-Rm,0,hm,p3}; +Point(2106) = {0,Rm,hm,p3}; +Point(2107) = {0,-Rm,hm,p3}; +Point(2201) = {0,0,-hm,p3}; +Point(2202) = {+Rm,0,-hm,p3}; +Point(2204) = {-Rm,0,-hm,p3}; +Point(2206) = {0,Rm,-hm,p3}; +Point(2207) = {0,-Rm,-hm,p3}; + +Point(3202) = {+Rm,0,h2,p3}; +Point(3204) = {-Rm,0,h2,p3}; +Point(3206) = {0,Rm,h2,p3}; +Point(3207) = {0,-Rm,h2,p3}; +Point(3302) = {+Rm,0,-h2,p3}; +Point(3304) = {-Rm,0,-h2,p3}; +Point(3306) = {0,Rm,-h2,p3}; +Point(3307) = {0,-Rm,-h2,p3}; + +Line(1017) = {203,1203}; +Line(1018) = {1203,1103}; +Line(1019) = {1103,103}; +Line(1020) = {208,1208}; +Line(1021) = {1208,1108}; +Line(1022) = {1108,108}; +Line(1023) = {209,1209}; +Line(1024) = {1209,1109}; +Line(1025) = {1109,109}; +Line(1026) = {205,1205}; +Line(1027) = {1205,1105}; +Line(1028) = {1105,105}; +Line(1029) = {207,1207}; +Line(1030) = {1207,1107}; +Line(1031) = {1107,107}; +Line(1032) = {202,1202}; +Line(1033) = {1202,1102}; +Line(1034) = {1102,102}; +Line(1035) = {206,1206}; +Line(1036) = {1206,1106}; +Line(1037) = {1106,106}; +Line(1038) = {204,1204}; +Line(1039) = {1204,1104}; +Line(1040) = {1104,104}; + +Circle(1041) = {2102,2101,2106}; +Circle(1042) = {2106,2101,2104}; +Circle(1043) = {2104,2101,2107}; +Circle(1044) = {2107,2101,2102}; + +Circle(1045) = {3206,1101,3204}; +Circle(1046) = {3204,1101,3207}; +Circle(1047) = {3207,1101,3202}; +Circle(1048) = {3202,1101,3206}; +Circle(1049) = {3306,1201,3302}; +Circle(1050) = {3302,1201,3307}; + +Circle(1051) = {3307,1201,3304}; +Circle(1052) = {3304,1201,3306}; +Circle(1053) = {2204,2201,2207}; +Circle(1054) = {2207,2201,2202}; +Circle(1055) = {2202,2201,2206}; +Circle(1056) = {2206,2201,2204}; + +Line(1057) = {2206,3306}; +Line(1058) = {3306,3206}; +Line(1059) = {3206,2106}; +Line(1060) = {2204,3304}; +Line(1061) = {3304,3204}; +Line(1062) = {3204,2104}; +Line(1063) = {2207,3307}; +Line(1064) = {3307,3207}; +Line(1065) = {3207,2107}; +Line(1066) = {2202,3302}; +Line(1067) = {3302,3202}; +Line(1068) = {3202,2102}; + +Line Loop(1069) = {1016,1013,1014,1015}; +Line Loop(1070) = {109,1010,1011,1012}; +Plane Surface(1071) = {1069,1070}; +Line Loop(1072) = {106,107,108,105}; +Line Loop(1073) = {103,104,101,102}; +Plane Surface(1074) = {1072,1073}; +Line Loop(1081) = {5,6,7,8}; +Line Loop(1082) = {3,4,1,2}; +Plane Surface(1083) = {1081,1082}; +Line Loop(1085) = {16,13,14,15}; +Line Loop(1086) = {9,10,11,12}; +Plane Surface(1087) = {1085,1086}; +Line Loop(1089) = {1041,1042,1043,1044}; +Plane Surface(1090) = {1089}; +Line Loop(1091) = {1055,1056,1053,1054}; +Plane Surface(1092) = {1091}; +Line Loop(1093) = {-1062,-1045,1059,1042}; +Ruled Surface(1094) = {1093}; +Line Loop(1095) = {-1057,1056,1060,1052}; +Ruled Surface(1096) = {1095}; +Line Loop(1097) = {-1045,-1058,-1052,1061}; +Ruled Surface(1098) = {1097}; +Line Loop(1099) = {1059,-1041,-1068,1048}; +Ruled Surface(1100) = {1099}; +Line Loop(1101) = {-1048,-1067,-1049,1058}; +Ruled Surface(1102) = {1101}; +Line Loop(1103) = {-1066,1055,1057,1049}; +Ruled Surface(1104) = {1103}; +Line Loop(1105) = {1068,-1044,-1065,1047}; +Ruled Surface(1106) = {1105}; +Line Loop(1107) = {-1047,-1064,-1050,1067}; +Ruled Surface(1108) = {1107}; +Line Loop(1109) = {1050,-1063,1054,1066}; +Ruled Surface(1110) = {1109}; +Line Loop(1111) = {-1043,-1062,1046,1065}; +Ruled Surface(1112) = {1111}; +Line Loop(1113) = {-1046,-1061,-1051,1064}; +Ruled Surface(1114) = {1113}; +Line Loop(1115) = {1063,1051,-1060,1053}; +Ruled Surface(1116) = {1115}; +Line Loop(1117) = {1022,-5,-1019,105}; +Ruled Surface(1118) = {1117}; +Line Loop(1119) = {8,-1019,-108,1025}; +Ruled Surface(1120) = {1119}; +Line Loop(1121) = {-7,-1028,107,1025}; +Ruled Surface(1122) = {1121}; +Line Loop(1123) = {-6,-1022,106,1028}; +Ruled Surface(1124) = {1123}; +Line Loop(1125) = {108,-1018,-1016,1024}; +Ruled Surface(1126) = {1125}; +Line Loop(1127) = {-107,-1027,1015,1024}; +Ruled Surface(1128) = {1127}; +Line Loop(1129) = {106,-1027,-1014,1021}; +Ruled Surface(1130) = {1129}; +Line Loop(1131) = {105,-1021,-1013,1018}; +Ruled Surface(1132) = {1131}; +Line Loop(1133) = {1017,-1016,-1023,16}; +Ruled Surface(1134) = {1133}; +Line Loop(1135) = {-1013,-1017,13,1020}; +Ruled Surface(1136) = {1135}; +Line Loop(1137) = {-1014,-1020,14,1026}; +Ruled Surface(1138) = {1137}; +Line Loop(1139) = {-1023,-15,1026,1015}; +Ruled Surface(1140) = {1139}; +Line Loop(1141) = {-1010,-1035,10,1038}; +Ruled Surface(1142) = {1141}; +Line Loop(1143) = {-109,-1032,9,1035}; +Ruled Surface(1144) = {1143}; +Line Loop(1145) = {-1012,-1029,12,1032}; +Ruled Surface(1146) = {1145}; +Line Loop(1147) = {1029,-1011,-1038,11}; +Ruled Surface(1148) = {1147}; +Line Loop(1149) = {-104,-1030,1012,1033}; +Ruled Surface(1150) = {1149}; +Line Loop(1151) = {-101,-1033,109,1036}; +Ruled Surface(1152) = {1151}; +Line Loop(1153) = {102,-1039,-1010,1036}; +Ruled Surface(1154) = {1153}; +Line Loop(1155) = {1030,-103,-1039,1011}; +Ruled Surface(1156) = {1155}; +Line Loop(1157) = {4,-1034,-104,1031}; +Ruled Surface(1158) = {1157}; +Line Loop(1159) = {3,-1031,-103,1040}; +Ruled Surface(1160) = {1159}; +Line Loop(1161) = {-2,-1037,102,1040}; +Ruled Surface(1162) = {1161}; +Line Loop(1163) = {-1,-1034,101,1037}; +Ruled Surface(1164) = {1163}; + +Point(10001) = {w,w,h1,p9}; +Point(10002) = {w,-w,h1,p9}; +Point(10003) = {-w,w,h1,p9}; +Point(10004) = {-w,-w,h1,p9}; + +Point(10011) = {w,w,h2,p9}; +Point(10012) = {w,-w,h2,p9}; +Point(10013) = {-w,w,h2,p9}; +Point(10014) = {-w,-w,h2,p9}; + +Point(20001) = {w,w,-h1,p9}; +Point(20002) = {w,-w,-h1,p9}; +Point(20003) = {-w,w,-h1,p9}; +Point(20004) = {-w,-w,-h1,p9}; + +Point(20011) = {w,w,-h2,p9}; +Point(20012) = {w,-w,-h2,p9}; +Point(20013) = {-w,w,-h2,p9}; +Point(20014) = {-w,-w,-h2,p9}; + +Line(1173) = {10004,10003}; +Line(1174) = {10003,10001}; +Line(1175) = {10001,10002}; +Line(1176) = {10002,10004}; +Line(1177) = {10014,10013}; +Line(1178) = {10013,10011}; +Line(1179) = {10011,10012}; +Line(1180) = {10012,10014}; +Line(1181) = {20014,20013}; +Line(1182) = {20013,20011}; +Line(1183) = {20011,20012}; +Line(1184) = {20012,20014}; +Line(1185) = {20004,20003}; +Line(1186) = {20003,20001}; +Line(1187) = {20001,20002}; +Line(1188) = {20002,20004}; +Line(1189) = {20004,20014}; +Line(1190) = {20014,10014}; +Line(1191) = {10014,10004}; +Line(1192) = {20002,20012}; +Line(1193) = {20012,10012}; +Line(1194) = {10012,10002}; +Line(1195) = {20001,20011}; +Line(1196) = {20011,10011}; +Line(1197) = {10011,10001}; +Line(1198) = {20003,20013}; +Line(1199) = {20013,10013}; +Line(1200) = {10013,10003}; + +Line Loop(1201) = {1176,1173,1174,1175}; +Plane Surface(1202) = {1082,1201}; +Line Loop(1203) = {1180,1177,1178,1179}; +Plane Surface(1204) = {1073,1203}; +Line Loop(1205) = {1181,1182,1183,1184}; +Plane Surface(1206) = {1070,1205}; +Line Loop(1207) = {1185,1186,1187,1188}; +Plane Surface(1208) = {1086,1207}; +Plane Surface(1209) = {1207}; +Plane Surface(1210) = {1205}; +Plane Surface(1211) = {1203}; +Plane Surface(1212) = {1201}; +Line Loop(1213) = {1194,-1175,-1197,1179}; +Plane Surface(1214) = {1213}; +Line Loop(1215) = {1193,-1179,-1196,1183}; +Plane Surface(1216) = {1215}; +Line Loop(1217) = {1192,-1183,-1195,1187}; +Plane Surface(1218) = {1217}; +Line Loop(1219) = {1189,-1184,-1192,1188}; +Plane Surface(1220) = {1219}; +Line Loop(1221) = {1190,-1180,-1193,1184}; +Plane Surface(1222) = {1221}; +Line Loop(1223) = {1191,-1176,-1194,1180}; +Plane Surface(1224) = {1223}; +Line Loop(1225) = {-1181,-1189,1185,1198}; +Plane Surface(1226) = {1225}; +Line Loop(1227) = {1199,-1177,-1190,1181}; +Plane Surface(1228) = {1227}; +Line Loop(1229) = {1200,-1173,-1191,1177}; +Plane Surface(1230) = {1229}; +Line Loop(1231) = {1174,-1197,-1178,1200}; +Plane Surface(1232) = {1231}; +Line Loop(1233) = {1178,-1196,-1182,1199}; +Plane Surface(1234) = {1233}; +Line Loop(1235) = {-1195,-1186,1198,1182}; +Plane Surface(1236) = {1235}; + +Point(30001) = {w,w,h3,p9}; +Point(30002) = {w,-w,h3,p9}; +Point(30003) = {-w,w,h3,p9}; +Point(30004) = {-w,-w,h3,p9}; +Point(30005) = {w,w,-h3,p9}; +Point(30006) = {w,-w,-h3,p9}; +Point(30007) = {-w,w,-h3,p9}; +Point(30008) = {-w,-w,-h3,p9}; + +Point(30011) = {w1,w,h3,p9}; +Point(30012) = {w1,-w,h3,p9}; +Point(30013) = {-w,w,h4,p9}; +Point(30014) = {-w,-w,h4,p9}; +Point(30021) = {w,w,h4,p9}; +Point(30022) = {w,-w,h4,p9}; + +Point(30211) = {w1,w,-h3,p9}; +Point(30212) = {w1,-w,-h3,p9}; +Point(30213) = {-w,w,-h4,p9}; +Point(30214) = {-w,-w,-h4,p9}; +Point(30221) = {w,w,-h4,p9}; +Point(30222) = {w,-w,-h4,p9}; + +Point(30311) = {w2-w1,w,h3,p9}; +Point(30312) = {w2-w1,-w,h3,p9}; +Point(30313) = {w2+w,w,h4,p9}; +Point(30314) = {w2+w,-w,h4,p9}; +Point(30321) = {w2-w,w,h4,p9}; +Point(30322) = {w2-w,-w,h4,p9}; +Point(30401) = {w2-w,w,h3,p9}; +Point(30402) = {w2-w,-w,h3,p9}; +Point(30403) = {w2+w,w,h3,p9}; +Point(30404) = {w2+w,-w,h3,p9}; +Point(30441) = {w2-w,w,h1,p9}; +Point(30442) = {w2-w,-w,h1,p9}; + +Point(40311) = {w2-w1,w,-h3,p9}; +Point(40312) = {w2-w1,-w,-h3,p9}; +Point(40313) = {w2+w,w,-h4,p9}; +Point(40314) = {w2+w,-w,-h4,p9}; +Point(40321) = {w2-w,w,-h4,p9}; +Point(40322) = {w2-w,-w,-h4,p9}; +Point(40401) = {w2-w,w,-h3,p9}; +Point(40402) = {w2-w,-w,-h3,p9}; +Point(40403) = {w2+w,w,-h3,p9}; +Point(40404) = {w2+w,-w,-h3,p9}; +Point(40441) = {w2-w,w,-h1,p9}; +Point(40442) = {w2-w,-w,-h1,p9}; + +Line(1255) = {10004,30004}; +Line(1256) = {30004,30014}; +Line(1257) = {30014,30022}; +Line(1258) = {30022,30322}; +Line(1259) = {30322,30314}; +Line(1260) = {30314,30404}; +Line(1261) = {10002,30002}; +Line(1262) = {30002,30012}; +Line(1263) = {30012,30312}; +Line(1264) = {30312,30402}; +Line(1265) = {30402,30442}; +Line(1266) = {10003,30003}; +Line(1267) = {30003,30013}; +Line(1268) = {30013,30021}; +Line(1269) = {30021,30321}; +Line(1270) = {30321,30313}; +Line(1271) = {30313,30403}; +Line(1272) = {10001,30001}; +Line(1273) = {30001,30011}; +Line(1274) = {30011,30311}; +Line(1275) = {30311,30401}; +Line(1276) = {30401,30441}; +Line(1277) = {30014,30013}; +Line(1279) = {30002,30001}; +Line(1282) = {30402,30401}; +Line(1285) = {30314,30313}; + +Point(30541) = {w2-w,w,h2,p9}; +Point(30542) = {w2-w,-w,h2,p9}; +Point(30603) = {w2+w,w,h2,p9}; +Point(30604) = {w2+w,-w,h2,p9}; +Point(40541) = {w2-w,w,-h2,p9}; +Point(40542) = {w2-w,-w,-h2,p9}; +Point(40603) = {w2+w,w,-h2,p9}; +Point(40604) = {w2+w,-w,-h2,p9}; + +Line(1287) = {30442,30542}; +Line(1288) = {30441,30541}; +Line(1289) = {30541,30542}; +Line(1290) = {30404,30604}; +Line(1291) = {30403,30603}; +Line(1292) = {30603,30604}; +Line(1293) = {30604,30542}; +Line(1294) = {30541,30603}; +Line(1295) = {30542,40542}; +Line(1296) = {40542,40442}; +Line(1297) = {40442,40402}; +Line(1298) = {30541,40541}; +Line(1299) = {40541,40441}; +Line(1300) = {40441,40401}; +Line(1301) = {30604,40604}; +Line(1302) = {40604,40404}; +Line(1303) = {30603,40603}; +Line(1304) = {40603,40403}; +Line(1305) = {40402,40312}; +Line(1306) = {40312,30212}; +Line(1307) = {30212,30006}; +Line(1308) = {30006,20002}; +Line(1309) = {40403,40313}; +Line(1310) = {40313,40321}; +Line(1311) = {40321,30221}; +Line(1312) = {30213,30221}; +Line(1313) = {40404,40314}; +Line(1314) = {40314,40322}; +Line(1315) = {40322,30222}; +Line(1316) = {30222,30214}; +Line(1317) = {30214,30008}; +Line(1318) = {30213,30007}; +Line(1319) = {30213,30214}; +Line(1320) = {40313,40314}; +Line(1321) = {40401,40311}; +Line(1322) = {40311,30211}; +Line(1323) = {30211,30005}; +Line(1324) = {30005,20001}; +Line(1325) = {20003,30007}; +Line(1326) = {20004,30008}; +Line(1329) = {40604,40542}; +Line(1330) = {40542,40541}; +Line(1331) = {40541,40603}; +Line(1332) = {40603,40604}; + +Line Loop(1333) = {1263,1264,1265,1287,-1293,-1290,-1260,-1259,-1258,-1257,-1256,-1255,-1176,1261,1262}; +Plane Surface(1334) = {1333}; +Line Loop(1335) = {1268,1269,1270,1271,1291,-1294,-1288,-1276,-1275,-1274,-1273,-1272,-1174,1266,1267}; +Plane Surface(1336) = {1335}; +Line Loop(1337) = {1266,1267,-1277,-1256,-1255,1173}; +Plane Surface(1338) = {1337}; +Line Loop(1339) = {1279,-1272,1175,1261}; +Plane Surface(1340) = {1339}; +Line Loop(1341) = {1273,1274,1275,-1282,-1264,-1263,-1262,1279}; +Plane Surface(1342) = {1341}; +Line Loop(1343) = {-1287,-1265,1282,1276,1288,1289}; +Plane Surface(1344) = {1343}; +Line Loop(1345) = {-1270,-1269,-1268,-1277,1257,1258,1259,1285}; +Plane Surface(1346) = {1345}; +Line Loop(1347) = {-1290,-1260,1285,1271,1291,1292}; +Plane Surface(1348) = {1347}; +Line Loop(1349) = {1329,1330,1331,1332}; +Plane Surface(1350) = {1349}; +Line Loop(1351) = {1293,-1289,1294,1292}; +Plane Surface(1352) = {1351}; +Line Loop(1353) = {1331,-1303,-1294,1298}; +Plane Surface(1354) = {1353}; +Line Loop(1355) = {-1330,-1295,-1289,1298}; +Plane Surface(1356) = {1355}; +Line Loop(1357) = {1329,-1295,-1293,1301}; +Plane Surface(1358) = {1357}; +Line Loop(1359) = {-1332,-1303,1292,1301}; +Plane Surface(1360) = {1359}; +Line Loop(1361) = {-1313,-1302,-1332,1304,1309,1320}; +Plane Surface(1362) = {1361}; +Line(1363) = {40401,40402}; +Line(1364) = {30005,30006}; +Line Loop(1365) = {-1297,-1296,1330,1299,1300,1363}; +Plane Surface(1366) = {1365}; +Line Loop(1367) = {1305,1306,1307,1308,1188,1326,-1317,-1316,-1315,-1314,-1313,-1302,1329,1296,1297}; +Plane Surface(1368) = {1367}; +Line Loop(1369) = {1321,1322,1323,1324,-1186,1325,-1318,1312,-1311,-1310,-1309,-1304,-1331,1299,1300}; +Plane Surface(1370) = {1369}; +Line Loop(1371) = {-1316,-1315,-1314,-1320,1310,1311,-1312,1319}; +Plane Surface(1372) = {1371}; +Line Loop(1373) = {1317,-1326,1185,1325,-1318,1319}; +Plane Surface(1374) = {1373}; +Line Loop(1375) = {-1187,-1324,1364,1308}; +Plane Surface(1376) = {1375}; +Line Loop(1377) = {1305,1306,1307,-1364,-1323,-1322,-1321,1363}; +Plane Surface(1378) = {1377}; + +// coil top +Surface Loop(1379) = {1074,1124,1083,1118,1120,1122,1160,1158,1164,1162}; +Volume(1380) = {1379}; +// coil middle +Surface Loop(1381) = {1152,1074,1130,1128,1071,1126,1132,1154,1156,1150}; +Volume(1382) = {1381}; +// coil bottom +Surface Loop(1383) = {1071,1134,1136,1087,1138,1140,1144,1146,1148,1142}; +Volume(1384) = {1383}; + +// magnet inside coil, top +Surface Loop(1385) = {1211,1224,1230,1232,1212,1214}; +Volume(1386) = {1385}; +// air gap +Surface Loop(1387) = {1210,1228,1234,1211,1222,1216}; +Volume(1388) = {1387}; +// magnet inside coil, bottom +Surface Loop(1389) = {1209,1226,1210,1236,1218,1220}; +Volume(1390) = {1389}; + +// magnet outside coil, top +Surface Loop(100000) = {1352,1334,1342,1336,1346,1338,1212,1340,1348,1344}; +Volume(100001) = {100000}; +// magnet outside coil, middle +Surface Loop(100002) = {1350,1358,1356,1352,1354,1360}; +Volume(100003) = {100002}; +// magnet outside coil, bottom +Surface Loop(100004) = {1209,1374,1368,1378,1376,1370,1372,1362,1350,1366}; +Volume(100005) = {100004}; + +// 2 missing cut surfaces +Line Loop(100006) = {1047,1048,1045,1046}; +Plane Surface(100007) = {100006,1072,1351}; +Line Loop(100008) = {1049,1050,1051,1052}; +Plane Surface(100009) = {100008,1069,1349}; + +// cut volume, inside +Surface Loop(100010) = {1216,1222,1228,1234,1204,1156,1150,1206,1152,1154}; +Volume(100011) = {100010}; + +// cut volume, outside +Surface Loop(100012) = {1356,100009,1102,100007,1108,1114,1098,1130,1128,1126,1132,1358,1360,1354}; +Volume(100013) = {100012}; + +// air top +Surface Loop(100014) = {1202,1083,1118,1124,100007,1106,1100,1094,1112,1090,1122,1120,1334,1342,1336,1346,1338,1348,1344,1340}; +Volume(100015) = {100014}; + +// air "hole" top (above inside cut) +Surface Loop(100016) = {1214,1224,1230,1232,1202,1160,1158,1164,1204,1162}; +Volume(100017) = {100016}; + +// air "hole" bottom (below inside cut) +Surface Loop(100018) = {1236,1218,1220,1226,1206,1144,1146,1148,1142,1208}; +Volume(100019) = {100018}; + +// air bottom +Surface Loop(100020) = {1138,100009,1104,1110,1116,1096,1092,1134,1136,1087,1140,1208,1374,1368,1378,1376,1370,1372,1362,1366}; +Volume(100021) = {100020};