diff --git a/libsrc/meshing/improve2.cpp b/libsrc/meshing/improve2.cpp index 1efeb26e..4168eced 100644 --- a/libsrc/meshing/improve2.cpp +++ b/libsrc/meshing/improve2.cpp @@ -406,15 +406,12 @@ namespace netgen int np = mesh.GetNP(); - TABLE elementsonnode(np); + auto elementsonnode = mesh.CreatePoint2SurfaceElementTable(faceindex); Array hasonepi, hasbothpi; - for (SurfaceElementIndex sei : seia) - for (PointIndex pi : mesh[sei].PNums<3>()) - elementsonnode.Add (pi, sei); - Array fixed(np); - fixed = false; + ParallelFor( fixed.Range(), [&fixed] (auto i) NETGEN_LAMBDA_INLINE + { fixed[i] = false; }); timerstart1.Stop(); @@ -688,8 +685,6 @@ namespace netgen if (el.IsDeleted()) continue; if (el.PNums().Contains(pi1)) continue; - elementsonnode.Add (pi1, sei2); - for (auto l : Range(el.GetNP())) { if (el[l] == pi2) diff --git a/tests/pytest/results.json b/tests/pytest/results.json index 840d9c09..8ea14c99 100644 --- a/tests/pytest/results.json +++ b/tests/pytest/results.json @@ -609,10 +609,10 @@ }, { "ne1d": 388, - "ne2d": 6128, - "ne3d": 54910, - "quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 2, 13, 28, 124, 330, 933, 2421, 5072, 8328, 11652, 13004, 9765, 3238]", - "total_badness": 66567.884044 + "ne2d": 6122, + "ne3d": 55722, + "quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 1, 6, 38, 128, 339, 950, 2397, 5110, 8516, 11890, 13275, 9802, 3270]", + "total_badness": 67535.530354 } ], "fichera.geo": [ @@ -662,17 +662,17 @@ "frame.step": [ { "ne1d": 12694, - "ne2d": 40418, - "ne3d": 221338, - "quality_histogram": "[3, 8, 6, 9, 9, 49, 278, 724, 1782, 3522, 6397, 10742, 17468, 25554, 32460, 35629, 35018, 28948, 18116, 4616]", - "total_badness": 302031.17747 + "ne2d": 40416, + "ne3d": 221405, + "quality_histogram": "[3, 8, 6, 9, 7, 44, 262, 749, 1716, 3507, 6238, 10976, 17443, 25686, 32253, 35719, 35307, 29272, 17591, 4609]", + "total_badness": 302085.09767 }, { "ne1d": 6026, "ne2d": 11302, - "ne3d": 30643, - "quality_histogram": "[4, 5, 3, 11, 21, 51, 105, 281, 690, 1063, 1703, 2717, 3365, 4271, 4573, 4231, 3360, 2466, 1371, 352]", - "total_badness": 45609.34772 + "ne3d": 30676, + "quality_histogram": "[4, 5, 3, 10, 20, 48, 102, 279, 686, 1070, 1686, 2721, 3426, 4284, 4537, 4238, 3396, 2444, 1366, 351]", + "total_badness": 45646.217472 }, { "ne1d": 9704, @@ -812,10 +812,10 @@ }, { "ne1d": 106, - "ne2d": 600, - "ne3d": 1968, - "quality_histogram": "[0, 5, 28, 76, 118, 178, 153, 174, 160, 166, 194, 193, 159, 120, 80, 52, 39, 39, 25, 9]", - "total_badness": 4972.5229136 + "ne2d": 604, + "ne3d": 1987, + "quality_histogram": "[0, 1, 28, 89, 120, 160, 190, 186, 176, 194, 157, 174, 155, 100, 78, 66, 35, 42, 28, 8]", + "total_badness": 5044.7201931 }, { "ne1d": 132, @@ -930,10 +930,10 @@ "period.geo": [ { "ne1d": 344, - "ne2d": 1134, - "ne3d": 3267, - "quality_histogram": "[0, 0, 0, 0, 0, 5, 19, 28, 65, 121, 198, 292, 368, 446, 463, 423, 367, 278, 161, 33]", - "total_badness": 4843.6173488 + "ne2d": 1132, + "ne3d": 3242, + "quality_histogram": "[0, 0, 0, 0, 0, 4, 20, 25, 63, 123, 211, 275, 361, 416, 443, 425, 380, 293, 164, 39]", + "total_badness": 4791.9180684 }, { "ne1d": 160, @@ -951,10 +951,10 @@ }, { "ne1d": 344, - "ne2d": 1134, - "ne3d": 3217, - "quality_histogram": "[0, 0, 0, 0, 0, 4, 19, 22, 57, 93, 174, 264, 337, 423, 484, 443, 399, 282, 178, 38]", - "total_badness": 4690.0482354 + "ne2d": 1132, + "ne3d": 3191, + "quality_histogram": "[0, 0, 0, 0, 0, 3, 18, 25, 55, 91, 178, 254, 353, 408, 438, 427, 424, 302, 170, 45]", + "total_badness": 4645.0669687 }, { "ne1d": 480, @@ -981,10 +981,10 @@ }, { "ne1d": 572, - "ne2d": 1152, - "ne3d": 1651, - "quality_histogram": "[4, 28, 36, 49, 61, 74, 97, 126, 147, 171, 148, 134, 113, 127, 124, 77, 71, 31, 25, 8]", - "total_badness": 4245.4288615 + "ne2d": 1146, + "ne3d": 1642, + "quality_histogram": "[4, 26, 39, 50, 60, 78, 99, 124, 148, 159, 146, 135, 122, 121, 117, 79, 69, 36, 24, 6]", + "total_badness": 4241.9527878 }, { "ne1d": 724, @@ -1032,10 +1032,10 @@ }, { "ne1d": 240, - "ne2d": 1816, - "ne3d": 4027, - "quality_histogram": "[0, 0, 1, 7, 19, 34, 47, 57, 122, 235, 374, 450, 506, 500, 463, 421, 355, 235, 153, 48]", - "total_badness": 6472.3221213 + "ne2d": 1812, + "ne3d": 3906, + "quality_histogram": "[0, 0, 0, 0, 0, 2, 12, 24, 94, 183, 308, 456, 547, 508, 494, 444, 355, 272, 158, 49]", + "total_badness": 5935.9395673 }, { "ne1d": 320, @@ -1046,26 +1046,26 @@ }, { "ne1d": 480, - "ne2d": 6844, - "ne3d": 32967, - "quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 3, 16, 75, 291, 699, 1397, 2614, 4171, 5653, 6522, 6079, 4257, 1190]", - "total_badness": 41783.076303 + "ne2d": 6848, + "ne3d": 32874, + "quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 3, 14, 61, 265, 670, 1455, 2541, 4214, 5494, 6532, 5977, 4399, 1249]", + "total_badness": 41605.598389 }, { "ne1d": 800, "ne2d": 17866, "ne3d": 202729, - "quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 6, 42, 144, 537, 1505, 4365, 10380, 20189, 31903, 42471, 45652, 34935, 10600]", - "total_badness": 247665.22181 + "quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 5, 40, 144, 535, 1500, 4356, 10392, 20188, 31941, 42409, 45674, 34933, 10612]", + "total_badness": 247652.11378 } ], "screw.step": [ { "ne1d": 400, - "ne2d": 1436, - "ne3d": 2459, - "quality_histogram": "[0, 0, 0, 0, 1, 0, 16, 80, 88, 171, 190, 245, 276, 299, 270, 272, 223, 184, 110, 34]", - "total_badness": 3860.2528363 + "ne2d": 1432, + "ne3d": 2448, + "quality_histogram": "[0, 0, 0, 0, 1, 1, 14, 85, 91, 169, 198, 250, 259, 289, 265, 245, 227, 224, 102, 28]", + "total_badness": 3851.1301093 }, { "ne1d": 530, @@ -1076,10 +1076,10 @@ }, { "ne1d": 668, - "ne2d": 4998, - "ne3d": 31493, - "quality_histogram": "[0, 0, 0, 0, 0, 0, 3, 9, 17, 53, 123, 356, 776, 1790, 3291, 5171, 6636, 6761, 4947, 1560]", - "total_badness": 38849.392612 + "ne2d": 5002, + "ne3d": 31622, + "quality_histogram": "[0, 0, 0, 0, 0, 0, 3, 6, 13, 43, 96, 269, 788, 1790, 3249, 5163, 6715, 6912, 5008, 1567]", + "total_badness": 38905.366168 } ], "sculpture.geo": [