Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/ElmerGUI/netgen/libsrc/meshing/hpref_hex.hpp
3206 views
1
// SZ
2
3
// HP_HEX ... no refinement
4
int refhex_splitedges[][3] =
5
{
6
{ 0, 0, 0 }
7
};
8
HPREF_ELEMENT_TYPE refhex_newelstypes[] =
9
{
10
HP_HEX,
11
HP_NONE,
12
};
13
int refhex_newels[][8] =
14
{
15
{ 1, 2, 3, 4, 5, 6, 7, 8 }
16
};
17
HPRef_Struct refhex =
18
{
19
HP_HEX,
20
refhex_splitedges,
21
0, 0,
22
refhex_newelstypes,
23
refhex_newels
24
};
25
26
// HP_HEX_1F ... face (1 - 4 - 3 -2) singular
27
int refhex_1f_0e_0v_splitedges[][3] =
28
{
29
{ 1, 5, 9 },
30
{ 2, 6, 10 },
31
{ 3, 7, 11 },
32
{ 4, 8, 12 },
33
{ 0, 0, 0 }
34
};
35
HPREF_ELEMENT_TYPE refhex_1f_0e_0v_newelstypes[] =
36
{
37
HP_HEX,
38
HP_HEX_1F_0E_0V,
39
HP_NONE,
40
};
41
int refhex_1f_0e_0v_newels[][8] =
42
{
43
{ 9, 10, 11, 12, 5, 6, 7, 8 },
44
{ 1, 2, 3, 4, 9, 10, 11, 12}
45
};
46
HPRef_Struct refhex_1f_0e_0v =
47
{
48
HP_HEX,
49
refhex_1f_0e_0v_splitedges,
50
0, 0,
51
refhex_1f_0e_0v_newelstypes,
52
refhex_1f_0e_0v_newels
53
};
54
55
56
57
// HP_HEX_1FA_1FB ... face (1 - 4 - 3 -2) and face (1-2-6-5) singular
58
int refhex_1fa_1fb_0e_0v_splitedges[][3] =
59
{
60
{ 1, 5, 9 },
61
{ 2, 6, 10 },
62
{ 3, 7, 11 },
63
{ 4, 8, 12 },
64
{ 1, 4, 13 },
65
{ 2, 3, 14 },
66
{ 6, 7, 15 },
67
{ 5, 8, 16 },
68
{ 0, 0, 0 }
69
};
70
71
int refhex_1fa_1fb_0e_0v_splitfaces[][4] =
72
{
73
{ 2, 3, 6, 17 },
74
{ 1, 4, 5, 18 },
75
{ 0, 0, 0, 0 },
76
};
77
HPREF_ELEMENT_TYPE refhex_1fa_1fb_0e_0v_newelstypes[] =
78
{
79
HP_HEX,
80
HP_HEX_1F_0E_0V,
81
HP_HEX_1F_0E_0V,
82
HP_HEX_1FA_1FB_0E_0V,
83
HP_NONE,
84
};
85
int refhex_1fa_1fb_0e_0v_newels[][8] =
86
{
87
{18, 17, 11, 12, 16, 15, 7, 8},
88
{13, 14, 3, 4, 18, 17, 11, 12},
89
{ 5, 6, 10, 9, 16, 15, 17, 18},
90
{ 1, 2, 14, 13, 9, 10, 17, 18}
91
};
92
HPRef_Struct refhex_1fa_1fb_0e_0v =
93
{
94
HP_HEX,
95
refhex_1fa_1fb_0e_0v_splitedges,
96
refhex_1fa_1fb_0e_0v_splitfaces, 0,
97
refhex_1fa_1fb_0e_0v_newelstypes,
98
refhex_1fa_1fb_0e_0v_newels
99
};
100
101
102
103
// Refine Dummies
104
// HP_HEX_0E_1V
105
int refhex_0e_1v_splitedges[][3] =
106
{
107
{ 0, 0, 0 }
108
};
109
HPREF_ELEMENT_TYPE refhex_0e_1v_newelstypes[] =
110
{
111
HP_TET_0E_1V,
112
HP_TET,
113
HP_TET,
114
HP_TET,
115
HP_TET,
116
HP_TET,
117
HP_NONE,
118
};
119
int refhex_0e_1v_newels[][8] =
120
{
121
{ 1, 5, 2, 4 },
122
{ 7, 3, 6, 8 },
123
{ 2, 8, 5, 6 },
124
{ 2, 8, 6, 3 },
125
{ 2, 8, 3, 4 },
126
{ 2, 8, 4, 5 },
127
};
128
HPRef_Struct refhex_0e_1v =
129
{
130
HP_HEX,
131
refhex_0e_1v_splitedges,
132
0, 0,
133
refhex_0e_1v_newelstypes,
134
refhex_0e_1v_newels
135
};
136
137
138
139
// Refine Dummies
140
// HP_HEX_1E_1V
141
int refhex_1e_1v_splitedges[][3] =
142
{
143
{ 0, 0, 0 }
144
};
145
HPREF_ELEMENT_TYPE refhex_1e_1v_newelstypes[] =
146
{
147
HP_TET_1E_1VA,
148
HP_TET,
149
HP_TET_0E_1V,
150
HP_TET_0E_1V,
151
HP_TET_0E_1V,
152
HP_TET_0E_1V,
153
HP_NONE,
154
};
155
int refhex_1e_1v_newels[][8] =
156
{
157
// { 1, 5, 2, 4 },
158
{ 1, 2, 4, 5 },
159
{ 7, 3, 6, 8 },
160
{ 2, 8, 5, 6 },
161
{ 2, 8, 6, 3 },
162
{ 2, 8, 3, 4 },
163
{ 2, 8, 4, 5 },
164
};
165
HPRef_Struct refhex_1e_1v =
166
{
167
HP_HEX,
168
refhex_1e_1v_splitedges,
169
0, 0,
170
refhex_1e_1v_newelstypes,
171
refhex_1e_1v_newels
172
};
173
174
175
// Refine Dummies
176
// HP_HEX_3E_0V
177
int refhex_3e_0v_splitedges[][3] =
178
{
179
{ 0, 0, 0 }
180
};
181
HPREF_ELEMENT_TYPE refhex_3e_0v_newelstypes[] =
182
{
183
HP_TET_1E_1VA,
184
HP_TET_1E_1VA,
185
HP_TET_1E_1VA,
186
HP_TET_0E_1V,
187
HP_TET,
188
HP_NONE,
189
};
190
int refhex_3e_0v_newels[][8] =
191
{
192
{ 1, 2, 3, 6 },
193
{ 1, 4, 8, 3 },
194
{ 1, 5, 6, 8 },
195
{ 1, 6, 3, 8 },
196
{ 3, 8, 6, 7 },
197
};
198
HPRef_Struct refhex_3e_0v =
199
{
200
HP_HEX,
201
refhex_3e_0v_splitedges,
202
0, 0,
203
refhex_3e_0v_newelstypes,
204
refhex_3e_0v_newels
205
};
206
207
208
209
// Refine Dummies
210
// HP_HEX_1E_0V
211
int refhex_1e_0v_splitedges[][3] =
212
{
213
{ 0, 0, 0 }
214
};
215
216
HPREF_ELEMENT_TYPE refhex_1e_0v_newelstypes[] =
217
{
218
HP_PRISM_SINGEDGE, // HP_PRISM_SINGEDGE_H1,
219
HP_PRISM,
220
HP_NONE,
221
};
222
int refhex_1e_0v_newels[][8] =
223
{
224
{ 1, 4, 5, 2, 3, 6 },
225
{ 5, 4, 8, 6, 3, 7 },
226
};
227
HPRef_Struct refhex_1e_0v =
228
{
229
HP_HEX,
230
refhex_1e_0v_splitedges,
231
0, 0,
232
refhex_1e_0v_newelstypes,
233
refhex_1e_0v_newels
234
};
235
236
237
238