mirror of
https://github.com/NGSolve/netgen.git
synced 2024-11-11 16:49:16 +05:00
Consistent penalty for illegal tets
This commit is contained in:
parent
43b707bcfb
commit
d0ba2934df
@ -69,10 +69,16 @@ test_win:
|
|||||||
script:
|
script:
|
||||||
- pip install pytest-check
|
- pip install pytest-check
|
||||||
- cd tests\pytest
|
- cd tests\pytest
|
||||||
|
- python test_tutorials.py new_results.json
|
||||||
- cd %NETGEN_BUILD_DIR%\netgen
|
- cd %NETGEN_BUILD_DIR%\netgen
|
||||||
- ctest -C Release -V --output-on-failure
|
- ctest -C Release -V --output-on-failure
|
||||||
- cd ..
|
- cd ..
|
||||||
needs: ["build_win"]
|
needs: ["build_win"]
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- tests/pytest/new_results.json
|
||||||
|
when: always
|
||||||
|
expire_in: 1 week
|
||||||
|
|
||||||
cleanup_win:
|
cleanup_win:
|
||||||
<<: *win
|
<<: *win
|
||||||
|
@ -288,7 +288,7 @@ double MeshOptimize3d :: CombineImproveEdge (
|
|||||||
|
|
||||||
elem.Touch();
|
elem.Touch();
|
||||||
if (!mesh.LegalTet(elem))
|
if (!mesh.LegalTet(elem))
|
||||||
badness_new += 1e4;
|
badness_new += GetLegalPenalty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -543,9 +543,9 @@ double MeshOptimize3d :: SplitImproveEdge (Table<ElementIndex,PointIndex> & elem
|
|||||||
if (newel2[l] == pi1) newel2[l] = ptmp;
|
if (newel2[l] == pi1) newel2[l] = ptmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mesh.LegalTet (oldel)) bad1 += 1e6;
|
if (!mesh.LegalTet (oldel)) bad1 += GetLegalPenalty();
|
||||||
if (!mesh.LegalTet (newel1)) bad2 += 1e6;
|
if (!mesh.LegalTet (newel1)) bad2 += GetLegalPenalty();
|
||||||
if (!mesh.LegalTet (newel2)) bad2 += 1e6;
|
if (!mesh.LegalTet (newel2)) bad2 += GetLegalPenalty();
|
||||||
}
|
}
|
||||||
|
|
||||||
d_badness = bad2-bad1;
|
d_badness = bad2-bad1;
|
||||||
@ -819,7 +819,7 @@ double MeshOptimize3d :: SwapImproveEdge (
|
|||||||
if (!mesh.LegalTet(el31) ||
|
if (!mesh.LegalTet(el31) ||
|
||||||
!mesh.LegalTet(el32) ||
|
!mesh.LegalTet(el32) ||
|
||||||
!mesh.LegalTet(el33))
|
!mesh.LegalTet(el33))
|
||||||
bad1 += 1e4;
|
bad1 += GetLegalPenalty();
|
||||||
|
|
||||||
el21[0] = pi3;
|
el21[0] = pi3;
|
||||||
el21[1] = pi4;
|
el21[1] = pi4;
|
||||||
@ -841,7 +841,7 @@ double MeshOptimize3d :: SwapImproveEdge (
|
|||||||
|
|
||||||
if (!mesh.LegalTet(el21) ||
|
if (!mesh.LegalTet(el21) ||
|
||||||
!mesh.LegalTet(el22))
|
!mesh.LegalTet(el22))
|
||||||
bad2 += 1e4;
|
bad2 += GetLegalPenalty();
|
||||||
|
|
||||||
|
|
||||||
if ((goal == OPT_CONFORM) && NotTooBad(bad1, bad2))
|
if ((goal == OPT_CONFORM) && NotTooBad(bad1, bad2))
|
||||||
@ -967,7 +967,7 @@ double MeshOptimize3d :: SwapImproveEdge (
|
|||||||
!mesh.LegalTet(el2) ||
|
!mesh.LegalTet(el2) ||
|
||||||
!mesh.LegalTet(el3) ||
|
!mesh.LegalTet(el3) ||
|
||||||
!mesh.LegalTet(el4))
|
!mesh.LegalTet(el4))
|
||||||
bad1 += 1e4;
|
bad1 += GetLegalPenalty();
|
||||||
}
|
}
|
||||||
|
|
||||||
el1[0] = pi3; el1[1] = pi5;
|
el1[0] = pi3; el1[1] = pi5;
|
||||||
@ -1002,7 +1002,7 @@ double MeshOptimize3d :: SwapImproveEdge (
|
|||||||
!mesh.LegalTet(el2) ||
|
!mesh.LegalTet(el2) ||
|
||||||
!mesh.LegalTet(el3) ||
|
!mesh.LegalTet(el3) ||
|
||||||
!mesh.LegalTet(el4))
|
!mesh.LegalTet(el4))
|
||||||
bad2 += 1e4;
|
bad2 += GetLegalPenalty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1038,7 +1038,7 @@ double MeshOptimize3d :: SwapImproveEdge (
|
|||||||
!mesh.LegalTet(el2b) ||
|
!mesh.LegalTet(el2b) ||
|
||||||
!mesh.LegalTet(el3b) ||
|
!mesh.LegalTet(el3b) ||
|
||||||
!mesh.LegalTet(el4b))
|
!mesh.LegalTet(el4b))
|
||||||
bad3 += 1e4;
|
bad3 += GetLegalPenalty();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool swap2, swap3;
|
bool swap2, swap3;
|
||||||
@ -1188,7 +1188,7 @@ double MeshOptimize3d :: SwapImproveEdge (
|
|||||||
|
|
||||||
bad2 += CalcBad (mesh.Points(), hel, 0);
|
bad2 += CalcBad (mesh.Points(), hel, 0);
|
||||||
hel.Touch();
|
hel.Touch();
|
||||||
if (!mesh.LegalTet(hel)) bad2 += 1e4;
|
if (!mesh.LegalTet(hel)) bad2 += GetLegalPenalty();
|
||||||
|
|
||||||
hel[2] = suroundpts[k % nsuround];
|
hel[2] = suroundpts[k % nsuround];
|
||||||
hel[1] = suroundpts[(k+1) % nsuround];
|
hel[1] = suroundpts[(k+1) % nsuround];
|
||||||
@ -1197,7 +1197,7 @@ double MeshOptimize3d :: SwapImproveEdge (
|
|||||||
bad2 += CalcBad (mesh.Points(), hel, 0);
|
bad2 += CalcBad (mesh.Points(), hel, 0);
|
||||||
|
|
||||||
hel.Touch();
|
hel.Touch();
|
||||||
if (!mesh.LegalTet(hel)) bad2 += 1e4;
|
if (!mesh.LegalTet(hel)) bad2 += GetLegalPenalty();
|
||||||
}
|
}
|
||||||
// (*testout) << "bad2," << l << " = " << bad2 << endl;
|
// (*testout) << "bad2," << l << " = " << bad2 << endl;
|
||||||
|
|
||||||
@ -2404,7 +2404,7 @@ double MeshOptimize3d :: SwapImprove2 ( ElementIndex eli1, int face,
|
|||||||
|
|
||||||
if (!mesh.LegalTet(elem) ||
|
if (!mesh.LegalTet(elem) ||
|
||||||
!mesh.LegalTet(elem2))
|
!mesh.LegalTet(elem2))
|
||||||
bad1 += 1e4;
|
bad1 += GetLegalPenalty();
|
||||||
|
|
||||||
|
|
||||||
el31.PNum(1) = pi1;
|
el31.PNum(1) = pi1;
|
||||||
@ -2437,7 +2437,7 @@ double MeshOptimize3d :: SwapImprove2 ( ElementIndex eli1, int face,
|
|||||||
if (!mesh.LegalTet(el31) ||
|
if (!mesh.LegalTet(el31) ||
|
||||||
!mesh.LegalTet(el32) ||
|
!mesh.LegalTet(el32) ||
|
||||||
!mesh.LegalTet(el33))
|
!mesh.LegalTet(el33))
|
||||||
bad2 += 1e4;
|
bad2 += GetLegalPenalty();
|
||||||
|
|
||||||
|
|
||||||
d_badness = bad2 - bad1;
|
d_badness = bad2 - bad1;
|
||||||
|
@ -70,6 +70,12 @@ public:
|
|||||||
return netgen::CalcTotalBad (points, elements, mp);
|
return netgen::CalcTotalBad (points, elements, mp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
double GetLegalPenalty()
|
||||||
|
{
|
||||||
|
return goal == OPT_LEGAL ? 1e15 : 1e6;
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,6 +14,8 @@ def readData(a, files):
|
|||||||
ne3d=[]
|
ne3d=[]
|
||||||
file=[]
|
file=[]
|
||||||
for f in files:
|
for f in files:
|
||||||
|
if f == 'cylinder.geo':
|
||||||
|
continue
|
||||||
for t in a[f]:
|
for t in a[f]:
|
||||||
if t['ne1d']>0:
|
if t['ne1d']>0:
|
||||||
ne1d.append(t['ne1d'])
|
ne1d.append(t['ne1d'])
|
||||||
|
@ -133,9 +133,9 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 136,
|
"ne1d": 136,
|
||||||
"ne2d": 204,
|
"ne2d": 204,
|
||||||
"ne3d": 306,
|
"ne3d": 298,
|
||||||
"quality_histogram": "[0, 0, 0, 2, 4, 7, 11, 10, 9, 15, 15, 20, 21, 38, 44, 41, 34, 24, 9, 2]",
|
"quality_histogram": "[0, 0, 0, 2, 4, 7, 10, 10, 9, 12, 13, 23, 22, 27, 43, 47, 35, 25, 8, 1]",
|
||||||
"total_badness": 514.31347847
|
"total_badness": 498.40723523
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -302,9 +302,9 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 32,
|
"ne1d": 32,
|
||||||
"ne2d": 208,
|
"ne2d": 208,
|
||||||
"ne3d": 457,
|
"ne3d": 477,
|
||||||
"quality_histogram": "[0, 0, 0, 4, 6, 7, 19, 15, 24, 25, 34, 39, 28, 61, 38, 46, 40, 39, 19, 13]",
|
"quality_histogram": "[0, 0, 0, 1, 4, 9, 20, 22, 19, 29, 46, 33, 45, 51, 50, 47, 41, 32, 20, 8]",
|
||||||
"total_badness": 786.17360323
|
"total_badness": 817.64355327
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -319,7 +319,7 @@
|
|||||||
"ne2d": 420,
|
"ne2d": 420,
|
||||||
"ne3d": 626,
|
"ne3d": 626,
|
||||||
"quality_histogram": "[0, 0, 0, 10, 8, 19, 21, 14, 37, 71, 91, 75, 76, 62, 48, 37, 18, 18, 18, 3]",
|
"quality_histogram": "[0, 0, 0, 10, 8, 19, 21, 14, 37, 71, 91, 75, 76, 62, 48, 37, 18, 18, 18, 3]",
|
||||||
"total_badness": 1193.0076866
|
"total_badness": 1193.0076867
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -477,8 +477,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
17.294,
|
25.216,
|
||||||
155.18
|
134.34
|
||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
22.715,
|
22.715,
|
||||||
@ -486,14 +486,14 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 134,
|
"ne1d": 134,
|
||||||
"ne2d": 142,
|
"ne2d": 142,
|
||||||
"ne3d": 187,
|
"ne3d": 186,
|
||||||
"quality_histogram": "[0, 0, 0, 0, 0, 1, 0, 1, 0, 4, 8, 17, 23, 31, 18, 28, 31, 16, 7, 2]",
|
"quality_histogram": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 19, 24, 28, 20, 28, 31, 15, 7, 2]",
|
||||||
"total_badness": 269.564478
|
"total_badness": 265.13433105
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
14.206,
|
20.8,
|
||||||
159.84
|
134.83
|
||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
19.613,
|
19.613,
|
||||||
@ -501,9 +501,9 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 190,
|
"ne1d": 190,
|
||||||
"ne2d": 242,
|
"ne2d": 242,
|
||||||
"ne3d": 438,
|
"ne3d": 437,
|
||||||
"quality_histogram": "[0, 0, 0, 0, 2, 0, 0, 4, 3, 15, 37, 52, 36, 66, 71, 58, 42, 38, 11, 3]",
|
"quality_histogram": "[0, 0, 0, 0, 1, 0, 0, 4, 3, 15, 34, 53, 36, 68, 71, 58, 42, 38, 11, 3]",
|
||||||
"total_badness": 658.29595492
|
"total_badness": 652.96404483
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -777,9 +777,9 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 68,
|
"ne1d": 68,
|
||||||
"ne2d": 272,
|
"ne2d": 272,
|
||||||
"ne3d": 1132,
|
"ne3d": 1115,
|
||||||
"quality_histogram": "[0, 0, 0, 0, 0, 0, 1, 3, 6, 12, 37, 66, 114, 174, 197, 195, 150, 113, 52, 12]",
|
"quality_histogram": "[0, 0, 0, 0, 0, 0, 1, 3, 4, 14, 31, 67, 113, 183, 202, 178, 149, 99, 58, 13]",
|
||||||
"total_badness": 1578.3627501
|
"total_badness": 1554.8534163
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -860,18 +860,18 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
16.406,
|
14.788,
|
||||||
156.92
|
156.92
|
||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
19.37,
|
11.549,
|
||||||
130.41
|
134.56
|
||||||
],
|
],
|
||||||
"ne1d": 36,
|
"ne1d": 36,
|
||||||
"ne2d": 152,
|
"ne2d": 152,
|
||||||
"ne3d": 471,
|
"ne3d": 548,
|
||||||
"quality_histogram": "[0, 0, 0, 0, 0, 5, 9, 22, 43, 37, 39, 53, 46, 32, 40, 41, 49, 27, 21, 7]",
|
"quality_histogram": "[0, 0, 0, 0, 1, 7, 24, 35, 41, 59, 44, 55, 57, 51, 39, 38, 48, 26, 19, 4]",
|
||||||
"total_badness": 798.57500814
|
"total_badness": 980.19781779
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -946,9 +946,9 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 48,
|
"ne1d": 48,
|
||||||
"ne2d": 100,
|
"ne2d": 100,
|
||||||
"ne3d": 103,
|
"ne3d": 102,
|
||||||
"quality_histogram": "[0, 0, 0, 2, 1, 4, 13, 15, 10, 11, 10, 5, 5, 3, 6, 10, 8, 0, 0, 0]",
|
"quality_histogram": "[0, 0, 0, 2, 1, 4, 12, 15, 11, 11, 10, 5, 4, 3, 6, 10, 8, 0, 0, 0]",
|
||||||
"total_badness": 227.02057451
|
"total_badness": 224.10472313
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -1464,13 +1464,13 @@
|
|||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
8.9881,
|
8.9881,
|
||||||
149.17
|
142.67
|
||||||
],
|
],
|
||||||
"ne1d": 298,
|
"ne1d": 298,
|
||||||
"ne2d": 502,
|
"ne2d": 502,
|
||||||
"ne3d": 598,
|
"ne3d": 598,
|
||||||
"quality_histogram": "[0, 0, 3, 5, 10, 16, 29, 40, 43, 39, 54, 62, 60, 51, 45, 59, 38, 25, 14, 5]",
|
"quality_histogram": "[0, 0, 1, 4, 10, 14, 29, 39, 46, 40, 56, 63, 61, 50, 43, 60, 37, 26, 14, 5]",
|
||||||
"total_badness": 1148.0390643
|
"total_badness": 1132.0903047
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -1744,9 +1744,9 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 2746,
|
"ne1d": 2746,
|
||||||
"ne2d": 10428,
|
"ne2d": 10428,
|
||||||
"ne3d": 22186,
|
"ne3d": 22177,
|
||||||
"quality_histogram": "[0, 0, 0, 1, 2, 10, 36, 143, 315, 668, 1305, 2125, 2629, 3075, 2870, 2714, 2456, 2053, 1436, 348]",
|
"quality_histogram": "[0, 0, 0, 1, 2, 10, 37, 141, 314, 667, 1312, 2125, 2625, 3088, 2860, 2703, 2437, 2076, 1429, 350]",
|
||||||
"total_badness": 32307.652049
|
"total_badness": 32293.784552
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -1776,9 +1776,9 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 10202,
|
"ne1d": 10202,
|
||||||
"ne2d": 41054,
|
"ne2d": 41054,
|
||||||
"ne3d": 96973,
|
"ne3d": 97037,
|
||||||
"quality_histogram": "[0, 0, 0, 0, 3, 14, 77, 228, 649, 1728, 3712, 6466, 9529, 12137, 13060, 13497, 13477, 12189, 8049, 2158]",
|
"quality_histogram": "[0, 0, 0, 0, 3, 14, 76, 230, 646, 1720, 3702, 6469, 9523, 12171, 13058, 13512, 13508, 12168, 8074, 2163]",
|
||||||
"total_badness": 134173.65203
|
"total_badness": 134237.53167
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"matrix.geo": [
|
"matrix.geo": [
|
||||||
@ -1808,9 +1808,9 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 106,
|
"ne1d": 106,
|
||||||
"ne2d": 314,
|
"ne2d": 314,
|
||||||
"ne3d": 869,
|
"ne3d": 876,
|
||||||
"quality_histogram": "[0, 0, 5, 33, 47, 52, 74, 69, 102, 93, 83, 80, 65, 49, 43, 32, 22, 18, 2, 0]",
|
"quality_histogram": "[0, 0, 5, 33, 47, 50, 72, 68, 97, 92, 81, 76, 63, 51, 44, 32, 29, 28, 7, 1]",
|
||||||
"total_badness": 2092.2409402
|
"total_badness": 2078.9282016
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -2060,33 +2060,33 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
7.025,
|
12.454,
|
||||||
170.6
|
162.07
|
||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
11.507,
|
10.412,
|
||||||
146.85
|
140.67
|
||||||
],
|
],
|
||||||
"ne1d": 160,
|
"ne1d": 160,
|
||||||
"ne2d": 234,
|
"ne2d": 234,
|
||||||
"ne3d": 401,
|
"ne3d": 390,
|
||||||
"quality_histogram": "[0, 0, 2, 8, 9, 14, 19, 17, 22, 28, 36, 35, 47, 49, 24, 32, 29, 21, 8, 1]",
|
"quality_histogram": "[0, 0, 0, 5, 7, 13, 24, 18, 26, 26, 32, 36, 45, 41, 22, 33, 30, 21, 10, 1]",
|
||||||
"total_badness": 786.54568096
|
"total_badness": 745.1543892
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
13.089,
|
13.042,
|
||||||
161.3
|
161.3
|
||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
13.837,
|
13.898,
|
||||||
144.46
|
141.37
|
||||||
],
|
],
|
||||||
"ne1d": 232,
|
"ne1d": 232,
|
||||||
"ne2d": 494,
|
"ne2d": 494,
|
||||||
"ne3d": 1204,
|
"ne3d": 1188,
|
||||||
"quality_histogram": "[0, 0, 0, 0, 13, 21, 39, 41, 71, 83, 112, 118, 152, 145, 117, 108, 72, 68, 39, 5]",
|
"quality_histogram": "[0, 0, 0, 0, 8, 21, 41, 30, 61, 76, 112, 110, 137, 141, 109, 124, 85, 89, 38, 6]",
|
||||||
"total_badness": 2092.5543831
|
"total_badness": 2016.0253302
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -2156,8 +2156,8 @@
|
|||||||
170.92
|
170.92
|
||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
1.7241,
|
2.5035,
|
||||||
168.81
|
155.48
|
||||||
],
|
],
|
||||||
"ne1d": 572,
|
"ne1d": 572,
|
||||||
"ne2d": 742,
|
"ne2d": 742,
|
||||||
@ -2172,13 +2172,13 @@
|
|||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
3.4703,
|
3.4703,
|
||||||
156.24
|
155.55
|
||||||
],
|
],
|
||||||
"ne1d": 724,
|
"ne1d": 724,
|
||||||
"ne2d": 1340,
|
"ne2d": 1340,
|
||||||
"ne3d": 2199,
|
"ne3d": 2199,
|
||||||
"quality_histogram": "[3, 12, 30, 54, 49, 61, 53, 72, 84, 127, 177, 184, 234, 256, 262, 206, 179, 101, 48, 7]",
|
"quality_histogram": "[3, 12, 31, 52, 50, 61, 53, 72, 84, 126, 178, 184, 234, 254, 262, 206, 180, 102, 48, 7]",
|
||||||
"total_badness": 4491.5892664
|
"total_badness": 4492.7256936
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -2413,38 +2413,38 @@
|
|||||||
"shaft.geo": [
|
"shaft.geo": [
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
11.54,
|
5.9923,
|
||||||
166.59
|
168.9
|
||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
12.767,
|
10.45,
|
||||||
152.23
|
155.97
|
||||||
],
|
],
|
||||||
"ne1d": 708,
|
"ne1d": 708,
|
||||||
"ne2d": 1656,
|
"ne2d": 1656,
|
||||||
"ne3d": 2609,
|
"ne3d": 2645,
|
||||||
"quality_histogram": "[0, 0, 0, 9, 27, 37, 48, 57, 80, 156, 230, 362, 300, 233, 232, 285, 255, 174, 101, 23]",
|
"quality_histogram": "[0, 1, 14, 31, 44, 52, 49, 56, 80, 150, 244, 358, 301, 220, 224, 284, 254, 169, 90, 24]",
|
||||||
"total_badness": 4340.100648
|
"total_badness": 4677.5910875
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
10.898,
|
8.5237,
|
||||||
157.91
|
165.9
|
||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
10.094,
|
10.094,
|
||||||
120.23
|
120.04
|
||||||
],
|
],
|
||||||
"ne1d": 410,
|
"ne1d": 410,
|
||||||
"ne2d": 542,
|
"ne2d": 542,
|
||||||
"ne3d": 667,
|
"ne3d": 717,
|
||||||
"quality_histogram": "[0, 0, 0, 1, 1, 6, 4, 8, 18, 31, 32, 49, 57, 72, 72, 72, 40, 84, 60, 60]",
|
"quality_histogram": "[0, 0, 0, 2, 1, 4, 3, 9, 19, 28, 37, 57, 65, 82, 74, 80, 80, 88, 62, 26]",
|
||||||
"total_badness": 979.60058088
|
"total_badness": 1058.1207822
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
13.369,
|
13.382,
|
||||||
156.78
|
157.07
|
||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
14.807,
|
14.807,
|
||||||
@ -2452,9 +2452,9 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 510,
|
"ne1d": 510,
|
||||||
"ne2d": 912,
|
"ne2d": 912,
|
||||||
"ne3d": 1773,
|
"ne3d": 1820,
|
||||||
"quality_histogram": "[0, 0, 0, 0, 2, 21, 34, 63, 77, 90, 135, 161, 195, 192, 222, 216, 175, 108, 64, 18]",
|
"quality_histogram": "[0, 0, 0, 2, 7, 27, 46, 83, 98, 117, 134, 154, 181, 195, 223, 189, 172, 107, 66, 19]",
|
||||||
"total_badness": 2865.6214541
|
"total_badness": 3049.4355671
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -2467,9 +2467,9 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 708,
|
"ne1d": 708,
|
||||||
"ne2d": 1656,
|
"ne2d": 1656,
|
||||||
"ne3d": 2496,
|
"ne3d": 2553,
|
||||||
"quality_histogram": "[0, 0, 0, 1, 9, 3, 11, 39, 78, 158, 211, 341, 291, 258, 242, 300, 255, 187, 90, 22]",
|
"quality_histogram": "[0, 0, 0, 1, 8, 3, 11, 32, 83, 164, 227, 330, 314, 265, 249, 303, 271, 182, 88, 22]",
|
||||||
"total_badness": 3916.6882733
|
"total_badness": 4003.23251
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -2980,18 +2980,18 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
2.7715,
|
2.7899,
|
||||||
172.56
|
172.79
|
||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
5.1767,
|
5.1656,
|
||||||
165.44
|
163.81
|
||||||
],
|
],
|
||||||
"ne1d": 0,
|
"ne1d": 0,
|
||||||
"ne2d": 648,
|
"ne2d": 648,
|
||||||
"ne3d": 3591,
|
"ne3d": 3545,
|
||||||
"quality_histogram": "[7, 99, 277, 463, 516, 456, 339, 316, 239, 207, 166, 114, 108, 81, 65, 60, 40, 22, 16, 0]",
|
"quality_histogram": "[7, 92, 302, 447, 533, 448, 365, 262, 259, 198, 148, 117, 83, 62, 67, 57, 45, 23, 21, 9]",
|
||||||
"total_badness": 14148.85468
|
"total_badness": 14086.983422
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -3081,9 +3081,9 @@
|
|||||||
],
|
],
|
||||||
"ne1d": 390,
|
"ne1d": 390,
|
||||||
"ne2d": 516,
|
"ne2d": 516,
|
||||||
"ne3d": 1332,
|
"ne3d": 1330,
|
||||||
"quality_histogram": "[0, 1, 5, 13, 16, 44, 80, 117, 127, 149, 156, 138, 121, 106, 86, 80, 52, 27, 11, 3]",
|
"quality_histogram": "[0, 1, 5, 14, 16, 42, 76, 118, 126, 151, 160, 134, 120, 106, 86, 80, 53, 28, 11, 3]",
|
||||||
"total_badness": 2755.5110729
|
"total_badness": 2746.9153651
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -3097,8 +3097,8 @@
|
|||||||
"ne1d": 512,
|
"ne1d": 512,
|
||||||
"ne2d": 864,
|
"ne2d": 864,
|
||||||
"ne3d": 2356,
|
"ne3d": 2356,
|
||||||
"quality_histogram": "[0, 0, 0, 3, 9, 13, 43, 64, 120, 145, 190, 205, 312, 384, 344, 235, 134, 88, 43, 24]",
|
"quality_histogram": "[0, 0, 0, 3, 9, 13, 43, 64, 120, 144, 192, 205, 312, 383, 344, 235, 134, 88, 43, 24]",
|
||||||
"total_badness": 3889.567942
|
"total_badness": 3889.9503966
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
@ -3367,14 +3367,14 @@
|
|||||||
161.08
|
161.08
|
||||||
],
|
],
|
||||||
"angles_trig": [
|
"angles_trig": [
|
||||||
13.77,
|
15.704,
|
||||||
138.15
|
148.08
|
||||||
],
|
],
|
||||||
"ne1d": 102,
|
"ne1d": 102,
|
||||||
"ne2d": 234,
|
"ne2d": 234,
|
||||||
"ne3d": 431,
|
"ne3d": 445,
|
||||||
"quality_histogram": "[0, 0, 0, 0, 5, 11, 17, 27, 44, 29, 15, 24, 36, 41, 37, 38, 61, 32, 12, 2]",
|
"quality_histogram": "[0, 0, 0, 0, 5, 11, 17, 23, 47, 28, 34, 35, 45, 31, 29, 41, 44, 30, 19, 6]",
|
||||||
"total_badness": 764.91980689
|
"total_badness": 795.41761043
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angles_tet": [
|
"angles_tet": [
|
||||||
|
@ -73,7 +73,7 @@ def getMeshingparameters(filename):
|
|||||||
if filename == "screw.step":
|
if filename == "screw.step":
|
||||||
return standard[3:] # coarser meshes don't work here
|
return standard[3:] # coarser meshes don't work here
|
||||||
if filename == "cylinder.geo":
|
if filename == "cylinder.geo":
|
||||||
return standard[0:-1] # very fine gives inconsistent reults
|
return [] # gives inconsistent reults
|
||||||
if filename == "cylsphere.geo":
|
if filename == "cylsphere.geo":
|
||||||
return standard[0:2] + standard[3:] # coarse gives inconsistent reults (other mesh on MacOS)
|
return standard[0:2] + standard[3:] # coarse gives inconsistent reults (other mesh on MacOS)
|
||||||
if filename == "part1.stl":
|
if filename == "part1.stl":
|
||||||
@ -133,8 +133,8 @@ def test_geoFiles(filename, mp, i, refdata):
|
|||||||
checkData(mesh, mp, ref[i])
|
checkData(mesh, mp, ref[i])
|
||||||
|
|
||||||
|
|
||||||
def generateResultFile():
|
def generateResultFile(output_file='results.json'):
|
||||||
import re, time
|
import time
|
||||||
data = {}
|
data = {}
|
||||||
with TaskManager():
|
with TaskManager():
|
||||||
for _file in _geofiles + _additional_testfiles:
|
for _file in _geofiles + _additional_testfiles:
|
||||||
@ -155,8 +155,9 @@ def generateResultFile():
|
|||||||
print("needed", time.time() - start, "seconds")
|
print("needed", time.time() - start, "seconds")
|
||||||
|
|
||||||
s = json.dumps(data, sort_keys=True, indent=4)
|
s = json.dumps(data, sort_keys=True, indent=4)
|
||||||
open("results.json", "w").write(s)
|
open(output_file, "w").write(s)
|
||||||
print("done")
|
print("done")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
generateResultFile()
|
import sys
|
||||||
|
generateResultFile(*sys.argv[1:])
|
||||||
|
Loading…
Reference in New Issue
Block a user