mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-27 22:30:33 +05:00
447 lines
6.8 KiB
C++
447 lines
6.8 KiB
C++
|
namespace netgen
|
||
|
{
|
||
|
const char * prismrules2[] = {
|
||
|
"tolfak 0.5\n",\
|
||
|
"\n",\
|
||
|
"rule \"prism on quad\"\n",\
|
||
|
"\n",\
|
||
|
"quality 1\n",\
|
||
|
"\n",\
|
||
|
"mappoints\n",\
|
||
|
"(0, 0, 0);\n",\
|
||
|
"(1, 0, 0);\n",\
|
||
|
"(1, 1, 0);\n",\
|
||
|
"(0, 1, 0);\n",\
|
||
|
"(0.5, 0, -0.86);\n",\
|
||
|
"(0.5, 1, -0.86);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"(1, 5, 2) del;\n",\
|
||
|
"(4, 3, 6) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(5, 2, 3, 6);\n",\
|
||
|
"(1, 5, 6, 4);\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 5, 2, 4, 6, 3);\n",\
|
||
|
"\n",\
|
||
|
"orientations\n",\
|
||
|
"(1, 2, 3, 5);\n",\
|
||
|
"(1, 3, 4, 6);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"{ 0.3 P1, -0.1 P2, -0.1 P3, 0.3 P4, 0.3 P5, 0.3 P6 };\n",\
|
||
|
"{ -0.1 P1, 0.3 P2, 0.3 P3, -0.1 P4, 0.3 P5, 0.3 P6 };\n",\
|
||
|
"\n",\
|
||
|
"freezonelimit\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"{ 0.25 P1, 0 P2, 0 P3, 0.25 P4, 0.25 P5, 0.25 P6 };\n",\
|
||
|
"{ 0 P1, 0.25 P2, 0.25 P3, 0 P4, 0.25 P5, 0.25 P6 };\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"rule \"prism on quad, one trig\"\n",\
|
||
|
"\n",\
|
||
|
"quality 2\n",\
|
||
|
"\n",\
|
||
|
"mappoints\n",\
|
||
|
"(0, 0, 0);\n",\
|
||
|
"(1, 0, 0);\n",\
|
||
|
"(1, 1, 0);\n",\
|
||
|
"(0, 1, 0);\n",\
|
||
|
"(0.5, 0, -0.86);\n",\
|
||
|
"(0.5, 1, -0.86);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"(1, 5, 2) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(5, 2, 3, 6);\n",\
|
||
|
"(1, 5, 6, 4);\n",\
|
||
|
"(4, 6, 3);\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 5, 2, 4, 6, 3);\n",\
|
||
|
"\n",\
|
||
|
"orientations\n",\
|
||
|
"(1, 2, 3, 5);\n",\
|
||
|
"(1, 3, 4, 6);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"{ 0.3 P1, -0.1 P2, -0.1 P3, 0.3 P4, 0.3 P5, 0.3 P6 };\n",\
|
||
|
"{ -0.1 P1, 0.3 P2, 0.3 P3, -0.1 P4, 0.3 P5, 0.3 P6 };\n",\
|
||
|
"\n",\
|
||
|
"freezonelimit\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"{ 0.25 P1, 0 P2, 0 P3, 0.25 P4, 0.25 P5, 0.25 P6 };\n",\
|
||
|
"{ 0 P1, 0.25 P2, 0.25 P3, 0 P4, 0.25 P5, 0.25 P6 };\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"rule \"prism on 2 quad\"\n",\
|
||
|
"\n",\
|
||
|
"quality 1\n",\
|
||
|
"\n",\
|
||
|
"mappoints\n",\
|
||
|
"(0, 0, 0);\n",\
|
||
|
"(1, 0, 0);\n",\
|
||
|
"(1, 1, 0);\n",\
|
||
|
"(0, 1, 0);\n",\
|
||
|
"(0.5, 0, -0.86);\n",\
|
||
|
"(0.5, 1, -0.86);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"(2, 5, 6, 3) del;\n",\
|
||
|
"(1, 5, 2) del;\n",\
|
||
|
"(4, 3, 6) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(1, 5, 6, 4);\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 5, 2, 4, 6, 3);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"{ 0.3 P1, -0.1 P2, -0.1 P3, 0.3 P4, 0.3 P5, 0.3 P6 };\n",\
|
||
|
"\n",\
|
||
|
"freezonelimit\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"{ 0.25 P1, 0 P2, 0 P3, 0.25 P4, 0.25 P5, 0.25 P6 };\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 2 4 5 6 7;\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"2 3 4 6;\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"rule \"prism on 2 quad, one trig\"\n",\
|
||
|
"\n",\
|
||
|
"quality 2\n",\
|
||
|
"\n",\
|
||
|
"mappoints\n",\
|
||
|
"(0, 0, 0);\n",\
|
||
|
"(1, 0, 0);\n",\
|
||
|
"(1, 1, 0);\n",\
|
||
|
"(0, 1, 0);\n",\
|
||
|
"(0.5, 0, -0.86);\n",\
|
||
|
"(0.5, 1, -0.86);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"(2, 5, 6, 3) del;\n",\
|
||
|
"(1, 5, 2) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(1, 5, 6, 4);\n",\
|
||
|
"(4, 6, 3);\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 5, 2, 4, 6, 3);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"{ 0.3 P1, -0.1 P2, -0.1 P3, 0.3 P4, 0.3 P5, 0.3 P6 };\n",\
|
||
|
"\n",\
|
||
|
"freezonelimit\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"{ 0.25 P1, 0 P2, 0 P3, 0.25 P4, 0.25 P5, 0.25 P6 };\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 2 4 5 6 7;\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"2 3 4 6;\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"rule \"prism on 2 quada\"\n",\
|
||
|
"\n",\
|
||
|
"quality 1\n",\
|
||
|
"\n",\
|
||
|
"mappoints\n",\
|
||
|
"(0, 0, 0);\n",\
|
||
|
"(1, 0, 0);\n",\
|
||
|
"(1, 1, 0);\n",\
|
||
|
"(0, 1, 0);\n",\
|
||
|
"(0.5, 0, -0.86);\n",\
|
||
|
"(0.5, 1, -0.86);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"(5, 1, 4, 6) del;\n",\
|
||
|
"(1, 5, 2) del;\n",\
|
||
|
"(4, 3, 6) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(5, 2, 3, 6);\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 5, 2, 4, 6, 3);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"{ -0.1 P1, 0.3 P2, 0.3 P3, -0.1 P4, 0.3 P5, 0.3 P6 };\n",\
|
||
|
"\n",\
|
||
|
"freezonelimit\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"{ 0 P1, 0.25 P2, 0.25 P3, 0 P4, 0.25 P5, 0.25 P6 };\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 2 3 5 6 7;\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 3 4 6;\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"rule \"fill prism\"\n",\
|
||
|
"\n",\
|
||
|
"quality 1\n",\
|
||
|
"\n",\
|
||
|
"mappoints\n",\
|
||
|
"(0, 0, 0);\n",\
|
||
|
"(1, 0, 0);\n",\
|
||
|
"(1, 1, 0);\n",\
|
||
|
"(0, 1, 0);\n",\
|
||
|
"(0.5, 0, -0.86);\n",\
|
||
|
"(0.5, 1, -0.86);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"(2, 5, 6, 3) del;\n",\
|
||
|
"(5, 1, 4, 6) del;\n",\
|
||
|
"(1, 5, 2) del;\n",\
|
||
|
"(4, 3, 6) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 5, 2, 4, 6, 3);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 2 4 5;\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"2 3 4 6;\n",\
|
||
|
"\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"rule \"prism on 3 quad, one trig\"\n",\
|
||
|
"\n",\
|
||
|
"quality 2\n",\
|
||
|
"\n",\
|
||
|
"mappoints\n",\
|
||
|
"(0, 0, 0);\n",\
|
||
|
"(1, 0, 0);\n",\
|
||
|
"(1, 1, 0);\n",\
|
||
|
"(0, 1, 0);\n",\
|
||
|
"(0.5, 0, -0.86);\n",\
|
||
|
"(0.5, 1, -0.86);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"(2, 5, 6, 3) del;\n",\
|
||
|
"(5, 1, 4, 6) del;\n",\
|
||
|
"(1, 5, 2) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(4, 6, 3);\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 5, 2, 4, 6, 3);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 2 4 5;\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"2 3 4 6;\n",\
|
||
|
"\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"rule \"flat prism\"\n",\
|
||
|
"\n",\
|
||
|
"quality 1\n",\
|
||
|
"\n",\
|
||
|
"mappoints\n",\
|
||
|
"(0, 0, 0);\n",\
|
||
|
"(1, 0, 0);\n",\
|
||
|
"(0.5, 0.866, 0);\n",\
|
||
|
"(0, 0, -1);\n",\
|
||
|
"(1, 0, -1);\n",\
|
||
|
"(0.5, 0.866, -1);\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3) del;\n",\
|
||
|
"(5, 4, 6) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(1, 2, 4);\n",\
|
||
|
"(4, 2, 5);\n",\
|
||
|
"(2, 3, 5);\n",\
|
||
|
"(5, 3, 6);\n",\
|
||
|
"(3, 1, 6);\n",\
|
||
|
"(6, 1, 4);\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 2, 3, 5, 4, 6);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 1 P6 };\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
0};
|
||
|
}
|