mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-26 13:50:33 +05:00
264 lines
4.0 KiB
C++
264 lines
4.0 KiB
C++
|
namespace netgen
|
||
|
{
|
||
|
const char * pyramidrules[] = {
|
||
|
"tolfak 0.5\n",\
|
||
|
"\n",\
|
||
|
"rule \"Pyramid on quad\"\n",\
|
||
|
"\n",\
|
||
|
"quality 100\n",\
|
||
|
"\n",\
|
||
|
"mappoints\n",\
|
||
|
"(0, 0, 0);\n",\
|
||
|
"(1, 0, 0);\n",\
|
||
|
"(1, 1, 0);\n",\
|
||
|
"(0, 1, 0);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"(0.5, 0.5, -0.5) \n",\
|
||
|
" { 0.25 X1, 0.25 X2, 0.25 X3, 0.25 X4 } \n",\
|
||
|
" { 0.25 Y1, 0.25 Y2, 0.25 Y3, 0.25 Y4 } { };\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(1, 2, 5);\n",\
|
||
|
"(2, 3, 5);\n",\
|
||
|
"(3, 4, 5);\n",\
|
||
|
"(4, 1, 5);\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 2, 3, 4, 5);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1.4 P5, -0.1 P1, -0.1 P2, -0.1 P3, -0.1 P4 };\n",\
|
||
|
"\n",\
|
||
|
"freezonelimit\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 2 3 5;\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 3 4 5;\n",\
|
||
|
"\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"rule \"small Pyramid on quad\"\n",\
|
||
|
"\n",\
|
||
|
"quality 100\n",\
|
||
|
"\n",\
|
||
|
"mappoints\n",\
|
||
|
"(0, 0, 0);\n",\
|
||
|
"(1, 0, 0);\n",\
|
||
|
"(1, 1, 0);\n",\
|
||
|
"(0, 1, 0);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"(0.5, 0.5, -0.1 )\n",\
|
||
|
" { 0.25 X1, 0.25 X2, 0.25 X3, 0.25 X4 } \n",\
|
||
|
" { 0.25 Y1, 0.25 Y2, 0.25 Y3, 0.25 Y4 } { };\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(1, 2, 5);\n",\
|
||
|
"(2, 3, 5);\n",\
|
||
|
"(3, 4, 5);\n",\
|
||
|
"(4, 1, 5);\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 2, 3, 4, 5);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1.4 P5, -0.1 P1, -0.1 P2, -0.1 P3, -0.1 P4 };\n",\
|
||
|
"\n",\
|
||
|
"freezonelimit\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 2 3 5;\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 3 4 5;\n",\
|
||
|
"\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"rule \"connect pyramid\"\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.5, -0.5);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(1, 2, 5);\n",\
|
||
|
"(2, 3, 5);\n",\
|
||
|
"(3, 4, 5);\n",\
|
||
|
"(4, 1, 5);\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 2, 3, 4, 5);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 2 3 5;\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 3 4 5;\n",\
|
||
|
"\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"rule \"pyramid with one trig\"\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.5, -0.5);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"(2, 1, 5) del;\n",\
|
||
|
"\n",\
|
||
|
"newpoints\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(2, 3, 5);\n",\
|
||
|
"(3, 4, 5);\n",\
|
||
|
"(4, 1, 5);\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 2, 3, 4, 5);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 0.34 P2, 0.34 P3, 0.34 P5, -0.02 P1 };\n",\
|
||
|
"{ 0.34 P3, 0.34 P4, 0.34 P5, -0.02 P1 };\n",\
|
||
|
"{ 0.34 P1, 0.34 P4, 0.34 P5, -0.02 P3 };\n",\
|
||
|
"\n",\
|
||
|
"freezonelimit\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"{ 0.333 P2, 0.333 P3, 0.334 P5, 0 P1 };\n",\
|
||
|
"{ 0.333 P3, 0.333 P4, 0.334 P5, 0 P1 };\n",\
|
||
|
"{ 0.333 P1, 0.333 P4, 0.334 P5, 0 P3 };\n",\
|
||
|
"\n",\
|
||
|
"orientations\n",\
|
||
|
"(1, 2, 3, 5);\n",\
|
||
|
"(1, 3, 4, 5);\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 2 3 5;\n",\
|
||
|
"freeset\n",\
|
||
|
"1 3 4 5;\n",\
|
||
|
"freeset\n",\
|
||
|
"2 3 5 6;\n",\
|
||
|
"freeset\n",\
|
||
|
"3 4 5 7;\n",\
|
||
|
"freeset \n",\
|
||
|
"1 4 5 8;\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"rule \"pyramid with two trig\"\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.5, -0.5);\n",\
|
||
|
"\n",\
|
||
|
"mapfaces\n",\
|
||
|
"(1, 2, 3, 4) del;\n",\
|
||
|
"(2, 1, 5) del;\n",\
|
||
|
"(3, 2, 5) del;\n",\
|
||
|
"newpoints\n",\
|
||
|
"\n",\
|
||
|
"newfaces\n",\
|
||
|
"(3, 4, 5);\n",\
|
||
|
"(4, 1, 5);\n",\
|
||
|
"\n",\
|
||
|
"elements\n",\
|
||
|
"(1, 2, 3, 4, 5);\n",\
|
||
|
"\n",\
|
||
|
"freezone2\n",\
|
||
|
"{ 1 P1 };\n",\
|
||
|
"{ 1 P2 };\n",\
|
||
|
"{ 1 P3 };\n",\
|
||
|
"{ 1 P4 };\n",\
|
||
|
"{ 1 P5 };\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 2 3 5;\n",\
|
||
|
"\n",\
|
||
|
"freeset\n",\
|
||
|
"1 3 4 5;\n",\
|
||
|
"\n",\
|
||
|
"endrule\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
"\n",\
|
||
|
0};
|
||
|
}
|