netgen/libsrc/meshing/hpref_hex.hpp
Joachim Schoeberl e0fa631ca9 hex7 elements
2023-09-21 00:14:37 +02:00

331 lines
5.6 KiB
C++

// SZ
// HP_HEX ... no refinement
int refhex_splitedges[][3] =
{
{ 0, 0, 0 }
};
HPREF_ELEMENT_TYPE refhex_newelstypes[] =
{
HP_HEX,
HP_NONE,
};
int refhex_newels[][8] =
{
{ 1, 2, 3, 4, 5, 6, 7, 8 }
};
HPRef_Struct refhex =
{
HP_HEX,
refhex_splitedges,
0, 0,
refhex_newelstypes,
refhex_newels
};
// HP_HEX_1F ... face (1 - 4 - 3 -2) singular
int refhex_1f_0e_0v_splitedges[][3] =
{
{ 1, 5, 9 },
{ 2, 6, 10 },
{ 3, 7, 11 },
{ 4, 8, 12 },
{ 0, 0, 0 }
};
HPREF_ELEMENT_TYPE refhex_1f_0e_0v_newelstypes[] =
{
HP_HEX,
HP_HEX_1F_0E_0V,
HP_NONE,
};
int refhex_1f_0e_0v_newels[][8] =
{
{ 9, 10, 11, 12, 5, 6, 7, 8 },
{ 1, 2, 3, 4, 9, 10, 11, 12}
};
HPRef_Struct refhex_1f_0e_0v =
{
HP_HEX,
refhex_1f_0e_0v_splitedges,
0, 0,
refhex_1f_0e_0v_newelstypes,
refhex_1f_0e_0v_newels
};
// HP_HEX_1FA_1FB ... face (1 - 4 - 3 -2) and face (1-2-6-5) singular
int refhex_1fa_1fb_0e_0v_splitedges[][3] =
{
{ 1, 5, 9 },
{ 2, 6, 10 },
{ 3, 7, 11 },
{ 4, 8, 12 },
{ 1, 4, 13 },
{ 2, 3, 14 },
{ 6, 7, 15 },
{ 5, 8, 16 },
{ 0, 0, 0 }
};
int refhex_1fa_1fb_0e_0v_splitfaces[][4] =
{
{ 2, 3, 6, 17 },
{ 1, 4, 5, 18 },
{ 0, 0, 0, 0 },
};
HPREF_ELEMENT_TYPE refhex_1fa_1fb_0e_0v_newelstypes[] =
{
HP_HEX,
HP_HEX_1F_0E_0V,
HP_HEX_1F_0E_0V,
HP_HEX_1FA_1FB_0E_0V,
HP_NONE,
};
int refhex_1fa_1fb_0e_0v_newels[][8] =
{
{18, 17, 11, 12, 16, 15, 7, 8},
{13, 14, 3, 4, 18, 17, 11, 12},
{ 5, 6, 10, 9, 16, 15, 17, 18},
{ 1, 2, 14, 13, 9, 10, 17, 18}
};
HPRef_Struct refhex_1fa_1fb_0e_0v =
{
HP_HEX,
refhex_1fa_1fb_0e_0v_splitedges,
refhex_1fa_1fb_0e_0v_splitfaces, 0,
refhex_1fa_1fb_0e_0v_newelstypes,
refhex_1fa_1fb_0e_0v_newels
};
// Refine Dummies
// HP_HEX_0E_1V
int refhex_0e_1v_splitedges[][3] =
{
{ 0, 0, 0 }
};
HPREF_ELEMENT_TYPE refhex_0e_1v_newelstypes[] =
{
HP_TET_0E_1V,
HP_TET,
HP_TET,
HP_TET,
HP_TET,
HP_TET,
HP_NONE,
};
int refhex_0e_1v_newels[][8] =
{
{ 1, 5, 2, 4 },
{ 7, 3, 6, 8 },
{ 2, 8, 5, 6 },
{ 2, 8, 6, 3 },
{ 2, 8, 3, 4 },
{ 2, 8, 4, 5 },
};
HPRef_Struct refhex_0e_1v =
{
HP_HEX,
refhex_0e_1v_splitedges,
0, 0,
refhex_0e_1v_newelstypes,
refhex_0e_1v_newels
};
// Refine Dummies
// HP_HEX_1E_1V
int refhex_1e_1v_splitedges[][3] =
{
{ 0, 0, 0 }
};
HPREF_ELEMENT_TYPE refhex_1e_1v_newelstypes[] =
{
HP_TET_1E_1VA,
HP_TET,
HP_TET_0E_1V,
HP_TET_0E_1V,
HP_TET_0E_1V,
HP_TET_0E_1V,
HP_NONE,
};
int refhex_1e_1v_newels[][8] =
{
// { 1, 5, 2, 4 },
{ 1, 2, 4, 5 },
{ 7, 3, 6, 8 },
{ 2, 8, 5, 6 },
{ 2, 8, 6, 3 },
{ 2, 8, 3, 4 },
{ 2, 8, 4, 5 },
};
HPRef_Struct refhex_1e_1v =
{
HP_HEX,
refhex_1e_1v_splitedges,
0, 0,
refhex_1e_1v_newelstypes,
refhex_1e_1v_newels
};
// Refine Dummies
// HP_HEX_3E_0V
int refhex_3e_0v_splitedges[][3] =
{
{ 0, 0, 0 }
};
HPREF_ELEMENT_TYPE refhex_3e_0v_newelstypes[] =
{
HP_TET_1E_1VA,
HP_TET_1E_1VA,
HP_TET_1E_1VA,
HP_TET_0E_1V,
HP_TET,
HP_NONE,
};
int refhex_3e_0v_newels[][8] =
{
{ 1, 2, 3, 6 },
{ 1, 4, 8, 3 },
{ 1, 5, 6, 8 },
{ 1, 6, 3, 8 },
{ 3, 8, 6, 7 },
};
HPRef_Struct refhex_3e_0v =
{
HP_HEX,
refhex_3e_0v_splitedges,
0, 0,
refhex_3e_0v_newelstypes,
refhex_3e_0v_newels
};
// Refine Dummies
// HP_HEX_1E_0V
int refhex_1e_0v_splitedges[][3] =
{
{ 0, 0, 0 }
};
HPREF_ELEMENT_TYPE refhex_1e_0v_newelstypes[] =
{
HP_PRISM_SINGEDGE, // HP_PRISM_SINGEDGE_H1,
HP_PRISM,
HP_NONE,
};
int refhex_1e_0v_newels[][8] =
{
{ 1, 4, 5, 2, 3, 6 },
{ 5, 4, 8, 6, 3, 7 },
};
HPRef_Struct refhex_1e_0v =
{
HP_HEX,
refhex_1e_0v_splitedges,
0, 0,
refhex_1e_0v_newelstypes,
refhex_1e_0v_newels
};
// HP_HEX ... no refinement
int refhex7_splitedges[][3] =
{
{ 0, 0, 0 }
};
HPREF_ELEMENT_TYPE refhex7_newelstypes[] =
{
HP_HEX7,
HP_NONE,
};
int refhex7_newels[][8] =
{
{ 1, 2, 3, 4, 5, 6, 7 }
};
HPRef_Struct refhex7 =
{
HP_HEX7,
refhex7_splitedges,
0, 0,
refhex7_newelstypes,
refhex7_newels
};
// HP_HEX_1FA ... face (1 - 4 - 3 -2) singular
int refhex7_1fa_splitedges[][3] =
{
{ 1, 5, 8 },
{ 2, 6, 9 },
{ 3, 7, 10 },
{ 4, 7, 11 },
{ 0, 0, 0 }
};
HPREF_ELEMENT_TYPE refhex7_1fa_newelstypes[] =
{
HP_HEX_1F_0E_0V,
HP_HEX7,
HP_NONE,
};
int refhex7_1fa_newels[][8] =
{
{ 1, 2, 3, 4, 8, 9, 10, 11 },
{ 8, 9, 10, 11, 5, 6, 7 }
};
HPRef_Struct refhex7_1fa =
{
HP_HEX7,
refhex7_1fa_splitedges,
0, 0,
refhex7_1fa_newelstypes,
refhex7_1fa_newels
};
// HP_HEX_1FB ... face (5,6,7) singular
int refhex7_1fb_splitedges[][3] =
{
{ 5, 1, 8 },
{ 6, 2, 9 },
{ 7, 3, 10 },
{ 7, 4, 11 },
{ 0, 0, 0 }
};
HPREF_ELEMENT_TYPE refhex7_1fb_newelstypes[] =
{
HP_HEX,
HP_HEX7_1FB,
HP_NONE,
};
int refhex7_1fb_newels[][8] =
{
{ 1, 2, 3, 4, 8, 9, 10, 11 },
{ 8, 9, 10, 11, 5, 6, 7 }
};
HPRef_Struct refhex7_1fb =
{
HP_HEX7,
refhex7_1fb_splitedges,
0, 0,
refhex7_1fb_newelstypes,
refhex7_1fb_newels
};