diff --git a/benchmarks/2d/naca12_2d.geo b/benchmarks/2d/naca12_2d.geo new file mode 100644 index 0000000000000000000000000000000000000000..2e19f9bbb945b7f9be9cc29f3aa28124cc213fe4 --- /dev/null +++ b/benchmarks/2d/naca12_2d.geo @@ -0,0 +1,233 @@ +// Alpha 666 (the number of the beast) MHz +// gmsh naca12.geo -clscale 1.0 -3 -> Elm=5567, 1.3 s +// gmsh naca12.geo -clscale 0.3 -3 -> Elm=152411, 66 s +// gmsh naca12.geo -clscale 0.15 -3 -> Elm=1057132, 968 s +// gmsh naca12.geo -clscale 0.11 -3 -> Elm=2541338, 3658 s (1.6 Gb = bcp trop) +// gmsh naca12.geo -clscale 0.09 -3 -> Elm=4770776, 19821.1 s (!)... +lc = 0.1; +Point(1) = {1.000000e+00,0.000000e+00,0.000000e+00,lc}; +Point(2) = {9.997533e-01,0.000000e+00,-3.498543e-05,lc}; +Point(3) = {9.990134e-01,0.000000e+00,-1.398841e-04,1.003943e-01}; +Point(4) = {9.977810e-01,0.000000e+00,-3.143904e-04,1.008856e-01}; +Point(5) = {9.960575e-01,0.000000e+00,-5.579769e-04,1.015708e-01}; +Point(6) = {9.938442e-01,0.000000e+00,-8.699747e-04,1.024472e-01}; +Point(7) = {9.911436e-01,0.000000e+00,-1.249551e-03,1.035112e-01}; +Point(8) = {9.879584e-01,0.000000e+00,-1.695579e-03,1.047586e-01}; +Point(9) = {9.842916e-01,0.000000e+00,-2.206860e-03,1.061847e-01}; +Point(10) = {9.801469e-01,0.000000e+00,-2.781989e-03,1.077836e-01}; +Point(11) = {9.755284e-01,0.000000e+00,-3.419365e-03,1.095491e-01}; +Point(12) = {9.704404e-01,0.000000e+00,-4.117359e-03,1.114743e-01}; +Point(13) = {9.648883e-01,0.000000e+00,-4.874101e-03,1.135515e-01}; +Point(14) = {9.588774e-01,0.000000e+00,-5.687566e-03,1.157726e-01}; +Point(15) = {9.524136e-01,0.000000e+00,-6.555737e-03,1.181288e-01}; +Point(16) = {9.455034e-01,0.000000e+00,-7.476377e-03,1.206107e-01}; +Point(17) = {9.381535e-01,0.000000e+00,-8.447210e-03,1.232086e-01}; +Point(18) = {9.303712e-01,0.000000e+00,-9.465891e-03,1.259123e-01}; +Point(19) = {9.221641e-01,0.000000e+00,-1.052998e-02,1.287110e-01}; +Point(20) = {9.135405e-01,0.000000e+00,-1.163695e-02,1.315937e-01}; +Point(21) = {9.045087e-01,0.000000e+00,-1.278429e-02,1.345491e-01}; +Point(22) = {8.950777e-01,0.000000e+00,-1.396934e-02,1.375654e-01}; +Point(23) = {8.852569e-01,0.000000e+00,-1.518951e-02,1.406308e-01}; +Point(24) = {8.750558e-01,0.000000e+00,-1.644214e-02,1.437333e-01}; +Point(25) = {8.644845e-01,0.000000e+00,-1.772453e-02,1.468604e-01}; +Point(26) = {8.535537e-01,0.000000e+00,-1.903398e-02,1.499999e-01}; +Point(27) = {8.422739e-01,0.000000e+00,-2.036772e-02,1.531394e-01}; +Point(28) = {8.306563e-01,0.000000e+00,-2.172309e-02,1.562666e-01}; +Point(29) = {8.187124e-01,0.000000e+00,-2.309725e-02,1.593690e-01}; +Point(30) = {8.064539e-01,0.000000e+00,-2.448751e-02,1.624344e-01}; +Point(31) = {7.938930e-01,0.000000e+00,-2.589105e-02,1.654508e-01}; +Point(32) = {7.810421e-01,0.000000e+00,-2.730503e-02,1.684061e-01}; +Point(33) = {7.679139e-01,0.000000e+00,-2.872668e-02,1.712889e-01}; +Point(34) = {7.545212e-01,0.000000e+00,-3.015313e-02,1.740876e-01}; +Point(35) = {7.408773e-01,0.000000e+00,-3.158154e-02,1.767913e-01}; +Point(36) = {7.269957e-01,0.000000e+00,-3.300894e-02,1.793892e-01}; +Point(37) = {7.128901e-01,0.000000e+00,-3.443245e-02,1.818711e-01}; +Point(38) = {6.985745e-01,0.000000e+00,-3.584905e-02,1.842273e-01}; +Point(39) = {6.840628e-01,0.000000e+00,-3.725576e-02,1.864484e-01}; +Point(40) = {6.693696e-01,0.000000e+00,-3.864942e-02,1.885256e-01}; +Point(41) = {6.545091e-01,0.000000e+00,-4.002701e-02,1.904508e-01}; +Point(42) = {6.394961e-01,0.000000e+00,-4.138529e-02,1.922163e-01}; +Point(43) = {6.243456e-01,0.000000e+00,-4.272101e-02,1.938153e-01}; +Point(44) = {6.090723e-01,0.000000e+00,-4.403092e-02,1.952413e-01}; +Point(45) = {5.936913e-01,0.000000e+00,-4.531165e-02,1.964888e-01}; +Point(46) = {5.782179e-01,0.000000e+00,-4.655984e-02,1.975528e-01}; +Point(47) = {5.626673e-01,0.000000e+00,-4.777199e-02,1.984291e-01}; +Point(48) = {5.470549e-01,0.000000e+00,-4.894463e-02,1.991143e-01}; +Point(49) = {5.313960e-01,0.000000e+00,-5.007425e-02,lc}; +Point(50) = {5.157061e-01,0.000000e+00,-5.115728e-02,1.999013e-01}; +Point(51) = {5.000008e-01,0.000000e+00,-5.219014e-02,2.000000e-01}; +Point(52) = {4.842954e-01,0.000000e+00,-5.316926e-02,1.999013e-01}; +Point(53) = {4.686055e-01,0.000000e+00,-5.409108e-02,1.996058e-01}; +Point(54) = {4.529467e-01,0.000000e+00,-5.495201e-02,1.991144e-01}; +Point(55) = {4.373342e-01,0.000000e+00,-5.574857e-02,1.984292e-01}; +Point(56) = {4.217836e-01,0.000000e+00,-5.647729e-02,1.975529e-01}; +Point(57) = {4.063102e-01,0.000000e+00,-5.713477e-02,1.964889e-01}; +Point(58) = {3.909292e-01,0.000000e+00,-5.771770e-02,1.952414e-01}; +Point(59) = {3.756559e-01,0.000000e+00,-5.822293e-02,1.938154e-01}; +Point(60) = {3.605053e-01,0.000000e+00,-5.864737e-02,1.922165e-01}; +Point(61) = {3.454924e-01,0.000000e+00,-5.898812e-02,1.904510e-01}; +Point(62) = {3.306319e-01,0.000000e+00,-5.924247e-02,1.885258e-01}; +Point(63) = {3.159386e-01,0.000000e+00,-5.940786e-02,1.864486e-01}; +Point(64) = {3.014269e-01,0.000000e+00,-5.948193e-02,1.842275e-01}; +Point(65) = {2.871112e-01,0.000000e+00,-5.946260e-02,1.818713e-01}; +Point(66) = {2.730056e-01,0.000000e+00,-5.934800e-02,1.793894e-01}; +Point(67) = {2.591240e-01,0.000000e+00,-5.913650e-02,1.767915e-01}; +Point(68) = {2.454802e-01,0.000000e+00,-5.882679e-02,1.740879e-01}; +Point(69) = {2.320875e-01,0.000000e+00,-5.841779e-02,1.712892e-01}; +Point(70) = {2.189592e-01,0.000000e+00,-5.790876e-02,1.684064e-01}; +Point(71) = {2.061082e-01,0.000000e+00,-5.729925e-02,1.654510e-01}; +Point(72) = {1.935473e-01,0.000000e+00,-5.658907e-02,1.624347e-01}; +Point(73) = {1.812888e-01,0.000000e+00,-5.577839e-02,1.593693e-01}; +Point(74) = {1.693449e-01,0.000000e+00,-5.486767e-02,1.562669e-01}; +Point(75) = {1.577273e-01,0.000000e+00,-5.385765e-02,1.531398e-01}; +Point(76) = {1.464474e-01,0.000000e+00,-5.274938e-02,1.500002e-01}; +Point(77) = {1.355165e-01,0.000000e+00,-5.154420e-02,1.468607e-01}; +Point(78) = {1.249452e-01,0.000000e+00,-5.024372e-02,1.437336e-01}; +Point(79) = {1.147441e-01,0.000000e+00,-4.884978e-02,1.406312e-01}; +Point(80) = {1.049232e-01,0.000000e+00,-4.736451e-02,1.375657e-01}; +Point(81) = {9.549212e-02,0.000000e+00,-4.579021e-02,1.345494e-01}; +Point(82) = {8.646032e-02,0.000000e+00,-4.412942e-02,1.315940e-01}; +Point(83) = {7.783660e-02,0.000000e+00,-4.238483e-02,1.287112e-01}; +Point(84) = {6.962952e-02,0.000000e+00,-4.055926e-02,1.259125e-01}; +Point(85) = {6.184718e-02,0.000000e+00,-3.865567e-02,1.232088e-01}; +Point(86) = {5.449721e-02,0.000000e+00,-3.667711e-02,1.206109e-01}; +Point(87) = {4.758692e-02,0.000000e+00,-3.462668e-02,1.181290e-01}; +Point(88) = {4.112309e-02,0.000000e+00,-3.250752e-02,1.157728e-01}; +Point(89) = {3.511214e-02,0.000000e+00,-3.032277e-02,1.135517e-01}; +Point(90) = {2.955997e-02,0.000000e+00,-2.807550e-02,1.114745e-01}; +Point(91) = {2.447206e-02,0.000000e+00,-2.576878e-02,1.095493e-01}; +Point(92) = {1.985344e-02,0.000000e+00,-2.340553e-02,1.077837e-01}; +Point(93) = {1.570869e-02,0.000000e+00,-2.098859e-02,1.061848e-01}; +Point(94) = {1.204184e-02,0.000000e+00,-1.852062e-02,1.047587e-01}; +Point(95) = {8.856565e-03,0.000000e+00,-1.600414e-02,1.035113e-01}; +Point(96) = {6.155997e-03,0.000000e+00,-1.344148e-02,1.024472e-01}; +Point(97) = {3.942788e-03,0.000000e+00,-1.083471e-02,1.015709e-01}; +Point(98) = {2.219111e-03,0.000000e+00,-8.185687e-03,1.008857e-01}; +Point(99) = {9.866953e-04,0.000000e+00,-5.496060e-03,1.003943e-01}; +Point(100) = {2.467632e-04,0.000000e+00,-2.767267e-03,lc}; +Point(101) = {0.000000e+00,0.000000e+00,1.911503e-39,1.000000e-01}; +Point(102) = {2.467632e-04,0.000000e+00,2.767267e-03,1.000987e-01}; +Point(103) = {9.866953e-04,0.000000e+00,5.496060e-03,1.003943e-01}; +Point(104) = {2.219111e-03,0.000000e+00,8.185687e-03,1.008857e-01}; +Point(105) = {3.942788e-03,0.000000e+00,1.083471e-02,1.015709e-01}; +Point(106) = {6.155997e-03,0.000000e+00,1.344148e-02,1.024472e-01}; +Point(107) = {8.856565e-03,0.000000e+00,1.600414e-02,1.035113e-01}; +Point(108) = {1.204184e-02,0.000000e+00,1.852062e-02,1.047587e-01}; +Point(109) = {1.570869e-02,0.000000e+00,2.098859e-02,1.061848e-01}; +Point(110) = {1.985344e-02,0.000000e+00,2.340553e-02,1.077837e-01}; +Point(111) = {2.447206e-02,0.000000e+00,2.576878e-02,1.095493e-01}; +Point(112) = {2.955997e-02,0.000000e+00,2.807550e-02,1.114745e-01}; +Point(113) = {3.511214e-02,0.000000e+00,3.032277e-02,1.135517e-01}; +Point(114) = {4.112309e-02,0.000000e+00,3.250752e-02,1.157728e-01}; +Point(115) = {4.758692e-02,0.000000e+00,3.462668e-02,1.181290e-01}; +Point(116) = {5.449721e-02,0.000000e+00,3.667711e-02,1.206109e-01}; +Point(117) = {6.184718e-02,0.000000e+00,3.865567e-02,1.232088e-01}; +Point(118) = {6.962952e-02,0.000000e+00,4.055926e-02,1.259125e-01}; +Point(119) = {7.783660e-02,0.000000e+00,4.238483e-02,1.287112e-01}; +Point(120) = {8.646032e-02,0.000000e+00,4.412942e-02,1.315940e-01}; +Point(121) = {9.549212e-02,0.000000e+00,4.579021e-02,1.345494e-01}; +Point(122) = {1.049232e-01,0.000000e+00,4.736451e-02,1.375657e-01}; +Point(123) = {1.147441e-01,0.000000e+00,4.884978e-02,1.406312e-01}; +Point(124) = {1.249452e-01,0.000000e+00,5.024372e-02,1.437336e-01}; +Point(125) = {1.355165e-01,0.000000e+00,5.154420e-02,1.468607e-01}; +Point(126) = {1.464474e-01,0.000000e+00,5.274938e-02,1.500002e-01}; +Point(127) = {1.577273e-01,0.000000e+00,5.385765e-02,1.531398e-01}; +Point(128) = {1.693449e-01,0.000000e+00,5.486767e-02,1.562669e-01}; +Point(129) = {1.812888e-01,0.000000e+00,5.577839e-02,1.593693e-01}; +Point(130) = {1.935473e-01,0.000000e+00,5.658907e-02,1.624347e-01}; +Point(131) = {2.061082e-01,0.000000e+00,5.729925e-02,1.654510e-01}; +Point(132) = {2.189592e-01,0.000000e+00,5.790876e-02,1.684064e-01}; +Point(133) = {2.320875e-01,0.000000e+00,5.841779e-02,1.712892e-01}; +Point(134) = {2.454802e-01,0.000000e+00,5.882679e-02,1.740879e-01}; +Point(135) = {2.591240e-01,0.000000e+00,5.913650e-02,1.767915e-01}; +Point(136) = {2.730056e-01,0.000000e+00,5.934800e-02,1.793894e-01}; +Point(137) = {2.871112e-01,0.000000e+00,5.946260e-02,1.818713e-01}; +Point(138) = {3.014269e-01,0.000000e+00,5.948193e-02,1.842275e-01}; +Point(139) = {3.159386e-01,0.000000e+00,5.940786e-02,1.864486e-01}; +Point(140) = {3.306319e-01,0.000000e+00,5.924247e-02,1.885258e-01}; +Point(141) = {3.454924e-01,0.000000e+00,5.898812e-02,1.904510e-01}; +Point(142) = {3.605053e-01,0.000000e+00,5.864737e-02,1.922165e-01}; +Point(143) = {3.756559e-01,0.000000e+00,5.822293e-02,1.938154e-01}; +Point(144) = {3.909292e-01,0.000000e+00,5.771770e-02,1.952414e-01}; +Point(145) = {4.063102e-01,0.000000e+00,5.713477e-02,1.964889e-01}; +Point(146) = {4.217836e-01,0.000000e+00,5.647729e-02,1.975529e-01}; +Point(147) = {4.373342e-01,0.000000e+00,5.574857e-02,1.984292e-01}; +Point(148) = {4.529467e-01,0.000000e+00,5.495201e-02,1.991144e-01}; +Point(149) = {4.686055e-01,0.000000e+00,5.409108e-02,1.996058e-01}; +Point(150) = {4.842954e-01,0.000000e+00,5.316926e-02,lc}; +Point(151) = {5.000008e-01,0.000000e+00,5.219014e-02,2.000000e-01}; +Point(152) = {5.157061e-01,0.000000e+00,5.115728e-02,1.999013e-01}; +Point(153) = {5.313960e-01,0.000000e+00,5.007425e-02,1.996057e-01}; +Point(154) = {5.470549e-01,0.000000e+00,4.894463e-02,1.991143e-01}; +Point(155) = {5.626673e-01,0.000000e+00,4.777199e-02,1.984291e-01}; +Point(156) = {5.782179e-01,0.000000e+00,4.655984e-02,1.975528e-01}; +Point(157) = {5.936913e-01,0.000000e+00,4.531165e-02,1.964888e-01}; +Point(158) = {6.090723e-01,0.000000e+00,4.403092e-02,1.952413e-01}; +Point(159) = {6.243456e-01,0.000000e+00,4.272101e-02,1.938153e-01}; +Point(160) = {6.394961e-01,0.000000e+00,4.138529e-02,1.922163e-01}; +Point(161) = {6.545091e-01,0.000000e+00,4.002701e-02,1.904508e-01}; +Point(162) = {6.693696e-01,0.000000e+00,3.864942e-02,1.885256e-01}; +Point(163) = {6.840628e-01,0.000000e+00,3.725576e-02,1.864484e-01}; +Point(164) = {6.985745e-01,0.000000e+00,3.584905e-02,1.842273e-01}; +Point(165) = {7.128901e-01,0.000000e+00,3.443245e-02,1.818711e-01}; +Point(166) = {7.269957e-01,0.000000e+00,3.300894e-02,1.793892e-01}; +Point(167) = {7.408773e-01,0.000000e+00,3.158154e-02,1.767913e-01}; +Point(168) = {7.545212e-01,0.000000e+00,3.015313e-02,1.740876e-01}; +Point(169) = {7.679139e-01,0.000000e+00,2.872668e-02,1.712889e-01}; +Point(170) = {7.810421e-01,0.000000e+00,2.730503e-02,1.684061e-01}; +Point(171) = {7.938930e-01,0.000000e+00,2.589105e-02,1.654508e-01}; +Point(172) = {8.064539e-01,0.000000e+00,2.448751e-02,1.624344e-01}; +Point(173) = {8.187124e-01,0.000000e+00,2.309725e-02,1.593690e-01}; +Point(174) = {8.306563e-01,0.000000e+00,2.172309e-02,1.562666e-01}; +Point(175) = {8.422739e-01,0.000000e+00,2.036772e-02,1.531394e-01}; +Point(176) = {8.535537e-01,0.000000e+00,1.903398e-02,1.499999e-01}; +Point(177) = {8.644845e-01,0.000000e+00,1.772453e-02,1.468604e-01}; +Point(178) = {8.750558e-01,0.000000e+00,1.644214e-02,1.437333e-01}; +Point(179) = {8.852569e-01,0.000000e+00,1.518951e-02,1.406308e-01}; +Point(180) = {8.950777e-01,0.000000e+00,1.396934e-02,1.375654e-01}; +Point(181) = {9.045087e-01,0.000000e+00,1.278429e-02,1.345491e-01}; +Point(182) = {9.135405e-01,0.000000e+00,1.163695e-02,1.315937e-01}; +Point(183) = {9.221641e-01,0.000000e+00,1.052998e-02,1.287110e-01}; +Point(184) = {9.303712e-01,0.000000e+00,9.465891e-03,1.259123e-01}; +Point(185) = {9.381535e-01,0.000000e+00,8.447210e-03,1.232086e-01}; +Point(186) = {9.455034e-01,0.000000e+00,7.476377e-03,1.206107e-01}; +Point(187) = {9.524136e-01,0.000000e+00,6.555737e-03,1.181288e-01}; +Point(188) = {9.588774e-01,0.000000e+00,5.687566e-03,1.157726e-01}; +Point(189) = {9.648883e-01,0.000000e+00,4.874101e-03,1.135515e-01}; +Point(190) = {9.704404e-01,0.000000e+00,4.117359e-03,1.114743e-01}; +Point(191) = {9.755284e-01,0.000000e+00,3.419365e-03,1.095491e-01}; +Point(192) = {9.801469e-01,0.000000e+00,2.781989e-03,1.077836e-01}; +Point(193) = {9.842916e-01,0.000000e+00,2.206860e-03,1.061847e-01}; +Point(194) = {9.879584e-01,0.000000e+00,1.695579e-03,1.047586e-01}; +Point(195) = {9.911436e-01,0.000000e+00,1.249551e-03,1.035112e-01}; +Point(196) = {9.938442e-01,0.000000e+00,8.699747e-04,1.024472e-01}; +Point(197) = {9.960575e-01,0.000000e+00,5.579769e-04,1.015708e-01}; +Point(198) = {9.977810e-01,0.000000e+00,3.143904e-04,1.008856e-01}; +Point(199) = {9.990134e-01,0.000000e+00,1.398841e-04,1.003943e-01}; +Point(200) = {9.997533e-01,0.000000e+00,3.498543e-05,lc}; + +Spline(1) = { 1 ... 50}; +Spline(2) = { 50 ... 101}; +Spline(3) = { 101 ... 151}; +Spline(4) = { 151 ... 200, 1}; + +Point (1001) = {-10.,0., 10.,3.}; +Point (1002) = { 10.,0., 10.,3.}; +Point (1003) = { 10.,0., -10.,3.}; +Point (1004) = {-10.,0., -10.,3.}; +Point (1010) = { 10.,0., 0.,3.}; +Point (1011) = {-10.,0., 0.,3.}; + +Line(5) = {1002,1010}; +Line(6) = {1010,1}; +Line(7) = {101,1011}; +Line(8) = {1011,1001}; +Line(9) = {1001,1002}; + + +Line Loop(10) = {-6,-5,-9,-8,-7,3,4}; +Plane Surface(11) = {10}; + +Attractor Point{101} = {0.01,0.01,2}; +Attractor Line{1,2,3,4} = {0.05,0.05,3}; + diff --git a/benchmarks/3d/plate.geo b/benchmarks/3d/plate.geo new file mode 100644 index 0000000000000000000000000000000000000000..8968734b87739cb0451017a31caabe8c797c072f --- /dev/null +++ b/benchmarks/3d/plate.geo @@ -0,0 +1,15 @@ +h = 0.02; +Point(1) = {0,0,0,3*h}; +Point(2) = {1,0,0,3*h}; +Point(3) = {1,1,0,3*h}; +Point(4) = {0,1,0,3*h}; +Line(1) = {1,4}; +Line(2) = {4,3}; +Line(3) = {3,2}; +Line(4) = {2,1}; +Line Loop(5) = {4,1,2,3}; +Plane Surface(6) = {5}; +Extrude Surface {6, {0,0,h}}; +Characteristic Length {4,1,2,3} = 1; +Surface Loop(29) = {28,15,6,19,23,27}; +Volume(30) = {29};