faster SwapImprove after delaunay

also new test results
This commit is contained in:
Matthias Hochsteger 2021-06-11 15:58:26 +02:00
parent 0b7f4fecbc
commit 5e3505b897
4 changed files with 304 additions and 254 deletions

View File

@ -1627,20 +1627,20 @@ namespace netgen
// tempmesh.Save ("tempmesh.vol");
{
MeshOptimize3d meshopt(mp);
tempmesh.Compress();
tempmesh.FindOpenElements ();
RegionTaskManager rtm(mp.parallel_meshing ? mp.nthreads : 0);
for (int i = 1; i <= 4; i++)
for (auto i : Range(10))
{
tempmesh.FindOpenElements ();
PrintMessage (5, "Num open: ", tempmesh.GetNOpenElements());
tempmesh.CalcSurfacesOfNode ();
tempmesh.FreeOpenElementsEnvironment (1);
if(i%5==0)
tempmesh.FreeOpenElementsEnvironment (1);
MeshOptimize3d meshopt(mp);
// tempmesh.CalcSurfacesOfNode();
meshopt.SwapImprove(tempmesh, OPT_CONFORM);
}
tempmesh.Compress();
}
MeshQuality3d (tempmesh);

View File

@ -2717,8 +2717,24 @@ void MeshOptimize3d :: SwapImprove (Mesh & mesh, OPTIMIZEGOAL goal,
int ne = mesh.GetNE();
mesh.BuildBoundaryEdges(false);
BitArray free_points(mesh.GetNP()+PointIndex::BASE);
free_points.Clear();
auto elementsonnode = mesh.CreatePoint2ElementTable();
ParallelForRange(mesh.VolumeElements().Range(), [&] (auto myrange)
{
for (ElementIndex eli : myrange)
{
const auto & el = mesh[eli];
if(el.flags.fixed || el.IsDeleted())
continue;
for (auto pi : el.PNums())
if(!free_points[pi])
free_points.SetBitAtomic(pi);
}
});
auto elementsonnode = mesh.CreatePoint2ElementTable(free_points);
NgArray<ElementIndex> hasbothpoints;
@ -2736,7 +2752,7 @@ void MeshOptimize3d :: SwapImprove (Mesh & mesh, OPTIMIZEGOAL goal,
const Element2d & hel = mesh.OpenElement(i);
INDEX_3 face(hel[0], hel[1], hel[2]);
face.Sort();
faces.Set (face, 1);
faces.Set (face, i);
}
}
@ -2755,6 +2771,8 @@ void MeshOptimize3d :: SwapImprove (Mesh & mesh, OPTIMIZEGOAL goal,
tloop.Start();
auto num_elements_before = mesh.VolumeElements().Range().Next();
ParallelForRange(Range(edges), [&] (auto myrange)
{
for(auto i : myrange)
@ -2786,7 +2804,32 @@ void MeshOptimize3d :: SwapImprove (Mesh & mesh, OPTIMIZEGOAL goal,
PrintMessage (5, cnt, " swaps performed");
mesh.Compress ();
if(goal == OPT_CONFORM)
{
// Remove open elements that were closed by new tets
auto & open_els = mesh.OpenElements();
for (auto & el : mesh.VolumeElements().Range( num_elements_before, mesh.VolumeElements().Range().Next() ))
{
for (auto i : Range(1,5))
{
Element2d sel;
el.GetFace(i, sel);
INDEX_3 face(sel[0], sel[1], sel[2]);
face.Sort();
if(faces.Used(face))
open_els[faces.Get(face)-1].Delete();
}
}
for(int i=open_els.Size()-1; i>=0; i--)
if(open_els[i].IsDeleted())
open_els.Delete(i);
mesh.DeleteBoundaryEdges();
}
else
mesh.Compress ();
multithread.task = savetask;
}

View File

@ -486,6 +486,8 @@ namespace netgen
{ return openelements.Get(i); }
auto & OpenElements() const { return openelements; }
auto & OpenElements() { return openelements; }
/// are also quads open elements
bool HasOpenQuads () const;
@ -510,6 +512,11 @@ namespace netgen
return boundaryedges->Used (i2);
}
void DeleteBoundaryEdges ()
{
boundaryedges = nullptr;
}
bool IsSegment (PointIndex pi1, PointIndex pi2) const
{
INDEX_2 i2 (pi1, pi2);

View File

@ -88,7 +88,7 @@
"ne2d": 313,
"ne3d": 506,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 13, 25, 47, 64, 85, 94, 100, 51, 17]",
"total_badness": 650.35553279
"total_badness": 650.35553401
}
],
"boxcyl.geo": [
@ -124,8 +124,8 @@
},
{
"angles_tet": [
15.88,
154.64
15.882,
154.85
],
"angles_trig": [
20.0,
@ -133,9 +133,9 @@
],
"ne1d": 136,
"ne2d": 222,
"ne3d": 352,
"quality_histogram": "[0, 0, 0, 0, 0, 5, 5, 7, 4, 7, 14, 26, 24, 54, 64, 61, 47, 18, 14, 2]",
"total_badness": 527.329265
"ne3d": 357,
"quality_histogram": "[0, 0, 0, 0, 0, 5, 5, 6, 5, 8, 13, 23, 25, 50, 68, 58, 56, 21, 11, 3]",
"total_badness": 531.95100655
},
{
"angles_tet": [
@ -463,7 +463,7 @@
{
"angles_tet": [
5.3682,
165.74
166.05
],
"angles_trig": [
11.3,
@ -471,24 +471,24 @@
],
"ne1d": 262,
"ne2d": 702,
"ne3d": 2099,
"quality_histogram": "[0, 0, 12, 32, 71, 94, 120, 96, 80, 58, 45, 67, 130, 209, 229, 261, 252, 190, 121, 32]",
"total_badness": 3918.4348785
"ne3d": 2095,
"quality_histogram": "[0, 0, 13, 33, 70, 93, 118, 97, 80, 55, 43, 74, 127, 207, 219, 267, 264, 192, 112, 31]",
"total_badness": 3914.3913191
},
{
"angles_tet": [
29.146,
29.972,
134.34
],
"angles_trig": [
25.65,
116.54
118.92
],
"ne1d": 134,
"ne2d": 160,
"ne3d": 244,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 25, 35, 41, 42, 42, 31, 15, 4, 2]",
"total_badness": 346.48816749
"ne3d": 238,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 8, 22, 39, 44, 35, 39, 30, 14, 5, 1]",
"total_badness": 340.29402313
},
{
"angles_tet": [
@ -501,9 +501,9 @@
],
"ne1d": 190,
"ne2d": 282,
"ne3d": 584,
"quality_histogram": "[0, 0, 0, 0, 2, 0, 1, 5, 2, 15, 44, 43, 59, 99, 94, 91, 62, 43, 21, 3]",
"total_badness": 858.49088107
"ne3d": 589,
"quality_histogram": "[0, 0, 0, 0, 2, 0, 0, 5, 2, 13, 40, 46, 62, 105, 91, 93, 60, 46, 20, 4]",
"total_badness": 862.8968917
},
{
"angles_tet": [
@ -516,9 +516,9 @@
],
"ne1d": 262,
"ne2d": 702,
"ne3d": 2003,
"quality_histogram": "[0, 0, 2, 10, 38, 80, 114, 93, 69, 29, 54, 52, 121, 183, 222, 268, 284, 211, 139, 34]",
"total_badness": 3430.228346
"ne3d": 1978,
"quality_histogram": "[0, 0, 2, 10, 39, 81, 115, 92, 68, 28, 53, 54, 110, 175, 225, 265, 273, 220, 133, 35]",
"total_badness": 3396.7269266
},
{
"angles_tet": [
@ -662,32 +662,32 @@
{
"angles_tet": [
20.409,
143.04
143.05
],
"angles_trig": [
17.822,
126.28
17.857,
129.03
],
"ne1d": 64,
"ne2d": 626,
"ne3d": 3285,
"quality_histogram": "[0, 0, 0, 0, 0, 1, 11, 13, 29, 65, 108, 230, 334, 508, 490, 550, 424, 337, 153, 32]",
"total_badness": 4649.9190359
"ne3d": 3287,
"quality_histogram": "[0, 0, 0, 0, 0, 1, 12, 12, 28, 60, 114, 217, 356, 477, 533, 526, 427, 326, 160, 38]",
"total_badness": 4647.9849621
},
{
"angles_tet": [
20.792,
142.3
20.408,
142.77
],
"angles_trig": [
16.821,
121.95
17.345,
126.66
],
"ne1d": 102,
"ne2d": 1396,
"ne3d": 8170,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 1, 2, 16, 62, 196, 410, 708, 1083, 1337, 1335, 1256, 994, 584, 186]",
"total_badness": 11044.804929
"ne3d": 8210,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 3, 16, 60, 195, 429, 755, 1093, 1287, 1392, 1239, 995, 562, 184]",
"total_badness": 11121.187355
},
{
"angles_tet": [
@ -753,33 +753,33 @@
},
{
"angles_tet": [
17.007,
143.72
17.164,
141.46
],
"angles_trig": [
14.293,
127.98
14.437,
126.84
],
"ne1d": 44,
"ne2d": 246,
"ne3d": 735,
"quality_histogram": "[0, 0, 0, 0, 1, 1, 4, 17, 19, 42, 61, 80, 110, 117, 102, 73, 58, 27, 15, 8]",
"total_badness": 1161.4977052
"ne3d": 727,
"quality_histogram": "[0, 0, 0, 0, 1, 0, 3, 13, 21, 42, 56, 89, 104, 100, 111, 75, 57, 34, 18, 3]",
"total_badness": 1139.0124704
},
{
"angles_tet": [
20.529,
20.627,
148.73
],
"angles_trig": [
20.178,
127.02
20.235,
125.83
],
"ne1d": 68,
"ne2d": 396,
"ne3d": 1561,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 4, 14, 18, 57, 119, 168, 225, 245, 243, 239, 150, 65, 14]",
"total_badness": 2194.1567943
"ne3d": 1564,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 4, 15, 20, 66, 116, 163, 226, 246, 252, 225, 157, 63, 11]",
"total_badness": 2205.4352879
},
{
"angles_tet": [
@ -798,18 +798,18 @@
},
{
"angles_tet": [
22.863,
22.862,
138.41
],
"angles_trig": [
23.26,
121.85
23.255,
128.04
],
"ne1d": 146,
"ne2d": 1482,
"ne3d": 17978,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 45, 148, 430, 972, 1910, 3013, 3819, 4010, 2787, 839]",
"total_badness": 22078.910603
"ne3d": 18030,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 50, 157, 444, 990, 1901, 3070, 3790, 4014, 2780, 829]",
"total_badness": 22163.624731
},
{
"angles_tet": [
@ -1184,17 +1184,17 @@
{
"angles_tet": [
18.27,
146.04
146.12
],
"angles_trig": [
21.368,
124.04
22.399,
122.6
],
"ne1d": 156,
"ne2d": 988,
"ne3d": 2245,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 7, 14, 43, 75, 120, 183, 280, 343, 372, 323, 268, 180, 37]",
"total_badness": 3082.4279481
"ne3d": 2231,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 7, 8, 46, 73, 113, 188, 290, 342, 364, 319, 261, 179, 41]",
"total_badness": 3060.1530864
},
{
"angles_tet": [
@ -1228,18 +1228,18 @@
},
{
"angles_tet": [
20.945,
138.99
19.709,
143.75
],
"angles_trig": [
22.422,
22.581,
121.69
],
"ne1d": 156,
"ne2d": 988,
"ne3d": 2191,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 3, 9, 25, 53, 97, 140, 243, 333, 354, 377, 308, 188, 61]",
"total_badness": 2925.6156836
"ne3d": 2182,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 4, 7, 33, 47, 87, 142, 263, 318, 355, 373, 308, 180, 65]",
"total_badness": 2916.2059945
},
{
"angles_tet": [
@ -1361,9 +1361,9 @@
],
"ne1d": 50,
"ne2d": 38,
"ne3d": 36,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 4, 7, 6, 8, 1, 1, 0, 1]",
"total_badness": 53.038414986
"ne3d": 35,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 3, 8, 4, 10, 2, 0, 0, 2]",
"total_badness": 50.263302236
},
{
"angles_tet": [
@ -1406,9 +1406,9 @@
],
"ne1d": 50,
"ne2d": 38,
"ne3d": 36,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 4, 7, 6, 8, 1, 1, 0, 1]",
"total_badness": 53.038414986
"ne3d": 35,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 3, 8, 4, 10, 2, 0, 0, 2]",
"total_badness": 50.263302236
},
{
"angles_tet": [
@ -1444,7 +1444,7 @@
"frame.step": [
{
"angles_tet": [
2.9086,
2.906,
171.1
],
"angles_trig": [
@ -1453,14 +1453,14 @@
],
"ne1d": 10108,
"ne2d": 29958,
"ne3d": 152461,
"quality_histogram": "[0, 3, 1, 3, 6, 18, 51, 153, 539, 1234, 2814, 5708, 10236, 16240, 21696, 25712, 26711, 22859, 14609, 3868]",
"total_badness": 201603.34124
"ne3d": 152530,
"quality_histogram": "[0, 3, 1, 3, 6, 14, 58, 146, 470, 1207, 2727, 5671, 10179, 16179, 21787, 25946, 26803, 22852, 14596, 3882]",
"total_badness": 201507.49618
},
{
"angles_tet": [
2.296,
175.72
175.61
],
"angles_trig": [
3.4731,
@ -1468,13 +1468,13 @@
],
"ne1d": 5988,
"ne2d": 10976,
"ne3d": 28875,
"quality_histogram": "[3, 4, 4, 9, 16, 45, 103, 213, 662, 993, 1514, 2528, 3069, 3888, 4348, 4102, 3364, 2352, 1334, 324]",
"total_badness": 42759.274327
"ne3d": 28946,
"quality_histogram": "[3, 4, 5, 11, 16, 45, 102, 210, 663, 980, 1507, 2531, 3080, 3906, 4321, 4193, 3360, 2375, 1322, 312]",
"total_badness": 42858.494901
},
{
"angles_tet": [
2.1678,
2.171,
174.11
],
"angles_trig": [
@ -1483,9 +1483,9 @@
],
"ne1d": 9622,
"ne2d": 23596,
"ne3d": 79955,
"quality_histogram": "[2, 15, 2, 17, 16, 36, 79, 196, 428, 1003, 2107, 4194, 7142, 10182, 12517, 13476, 12277, 9263, 5564, 1439]",
"total_badness": 109848.90296
"ne3d": 80226,
"quality_histogram": "[2, 15, 4, 15, 17, 34, 88, 193, 428, 989, 2149, 4200, 7164, 10324, 12459, 13488, 12327, 9360, 5530, 1440]",
"total_badness": 110249.40023
}
],
"hinge.stl": [
@ -1500,13 +1500,13 @@
],
"ne1d": 456,
"ne2d": 1212,
"ne3d": 1985,
"quality_histogram": "[0, 0, 0, 0, 0, 3, 3, 11, 21, 48, 78, 121, 177, 243, 281, 291, 257, 267, 140, 44]",
"total_badness": 2774.8392965
"ne3d": 1977,
"quality_histogram": "[0, 0, 0, 0, 0, 1, 3, 10, 15, 45, 78, 122, 186, 262, 287, 291, 242, 249, 142, 44]",
"total_badness": 2760.6220954
},
{
"angles_tet": [
7.6058,
7.7862,
161.84
],
"angles_trig": [
@ -1515,9 +1515,9 @@
],
"ne1d": 298,
"ne2d": 610,
"ne3d": 785,
"quality_histogram": "[0, 0, 2, 11, 6, 6, 19, 18, 36, 45, 66, 84, 102, 91, 81, 82, 51, 54, 26, 5]",
"total_badness": 1354.028297
"ne3d": 778,
"quality_histogram": "[0, 0, 2, 10, 9, 8, 23, 16, 37, 43, 67, 80, 99, 93, 80, 82, 48, 50, 27, 4]",
"total_badness": 1361.2707697
},
{
"angles_tet": [
@ -1530,39 +1530,39 @@
],
"ne1d": 370,
"ne2d": 850,
"ne3d": 1123,
"quality_histogram": "[0, 0, 1, 1, 7, 6, 15, 27, 38, 52, 69, 112, 144, 138, 162, 142, 96, 62, 43, 8]",
"total_badness": 1791.0009554
"ne3d": 1132,
"quality_histogram": "[0, 0, 1, 1, 7, 6, 15, 29, 42, 47, 70, 110, 142, 142, 161, 144, 97, 66, 44, 8]",
"total_badness": 1804.9964367
},
{
"angles_tet": [
13.442,
11.964,
156.97
],
"angles_trig": [
21.769,
19.521,
131.54
],
"ne1d": 516,
"ne2d": 1570,
"ne3d": 2603,
"quality_histogram": "[0, 0, 0, 0, 0, 4, 3, 5, 24, 49, 99, 162, 236, 315, 392, 410, 338, 298, 213, 55]",
"total_badness": 3617.4946271
"ne3d": 2589,
"quality_histogram": "[0, 0, 0, 0, 1, 2, 2, 5, 33, 55, 86, 166, 228, 303, 411, 396, 353, 287, 206, 55]",
"total_badness": 3605.1956692
},
{
"angles_tet": [
19.878,
146.81
145.41
],
"angles_trig": [
21.108,
133.01
23.111,
129.16
],
"ne1d": 722,
"ne2d": 2856,
"ne3d": 6742,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 1, 2, 22, 37, 55, 164, 381, 655, 846, 1080, 1151, 1213, 867, 268]",
"total_badness": 8659.2800224
"ne3d": 6746,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 2, 2, 23, 31, 71, 156, 371, 632, 835, 1077, 1180, 1209, 888, 269]",
"total_badness": 8654.616002
},
{
"angles_tet": [
@ -1575,9 +1575,9 @@
],
"ne1d": 1862,
"ne2d": 19428,
"ne3d": 136241,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 3, 21, 85, 308, 898, 2566, 6394, 12973, 21289, 28986, 31392, 23775, 7551]",
"total_badness": 165729.88879
"ne3d": 136270,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 3, 19, 90, 309, 895, 2578, 6407, 12994, 21327, 29004, 31357, 23759, 7528]",
"total_badness": 165792.84022
}
],
"lense.in2d": [
@ -1806,9 +1806,9 @@
],
"ne1d": 4106,
"ne2d": 27824,
"ne3d": 70201,
"quality_histogram": "[0, 0, 0, 1, 27, 76, 199, 309, 649, 1436, 2566, 3992, 6615, 9029, 10226, 10693, 9895, 7793, 4854, 1841]",
"total_badness": 98065.083443
"ne3d": 70230,
"quality_histogram": "[0, 0, 0, 1, 27, 76, 197, 309, 658, 1433, 2557, 3994, 6611, 9073, 10219, 10679, 9920, 7787, 4836, 1853]",
"total_badness": 98105.849616
}
],
"manyholes2.geo": [
@ -1823,9 +1823,9 @@
],
"ne1d": 10202,
"ne2d": 54864,
"ne3d": 127476,
"quality_histogram": "[0, 0, 0, 0, 3, 26, 67, 253, 706, 2016, 4264, 7581, 11687, 16856, 18247, 18310, 17519, 15264, 10990, 3687]",
"total_badness": 174923.26093
"ne3d": 127454,
"quality_histogram": "[0, 0, 0, 0, 3, 26, 67, 250, 706, 2002, 4267, 7577, 11668, 16888, 18234, 18308, 17538, 15257, 10987, 3676]",
"total_badness": 174883.29195
}
],
"matrix.geo": [
@ -1840,9 +1840,9 @@
],
"ne1d": 174,
"ne2d": 1190,
"ne3d": 5100,
"quality_histogram": "[0, 0, 15, 128, 183, 43, 56, 114, 127, 183, 297, 369, 495, 599, 625, 611, 547, 412, 235, 61]",
"total_badness": 8961.2205551
"ne3d": 5113,
"quality_histogram": "[0, 0, 15, 128, 183, 43, 57, 114, 124, 184, 294, 387, 492, 590, 635, 626, 528, 418, 234, 61]",
"total_badness": 8982.334633
},
{
"angles_tet": [
@ -1885,9 +1885,9 @@
],
"ne1d": 174,
"ne2d": 1190,
"ne3d": 5054,
"quality_histogram": "[0, 0, 14, 117, 182, 41, 51, 115, 112, 153, 269, 315, 481, 581, 632, 634, 561, 474, 247, 75]",
"total_badness": 8725.1829981
"ne3d": 5067,
"quality_histogram": "[0, 0, 14, 117, 182, 41, 52, 114, 110, 155, 268, 313, 495, 590, 645, 645, 535, 485, 238, 68]",
"total_badness": 8750.9467413
},
{
"angles_tet": [
@ -1900,9 +1900,9 @@
],
"ne1d": 248,
"ne2d": 2320,
"ne3d": 16407,
"quality_histogram": "[0, 0, 0, 0, 0, 4, 20, 55, 118, 191, 287, 630, 956, 1497, 2097, 2550, 2936, 2608, 1913, 545]",
"total_badness": 21630.784432
"ne3d": 16409,
"quality_histogram": "[0, 0, 0, 0, 0, 4, 20, 55, 119, 192, 288, 630, 958, 1489, 2106, 2552, 2926, 2613, 1913, 544]",
"total_badness": 21635.781365
},
{
"angles_tet": [
@ -2015,18 +2015,18 @@
"part1.stl": [
{
"angles_tet": [
13.063,
147.22
21.018,
145.74
],
"angles_trig": [
19.94,
119.28
20.888,
125.82
],
"ne1d": 170,
"ne2d": 448,
"ne3d": 1232,
"quality_histogram": "[0, 0, 0, 0, 0, 1, 3, 7, 14, 22, 38, 66, 91, 150, 218, 198, 155, 156, 86, 27]",
"total_badness": 1707.0143419
"ne3d": 1259,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 4, 8, 13, 21, 38, 69, 103, 136, 224, 198, 179, 138, 101, 27]",
"total_badness": 1739.7208845
},
{
"angles_tet": [
@ -2039,14 +2039,14 @@
],
"ne1d": 134,
"ne2d": 286,
"ne3d": 509,
"quality_histogram": "[0, 0, 0, 2, 4, 3, 5, 5, 18, 25, 33, 48, 51, 64, 72, 65, 52, 30, 24, 8]",
"total_badness": 798.54900393
"ne3d": 514,
"quality_histogram": "[0, 0, 0, 2, 4, 3, 4, 4, 18, 23, 36, 40, 67, 57, 65, 71, 56, 38, 23, 3]",
"total_badness": 801.0166951
},
{
"angles_tet": [
19.624,
148.62
20.054,
147.85
],
"angles_trig": [
19.446,
@ -2054,9 +2054,9 @@
],
"ne1d": 194,
"ne2d": 590,
"ne3d": 1631,
"quality_histogram": "[0, 0, 0, 0, 0, 1, 1, 2, 7, 15, 35, 54, 127, 203, 240, 247, 285, 232, 144, 38]",
"total_badness": 2179.4995302
"ne3d": 1641,
"quality_histogram": "[0, 0, 0, 0, 0, 1, 0, 4, 5, 15, 35, 59, 136, 181, 263, 261, 281, 218, 148, 34]",
"total_badness": 2193.9430492
},
{
"angles_tet": [
@ -2064,19 +2064,19 @@
150.39
],
"angles_trig": [
23.604,
120.32
23.365,
119.75
],
"ne1d": 266,
"ne2d": 980,
"ne3d": 4061,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 1, 1, 2, 5, 30, 78, 131, 284, 527, 619, 852, 827, 552, 152]",
"total_badness": 5098.4284907
"ne3d": 4126,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 1, 0, 1, 12, 26, 62, 188, 281, 508, 660, 867, 823, 561, 136]",
"total_badness": 5189.9740302
},
{
"angles_tet": [
20.783,
146.42
20.78,
146.34
],
"angles_trig": [
24.61,
@ -2084,9 +2084,9 @@
],
"ne1d": 674,
"ne2d": 6832,
"ne3d": 82637,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 1, 4, 17, 97, 397, 1390, 3595, 7583, 12590, 17553, 19516, 15071, 4823]",
"total_badness": 99971.30166
"ne3d": 82638,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 1, 4, 17, 95, 389, 1384, 3560, 7554, 12625, 17561, 19497, 15113, 4838]",
"total_badness": 99948.684701
}
],
"period.geo": [
@ -2102,23 +2102,23 @@
"ne1d": 344,
"ne2d": 1118,
"ne3d": 3303,
"quality_histogram": "[0, 0, 0, 0, 1, 3, 19, 26, 62, 80, 167, 270, 341, 414, 475, 449, 428, 344, 170, 54]",
"total_badness": 4786.8429022
"quality_histogram": "[0, 0, 0, 0, 1, 3, 19, 28, 60, 79, 167, 274, 340, 411, 474, 453, 427, 342, 172, 53]",
"total_badness": 4787.3615998
},
{
"angles_tet": [
10.254,
166.55
12.301,
162.28
],
"angles_trig": [
14.767,
144.13
140.96
],
"ne1d": 160,
"ne2d": 280,
"ne3d": 581,
"quality_histogram": "[0, 0, 1, 1, 4, 8, 17, 22, 29, 58, 59, 78, 67, 40, 55, 45, 32, 46, 16, 3]",
"total_badness": 1019.9118615
"ne3d": 601,
"quality_histogram": "[0, 0, 0, 0, 3, 6, 10, 21, 33, 57, 65, 81, 72, 40, 61, 53, 34, 48, 13, 4]",
"total_badness": 1021.3669479
},
{
"angles_tet": [
@ -2133,12 +2133,12 @@
"ne2d": 566,
"ne3d": 1302,
"quality_histogram": "[0, 0, 0, 1, 4, 17, 29, 39, 64, 86, 116, 123, 148, 143, 127, 134, 119, 83, 58, 11]",
"total_badness": 2151.3919236
"total_badness": 2151.3920824
},
{
"angles_tet": [
14.824,
146.25
15.291,
144.92
],
"angles_trig": [
15.314,
@ -2147,8 +2147,8 @@
"ne1d": 344,
"ne2d": 1118,
"ne3d": 3261,
"quality_histogram": "[0, 0, 0, 0, 1, 2, 14, 23, 47, 67, 152, 225, 319, 424, 475, 458, 420, 389, 183, 62]",
"total_badness": 4647.8518467
"quality_histogram": "[0, 0, 0, 0, 1, 2, 14, 23, 49, 62, 156, 225, 323, 419, 476, 458, 421, 385, 185, 62]",
"total_badness": 4648.2224319
},
{
"angles_tet": [
@ -2176,9 +2176,9 @@
],
"ne1d": 820,
"ne2d": 6206,
"ne3d": 68506,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 6, 49, 164, 556, 1500, 3472, 6624, 10942, 14570, 15222, 11736, 3665]",
"total_badness": 83683.476233
"ne3d": 68494,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 8, 53, 159, 556, 1496, 3478, 6612, 10914, 14587, 15239, 11731, 3661]",
"total_badness": 83666.140475
}
],
"plane.stl": [
@ -2193,54 +2193,54 @@
],
"ne1d": 886,
"ne2d": 2528,
"ne3d": 8259,
"quality_histogram": "[5, 8, 29, 42, 47, 53, 42, 53, 86, 127, 234, 422, 649, 869, 1201, 1333, 1280, 1021, 605, 153]",
"total_badness": 12253.881955
"ne3d": 8238,
"quality_histogram": "[5, 8, 28, 42, 46, 54, 44, 60, 87, 123, 252, 414, 633, 875, 1235, 1255, 1253, 1065, 604, 155]",
"total_badness": 12230.270782
},
{
"angles_tet": [
1.1793,
1.181,
174.03
],
"angles_trig": [
4.4862,
152.74
148.52
],
"ne1d": 570,
"ne2d": 1126,
"ne3d": 1585,
"quality_histogram": "[4, 28, 40, 51, 57, 65, 84, 108, 127, 145, 155, 131, 141, 135, 112, 71, 58, 49, 20, 4]",
"total_badness": 4116.4289328
"ne3d": 1586,
"quality_histogram": "[4, 27, 41, 49, 61, 73, 91, 112, 114, 142, 161, 129, 134, 142, 114, 72, 61, 42, 16, 1]",
"total_badness": 4109.6286131
},
{
"angles_tet": [
1.1,
172.17
172.16
],
"angles_trig": [
3.2068,
3.728,
163.66
],
"ne1d": 724,
"ne2d": 1662,
"ne3d": 3087,
"quality_histogram": "[2, 15, 30, 56, 49, 41, 55, 69, 99, 124, 187, 257, 341, 403, 358, 368, 297, 206, 109, 21]",
"total_badness": 5672.1029809
"ne3d": 3117,
"quality_histogram": "[2, 12, 30, 54, 56, 40, 51, 70, 98, 128, 217, 263, 320, 383, 400, 362, 301, 205, 108, 17]",
"total_badness": 5701.3001361
},
{
"angles_tet": [
1.2152,
165.67
169.91
],
"angles_trig": [
1.1526,
152.31
158.98
],
"ne1d": 956,
"ne2d": 2742,
"ne3d": 8640,
"quality_histogram": "[3, 10, 38, 48, 47, 55, 52, 55, 83, 138, 177, 324, 506, 776, 1201, 1406, 1497, 1301, 722, 201]",
"total_badness": 12611.933258
"ne3d": 8642,
"quality_histogram": "[3, 11, 40, 45, 45, 55, 54, 56, 84, 135, 185, 320, 518, 792, 1121, 1438, 1493, 1311, 732, 204]",
"total_badness": 12619.116865
},
{
"angles_tet": [
@ -2253,9 +2253,9 @@
],
"ne1d": 1554,
"ne2d": 6276,
"ne3d": 30128,
"quality_histogram": "[2, 8, 13, 8, 26, 47, 54, 67, 97, 161, 296, 601, 1218, 2303, 3660, 5126, 5976, 5561, 3809, 1095]",
"total_badness": 38992.872327
"ne3d": 30127,
"quality_histogram": "[2, 8, 13, 7, 28, 46, 56, 65, 99, 149, 301, 625, 1226, 2243, 3685, 5125, 5942, 5591, 3816, 1100]",
"total_badness": 38992.330542
},
{
"angles_tet": [
@ -2268,9 +2268,9 @@
],
"ne1d": 2992,
"ne2d": 23260,
"ne3d": 281849,
"quality_histogram": "[4, 10, 11, 10, 9, 25, 27, 57, 103, 264, 751, 2013, 5565, 13730, 27855, 44729, 59205, 63981, 48551, 14949]",
"total_badness": 344465.16205
"ne3d": 282008,
"quality_histogram": "[4, 10, 11, 10, 10, 24, 28, 58, 102, 254, 739, 2055, 5581, 13827, 27948, 44823, 59128, 64141, 48324, 14931]",
"total_badness": 344745.11668
}
],
"revolution.geo": [
@ -2286,8 +2286,8 @@
"ne1d": 320,
"ne2d": 3036,
"ne3d": 8332,
"quality_histogram": "[0, 0, 0, 0, 0, 1, 6, 14, 93, 181, 405, 666, 868, 1013, 1163, 1292, 1106, 859, 537, 128]",
"total_badness": 11773.570067
"quality_histogram": "[0, 0, 0, 0, 0, 1, 6, 14, 93, 181, 405, 666, 866, 1015, 1161, 1292, 1107, 860, 537, 128]",
"total_badness": 11773.566772
},
{
"angles_tet": [
@ -2331,8 +2331,8 @@
"ne1d": 320,
"ne2d": 3036,
"ne3d": 8213,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 1, 3, 49, 124, 291, 550, 780, 982, 1146, 1315, 1218, 939, 652, 163]",
"total_badness": 11293.441654
"quality_histogram": "[0, 0, 0, 0, 0, 0, 1, 3, 49, 124, 291, 550, 780, 982, 1145, 1316, 1218, 939, 652, 163]",
"total_badness": 11293.441797
},
{
"angles_tet": [
@ -2368,22 +2368,22 @@
"screw.step": [
{
"angles_tet": [
17.752,
142.33
14.842,
147.02
],
"angles_trig": [
19.029,
137.96
18.845,
139.34
],
"ne1d": 400,
"ne2d": 1390,
"ne3d": 2335,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 2, 55, 79, 134, 196, 259, 266, 307, 287, 261, 222, 141, 104, 22]",
"total_badness": 3618.6672084
"ne3d": 2327,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 6, 55, 69, 140, 196, 249, 278, 293, 290, 264, 224, 135, 108, 20]",
"total_badness": 3607.9685551
},
{
"angles_tet": [
19.834,
22.362,
146.38
],
"angles_trig": [
@ -2392,24 +2392,24 @@
],
"ne1d": 528,
"ne2d": 2724,
"ne3d": 8021,
"quality_histogram": "[0, 0, 0, 0, 0, 1, 3, 10, 28, 70, 148, 286, 485, 757, 1058, 1331, 1509, 1230, 840, 265]",
"total_badness": 10517.478669
"ne3d": 8020,
"quality_histogram": "[0, 0, 0, 0, 0, 1, 3, 10, 27, 67, 140, 283, 497, 749, 1061, 1336, 1515, 1219, 846, 266]",
"total_badness": 10509.582064
},
{
"angles_tet": [
20.14,
143.25
20.122,
143.27
],
"angles_trig": [
23.794,
23.433,
129.76
],
"ne1d": 666,
"ne2d": 4792,
"ne3d": 31261,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 2, 6, 21, 103, 237, 651, 1503, 3041, 4906, 6579, 7204, 5289, 1719]",
"total_badness": 38140.005778
"ne3d": 31239,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 2, 7, 22, 105, 239, 652, 1497, 3032, 4913, 6571, 7208, 5276, 1715]",
"total_badness": 38119.574769
}
],
"sculpture.geo": [
@ -2507,7 +2507,7 @@
"shaft.geo": [
{
"angles_tet": [
9.0272,
9.0274,
162.65
],
"angles_trig": [
@ -2516,9 +2516,9 @@
],
"ne1d": 708,
"ne2d": 1702,
"ne3d": 2702,
"quality_histogram": "[0, 0, 1, 3, 11, 21, 27, 39, 97, 138, 279, 414, 309, 306, 236, 278, 234, 193, 92, 24]",
"total_badness": 4366.515194
"ne3d": 2692,
"quality_histogram": "[0, 0, 1, 3, 9, 13, 32, 40, 85, 144, 282, 385, 330, 298, 240, 280, 242, 198, 85, 25]",
"total_badness": 4328.7489873
},
{
"angles_tet": [
@ -2531,9 +2531,9 @@
],
"ne1d": 410,
"ne2d": 592,
"ne3d": 758,
"quality_histogram": "[0, 0, 0, 0, 1, 4, 2, 7, 27, 35, 40, 57, 81, 83, 95, 90, 90, 82, 51, 13]",
"total_badness": 1126.5212658
"ne3d": 752,
"quality_histogram": "[0, 0, 0, 0, 1, 4, 2, 7, 26, 32, 38, 57, 77, 84, 97, 88, 85, 86, 47, 21]",
"total_badness": 1111.6630355
},
{
"angles_tet": [
@ -2546,9 +2546,9 @@
],
"ne1d": 510,
"ne2d": 996,
"ne3d": 1816,
"quality_histogram": "[0, 0, 0, 0, 6, 19, 34, 69, 83, 108, 123, 159, 163, 197, 236, 222, 211, 84, 77, 25]",
"total_badness": 2937.5679156
"ne3d": 1811,
"quality_histogram": "[0, 0, 0, 0, 6, 19, 35, 68, 84, 104, 123, 161, 163, 197, 234, 222, 211, 84, 76, 24]",
"total_badness": 2930.4129856
},
{
"angles_tet": [
@ -2561,9 +2561,9 @@
],
"ne1d": 708,
"ne2d": 1702,
"ne3d": 2677,
"quality_histogram": "[0, 0, 0, 1, 3, 1, 9, 25, 50, 119, 274, 411, 334, 300, 263, 298, 260, 208, 94, 27]",
"total_badness": 4129.758993
"ne3d": 2666,
"quality_histogram": "[0, 0, 0, 1, 3, 1, 10, 20, 53, 112, 258, 404, 329, 308, 261, 304, 263, 220, 93, 26]",
"total_badness": 4093.2797611
},
{
"angles_tet": [
@ -2576,9 +2576,9 @@
],
"ne1d": 1138,
"ne2d": 4170,
"ne3d": 11024,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 3, 31, 70, 182, 338, 557, 913, 1365, 1807, 2087, 1935, 1366, 370]",
"total_badness": 14215.80019
"ne3d": 11042,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 3, 31, 70, 184, 343, 553, 926, 1360, 1795, 2086, 1951, 1364, 376]",
"total_badness": 14240.174863
},
{
"angles_tet": [
@ -3160,9 +3160,9 @@
],
"ne1d": 690,
"ne2d": 1670,
"ne3d": 5169,
"quality_histogram": "[0, 0, 1, 0, 0, 8, 33, 39, 106, 196, 284, 368, 450, 562, 679, 709, 595, 542, 461, 136]",
"total_badness": 7464.5609796
"ne3d": 5168,
"quality_histogram": "[0, 0, 1, 0, 0, 8, 30, 37, 106, 198, 284, 368, 447, 559, 691, 708, 596, 539, 460, 136]",
"total_badness": 7457.2380943
},
{
"angles_tet": [
@ -3175,14 +3175,14 @@
],
"ne1d": 390,
"ne2d": 522,
"ne3d": 1382,
"quality_histogram": "[0, 0, 3, 8, 13, 39, 84, 122, 123, 153, 169, 133, 139, 114, 88, 88, 55, 37, 12, 2]",
"total_badness": 2771.9730366
"ne3d": 1381,
"quality_histogram": "[0, 0, 3, 9, 14, 39, 85, 122, 122, 150, 172, 133, 141, 114, 90, 84, 54, 36, 11, 2]",
"total_badness": 2778.7753608
},
{
"angles_tet": [
8.6612,
163.89
7.8932,
164.55
],
"angles_trig": [
14.15,
@ -3191,8 +3191,8 @@
"ne1d": 512,
"ne2d": 866,
"ne3d": 2373,
"quality_histogram": "[0, 0, 0, 3, 9, 17, 46, 71, 120, 145, 191, 205, 314, 382, 341, 234, 138, 87, 46, 24]",
"total_badness": 3936.100832
"quality_histogram": "[0, 0, 0, 5, 9, 17, 44, 69, 124, 143, 189, 210, 313, 383, 339, 233, 138, 87, 46, 24]",
"total_badness": 3943.0636847
},
{
"angles_tet": [
@ -3205,9 +3205,9 @@
],
"ne1d": 690,
"ne2d": 1670,
"ne3d": 5123,
"quality_histogram": "[0, 0, 1, 0, 0, 3, 22, 38, 106, 190, 271, 350, 435, 551, 670, 694, 624, 558, 468, 142]",
"total_badness": 7336.254691
"ne3d": 5111,
"quality_histogram": "[0, 0, 1, 0, 0, 3, 21, 38, 107, 192, 269, 348, 432, 542, 664, 707, 611, 564, 471, 141]",
"total_badness": 7317.6330225
},
{
"angles_tet": [
@ -3220,13 +3220,13 @@
],
"ne1d": 1050,
"ne2d": 3784,
"ne3d": 17727,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 3, 14, 36, 63, 190, 539, 1406, 2089, 2407, 2557, 2702, 2729, 2318, 674]",
"total_badness": 23111.051534
"ne3d": 17749,
"quality_histogram": "[0, 0, 0, 0, 0, 0, 3, 14, 35, 69, 180, 557, 1402, 2124, 2373, 2627, 2696, 2716, 2280, 673]",
"total_badness": 23160.553922
},
{
"angles_tet": [
15.321,
15.34,
149.42
],
"angles_trig": [
@ -3235,9 +3235,9 @@
],
"ne1d": 1722,
"ne2d": 10022,
"ne3d": 85092,
"quality_histogram": "[0, 0, 0, 0, 0, 3, 50, 1423, 715, 400, 647, 1222, 2399, 5628, 9024, 13434, 16387, 16909, 12811, 4040]",
"total_badness": 108920.32258
"ne3d": 85138,
"quality_histogram": "[0, 0, 0, 0, 0, 3, 49, 1423, 714, 399, 655, 1222, 2404, 5670, 9020, 13424, 16402, 16956, 12744, 4053]",
"total_badness": 108990.18852
}
],
"twobricks.geo": [