Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/ElmerGUI/netgen/libsrc/meshing/hpref_prism.hpp
3206 views
1
2
// HP_PRISM ... no refinement
3
int refprism_splitedges[][3] =
4
{
5
{ 0, 0, 0 }
6
};
7
HPREF_ELEMENT_TYPE refprism_newelstypes[] =
8
{
9
HP_PRISM,
10
HP_NONE,
11
};
12
int refprism_newels[][8] =
13
{
14
{ 1, 2, 3, 4, 5, 6 }
15
};
16
HPRef_Struct refprism =
17
{
18
HP_PRISM,
19
refprism_splitedges,
20
0, 0,
21
refprism_newelstypes,
22
refprism_newels
23
};
24
25
26
27
// HP_PRISM_SINGEDGE ... vertical edge 1-4 is singular
28
int refprism_singedge_splitedges[][3] =
29
{
30
{ 1, 2, 7 },
31
{ 1, 3, 8 },
32
{ 4, 5, 9 },
33
{ 4, 6, 10 },
34
{ 0, 0, 0 }
35
};
36
HPREF_ELEMENT_TYPE refprism_singedge_newelstypes[] =
37
{
38
HP_PRISM_SINGEDGE,
39
HP_HEX,
40
HP_NONE,
41
};
42
int refprism_singedge_newels[][8] =
43
{
44
{ 1, 7, 8, 4, 9, 10 },
45
{ 3, 8, 7, 2, 6, 10, 9, 5 }
46
};
47
HPRef_Struct refprism_singedge =
48
{
49
HP_PRISM,
50
refprism_singedge_splitedges,
51
0, 0,
52
refprism_singedge_newelstypes,
53
refprism_singedge_newels
54
};
55
56
57
58
59
60
61
// HP_PRISM_SINGEDGE_V12 vertical edges 1-4 and 2-5 are singular
62
int refprism_singedge_v12_splitedges[][3] =
63
{
64
{ 1, 2, 7 },
65
{ 1, 3, 8 },
66
{ 2, 1, 9 },
67
{ 2, 3, 10 },
68
{ 4, 5, 11 },
69
{ 4, 6, 12 },
70
{ 5, 4, 13 },
71
{ 5, 6, 14},
72
{ 0, 0, 0 }
73
};
74
HPREF_ELEMENT_TYPE refprism_singedge_v12_newelstypes[] =
75
{
76
HP_HEX,
77
HP_PRISM_SINGEDGE,
78
HP_PRISM_SINGEDGE,
79
HP_PRISM,
80
HP_NONE,
81
};
82
int refprism_singedge_v12_newels[][8] =
83
{
84
{ 7, 9, 10, 8, 11, 13, 14, 12 },
85
{ 1, 7, 8, 4, 11, 12 },
86
{ 2, 10, 9, 5, 14, 13 },
87
{ 3, 8, 10, 6, 12, 14 },
88
};
89
HPRef_Struct refprism_singedge_v12 =
90
{
91
HP_PRISM,
92
refprism_singedge_v12_splitedges,
93
0, 0,
94
refprism_singedge_v12_newelstypes,
95
refprism_singedge_v12_newels
96
};
97
98
99
100
101
102
103
// HP_PRISM_SINGEDGE_H12
104
int refprism_singedge_h12_splitedges[][3] =
105
{
106
{ 1, 3, 7 },
107
{ 2, 1, 8 },
108
{ 2, 3, 9 },
109
{ 3, 1, 10 },
110
111
{ 4, 6, 12 },
112
{ 5, 4, 13 },
113
{ 5, 6, 14 },
114
{ 6, 4, 15 },
115
116
{ 0, 0, 0 }
117
};
118
119
int refprism_singedge_h12_splitfaces[][4] =
120
{
121
{ 2, 1, 3, 11 },
122
{ 5, 4, 6, 16 },
123
{ 0, 0, 0, 0 },
124
};
125
126
HPREF_ELEMENT_TYPE refprism_singedge_h12_newelstypes[] =
127
{
128
HP_HEX,
129
HP_HEX,
130
HP_PRISM,
131
HP_PRISM,
132
HP_PRISM,
133
HP_NONE,
134
};
135
int refprism_singedge_h12_newels[][8] =
136
{
137
{ 1, 8, 11, 7, 4, 13, 16, 12 },
138
{ 9, 3, 10, 11, 14, 6, 15, 16 },
139
{ 7, 11, 10, 12, 16, 15 },
140
{ 2, 9, 11, 5, 14, 16 },
141
{ 8, 2, 11, 13, 5, 16 }
142
};
143
HPRef_Struct refprism_singedge_h12 =
144
{
145
HP_PRISM,
146
refprism_singedge_h12_splitedges,
147
refprism_singedge_h12_splitfaces,
148
0,
149
refprism_singedge_h12_newelstypes,
150
refprism_singedge_h12_newels
151
};
152
153
154
155
156
157
158
// HP_PRISM_SINGEDGE_H1
159
int refprism_singedge_h1_splitedges[][3] =
160
{
161
{ 1, 3, 7 },
162
{ 2, 3, 8 },
163
{ 4, 6, 9 },
164
{ 5, 6, 10 },
165
{ 0, 0, 0 }
166
};
167
HPREF_ELEMENT_TYPE refprism_singedge_h1_newelstypes[] =
168
{
169
HP_HEX,
170
HP_PRISM,
171
HP_NONE,
172
};
173
int refprism_singedge_h1_newels[][8] =
174
{
175
{ 1, 2, 8, 7, 4, 5, 10, 9 },
176
{ 3, 7, 8, 6, 9, 10 }
177
};
178
HPRef_Struct refprism_singedge_h1 =
179
{
180
HP_PRISM,
181
refprism_singedge_h1_splitedges,
182
0, 0,
183
refprism_singedge_h1_newelstypes,
184
refprism_singedge_h1_newels
185
};
186
187
188
189
// HP_PRISM_1FA_0E_0V
190
int refprism_1fa_0e_0v_splitedges[][3] =
191
{
192
{ 1, 4, 16 },
193
{ 2, 5, 17 },
194
{ 3, 6, 18 },
195
{ 0, 0, 0 }
196
};
197
HPREF_ELEMENT_TYPE refprism_1fa_0e_0v_newelstypes[] =
198
{
199
HP_PRISM,
200
HP_PRISM_1FA_0E_0V,
201
HP_NONE,
202
};
203
int refprism_1fa_0e_0v_newels[][8] =
204
{
205
{ 16, 17, 18, 4, 5, 6 },
206
{ 1, 2, 3, 16, 17, 18 }
207
};
208
HPRef_Struct refprism_1fa_0e_0v =
209
{
210
HP_PRISM,
211
refprism_1fa_0e_0v_splitedges,
212
0, 0,
213
refprism_1fa_0e_0v_newelstypes,
214
refprism_1fa_0e_0v_newels
215
};
216
217
// HP_PRISM_1FA_1E_0V
218
int refprism_1fa_1e_0v_splitedges[][3] =
219
{
220
{ 1, 4, 16 },
221
{ 2, 5, 17 },
222
{ 3, 6, 18 },
223
{ 1, 2, 7},
224
{ 1, 3, 12},
225
{ 4, 6, 45},
226
{ 4, 5, 40},
227
{ 0, 0, 0 }
228
};
229
int refprism_1fa_1e_0v_splitfaces[][4] =
230
{
231
{1,2,4,19},
232
{1,3,4,24},
233
{0,0,0,0}
234
};
235
236
HPREF_ELEMENT_TYPE refprism_1fa_1e_0v_newelstypes[] =
237
{
238
HP_PRISM_SINGEDGE,
239
HP_HEX,
240
HP_PRISM_1FA_1E_0V,
241
HP_HEX_1F_0E_0V,
242
HP_NONE,
243
};
244
int refprism_1fa_1e_0v_newels[][8] =
245
{
246
{ 16, 19, 24, 4, 40, 45 },
247
{ 24, 19, 17, 18, 45 , 40, 5, 6 },
248
{ 1, 7 , 12 , 16, 19, 24 },
249
{ 7, 2, 3, 12, 19, 17, 18, 24 }
250
};
251
HPRef_Struct refprism_1fa_1e_0v =
252
{
253
HP_PRISM,
254
refprism_1fa_1e_0v_splitedges,
255
refprism_1fa_1e_0v_splitfaces,
256
0,
257
refprism_1fa_1e_0v_newelstypes,
258
refprism_1fa_1e_0v_newels
259
};
260
261
// HP_PRISM_2FA_1E_0V
262
int refprism_2fa_1e_0v_splitedges[][3] =
263
{
264
{ 1, 4, 16 },
265
{ 2, 5, 17 },
266
{ 3, 6, 18 },
267
{ 1, 2, 7},
268
{ 1, 3, 12},
269
{ 4, 6, 45},
270
{ 4, 5, 40},
271
{ 4, 1, 28},
272
{ 5, 2, 29},
273
{ 6, 3, 30},
274
{ 0, 0, 0 }
275
};
276
int refprism_2fa_1e_0v_splitfaces[][4] =
277
{
278
{1,2,4,19},
279
{1,3,4,24},
280
{4,1,5,31},
281
{4,1,6,36},
282
{0,0,0,0}
283
};
284
285
HPREF_ELEMENT_TYPE refprism_2fa_1e_0v_newelstypes[] =
286
{
287
HP_PRISM_SINGEDGE,
288
HP_HEX,
289
HP_PRISM_1FA_1E_0V,
290
HP_HEX_1F_0E_0V,
291
HP_PRISM_1FA_1E_0V,
292
HP_HEX_1F_0E_0V,
293
HP_NONE,
294
};
295
int refprism_2fa_1e_0v_newels[][8] =
296
{
297
{ 16, 19, 24, 28, 31, 36 },
298
{ 24, 19, 17, 18, 36, 31, 29, 30 },
299
{ 1, 7 , 12 , 16, 19, 24 },
300
{ 12, 7, 2, 3, 24, 19, 17, 18 },
301
{ 4, 45, 40, 28, 36, 31 },
302
{ 40, 45, 6, 5, 31, 36, 30, 29,}
303
};
304
HPRef_Struct refprism_2fa_1e_0v =
305
{
306
HP_PRISM,
307
refprism_2fa_1e_0v_splitedges,
308
refprism_2fa_1e_0v_splitfaces,
309
0,
310
refprism_2fa_1e_0v_newelstypes,
311
refprism_2fa_1e_0v_newels
312
};
313
314
// HP_PRISM_1FB_0E_0V ... quad face 1-2-4-5
315
int refprism_1fb_0e_0v_splitedges[][3] =
316
{
317
{ 1, 3, 7 },
318
{ 2, 3, 8 },
319
{ 4, 6, 9 },
320
{ 5, 6, 10 },
321
{ 0, 0, 0 }
322
};
323
HPREF_ELEMENT_TYPE refprism_1fb_0e_0v_newelstypes[] =
324
{
325
HP_HEX_1F_0E_0V,
326
HP_PRISM,
327
HP_NONE,
328
};
329
int refprism_1fb_0e_0v_newels[][8] =
330
{
331
{ 1, 4, 5, 2, 7, 9, 10, 8 },
332
{ 7, 8, 3, 9, 10, 6 }
333
};
334
HPRef_Struct refprism_1fb_0e_0v =
335
{
336
HP_PRISM,
337
refprism_1fb_0e_0v_splitedges,
338
339
0, 0,
340
refprism_1fb_0e_0v_newelstypes,
341
refprism_1fb_0e_0v_newels
342
};
343
344
345
// HP_PRISM_1FB_1EA_0V ... quad face 1-2-4-5
346
int refprism_1fb_1ea_0v_splitedges[][3] =
347
{
348
{ 1, 3, 7 },
349
{ 2, 3, 8 },
350
{ 4, 6, 9 },
351
{ 5, 6, 10 },
352
{ 1, 2, 11 },
353
{ 4, 5, 12 },
354
{ 0, 0, 0 }
355
};
356
HPREF_ELEMENT_TYPE refprism_1fb_1ea_0v_newelstypes[] =
357
{
358
HP_HEX_1F_0E_0V,
359
HP_PRISM_1FB_1EA_0V,
360
HP_PRISM,
361
HP_NONE,
362
};
363
int refprism_1fb_1ea_0v_newels[][8] =
364
{
365
{ 11, 12, 5, 2, 7, 9, 10, 8 },
366
{ 1, 11, 7, 4, 12, 9 },
367
{ 7, 8, 3, 9, 10, 6 }
368
};
369
HPRef_Struct refprism_1fb_1ea_0v =
370
{
371
HP_PRISM,
372
refprism_1fb_1ea_0v_splitedges,
373
0, 0,
374
refprism_1fb_1ea_0v_newelstypes,
375
refprism_1fb_1ea_0v_newels
376
};
377
378
// HP_PRISM_1FB_1EC_0V ... quad face 1-2-4-5 with singular edge 3-6
379
int refprism_1fb_1ec_0v_splitedges[][3] =
380
{
381
{2,3,9},
382
{1,3,12},
383
{3,2,10},
384
{3,1,11},
385
{5,6,42},
386
{4,6,45},
387
{6,5,43},
388
{6,4,44},
389
{ 0, 0, 0 }
390
};
391
HPREF_ELEMENT_TYPE refprism_1fb_1ec_0v_newelstypes[] =
392
{
393
HP_PRISM_SINGEDGE,
394
HP_HEX,
395
HP_HEX_1F_0E_0V,
396
HP_NONE,
397
};
398
int refprism_1fb_1ec_0v_newels[][8] =
399
{
400
{ 3, 11, 10, 6, 44, 43},
401
{ 12, 9, 10, 11, 45, 42, 43, 44},
402
{ 4, 5, 2, 1, 45, 42, 9, 12 }
403
};
404
HPRef_Struct refprism_1fb_1ec_0v =
405
{
406
HP_PRISM,
407
refprism_1fb_1ec_0v_splitedges,
408
0, 0,
409
refprism_1fb_1ec_0v_newelstypes,
410
refprism_1fb_1ec_0v_newels
411
};
412
413
// HP_PRISM_1FA_1FB_1EC_0V ... bot-trig face, quad face 1-2-4-5 with singular edge 3-6
414
int refprism_1fa_1fb_1ec_0v_splitedges[][3] =
415
{
416
{2,3,9},
417
{1,3,12},
418
{3,2,10},
419
{3,1,11},
420
{5,6,42},
421
{4,6,45},
422
{6,5,43},
423
{6,4,44},
424
{1,4,16},
425
{2,5,17},
426
{3,6,18},
427
{ 0, 0, 0 }
428
};
429
430
int refprism_1fa_1fb_1ec_0v_splitfaces[][4] =
431
{
432
{2,3,5,21},
433
{3,2,6,22},
434
{3,1,6,23},
435
{1,3,4,24},
436
{0,0,0,0}
437
};
438
HPREF_ELEMENT_TYPE refprism_1fa_1fb_1ec_0v_newelstypes[] =
439
{
440
HP_PRISM_SINGEDGE,
441
HP_HEX,
442
HP_HEX_1F_0E_0V,
443
HP_PRISM_1FA_1E_0V,
444
HP_HEX_1F_0E_0V,
445
HP_HEX_1FA_1FB_0E_0V,
446
HP_NONE,
447
};
448
int refprism_1fa_1fb_1ec_0v_newels[][8] =
449
{
450
{ 18, 23, 22, 6, 44, 43},
451
{ 24, 21, 22, 23, 45, 42, 43, 44},
452
{ 4, 5, 17, 16, 45, 42, 21, 24},
453
{ 3, 11, 10, 18, 23, 22},
454
{ 12, 9, 10, 11, 24, 21, 22, 23},
455
{ 1, 2, 9, 12, 16, 17, 21, 24}
456
};
457
HPRef_Struct refprism_1fa_1fb_1ec_0v =
458
{
459
HP_PRISM,
460
refprism_1fa_1fb_1ec_0v_splitedges,
461
refprism_1fa_1fb_1ec_0v_splitfaces, 0,
462
refprism_1fa_1fb_1ec_0v_newelstypes,
463
refprism_1fa_1fb_1ec_0v_newels
464
};
465
466
467
// HP_PRISM_1FA_1FB_2EB_0V
468
int refprism_1fa_1fb_2eb_0v_splitedges[][3] =
469
{
470
{2,3,9},
471
{1,3,12},
472
{3,2,10},
473
{3,1,11},
474
{5,6,42},
475
{4,6,45},
476
{6,5,43},
477
{6,4,44},
478
{1,4,16},
479
{2,5,17},
480
{3,6,18},
481
{ 4, 5, 40},
482
{ 4, 6, 45},
483
{ 1, 2, 7},
484
{ 0, 0, 0 }
485
};
486
487
int refprism_1fa_1fb_2eb_0v_splitfaces[][4] =
488
{
489
{2,3,5,21},
490
{3,2,6,22},
491
{3,1,6,23},
492
{1,3,4,24},
493
{1,2,4,19},
494
{0,0,0,0}
495
};
496
HPREF_ELEMENT_TYPE refprism_1fa_1fb_2eb_0v_newelstypes[] =
497
{
498
HP_PRISM_SINGEDGE,
499
HP_HEX,
500
HP_HEX_1F_0E_0V,
501
HP_PRISM_1FA_1E_0V,
502
HP_HEX_1F_0E_0V,
503
HP_HEX_1FA_1FB_0E_0V,
504
HP_PRISM_1FB_1EA_0V,
505
HP_PRISM_1FA_1FB_1EA_0V,
506
HP_NONE,
507
};
508
int refprism_1fa_1fb_2eb_0v_newels[][8] =
509
{
510
{ 18, 23, 22, 6, 44, 43},
511
{ 24, 21, 22, 23, 45, 42, 43, 44},
512
{ 40, 5, 17, 19, 45, 42, 21, 24},
513
{ 3, 11, 10, 18, 23, 22},
514
{ 12, 9, 10, 11, 24, 21, 22, 23},
515
{ 7, 2, 9, 12, 19, 17, 21, 24},
516
{16,19,24,4,40,45},
517
{1,7,12,16,19,24}
518
};
519
HPRef_Struct refprism_1fa_1fb_2eb_0v =
520
{
521
HP_PRISM,
522
refprism_1fa_1fb_2eb_0v_splitedges,
523
refprism_1fa_1fb_2eb_0v_splitfaces, 0,
524
refprism_1fa_1fb_2eb_0v_newelstypes,
525
refprism_1fa_1fb_2eb_0v_newels
526
};
527
528
// HP_PRISM_1FA_1FB_2EC_0V
529
int refprism_1fa_1fb_2ec_0v_splitedges[][3] =
530
{
531
{2,3,9},
532
{1,3,12},
533
{3,2,10},
534
{3,1,11},
535
{5,6,42},
536
{4,6,45},
537
{6,5,43},
538
{6,4,44},
539
{1,4,16},
540
{2,5,17},
541
{3,6,18},
542
{5,4,41},
543
{2,1,8},
544
{ 0, 0, 0 }
545
};
546
547
int refprism_1fa_1fb_2ec_0v_splitfaces[][4] =
548
{
549
{2,3,5,21},
550
{3,2,6,22},
551
{3,1,6,23},
552
{1,3,4,24},
553
{2,1,5,20},
554
{0,0,0,0}
555
};
556
HPREF_ELEMENT_TYPE refprism_1fa_1fb_2ec_0v_newelstypes[] =
557
{
558
HP_PRISM_SINGEDGE,
559
HP_HEX,
560
HP_HEX_1F_0E_0V,
561
HP_PRISM_1FA_1E_0V,
562
HP_HEX_1F_0E_0V,
563
HP_HEX_1FA_1FB_0E_0V,
564
HP_PRISM_1FA_1FB_1EB_0V,
565
HP_PRISM_1FB_1EA_0V,
566
HP_NONE,
567
};
568
int refprism_1fa_1fb_2ec_0v_newels[][8] =
569
{
570
{ 18, 23, 22, 6, 44, 43},
571
{ 24, 21, 22, 23, 45, 42, 43, 44},
572
{ 4, 41, 20, 16, 45, 42, 21, 24},
573
{ 3, 11, 10, 18, 23, 22},
574
{ 12, 9, 10, 11, 24, 21, 22, 23},
575
{ 1, 8, 9, 12, 16, 20, 21, 24},
576
{8,2,9,20,17,21},
577
{5,41,42,17,20,21}
578
};
579
HPRef_Struct refprism_1fa_1fb_2ec_0v =
580
{
581
HP_PRISM,
582
refprism_1fa_1fb_2ec_0v_splitedges,
583
refprism_1fa_1fb_2ec_0v_splitfaces,
584
0,
585
refprism_1fa_1fb_2ec_0v_newelstypes,
586
refprism_1fa_1fb_2ec_0v_newels
587
};
588
589
590
591
592
593
594
595
// HP_PRISM_2FA_1FB_1EC_0V ... trig faces, quad face 1-2-4-5 with singular edge 3-6
596
int refprism_2fa_1fb_1ec_0v_splitedges[][3] =
597
{
598
{2,3,9},
599
{1,3,12},
600
{3,2,10},
601
{3,1,11},
602
{5,6,42},
603
{4,6,45},
604
{6,5,43},
605
{6,4,44},
606
{1,4,16},
607
{2,5,17},
608
{3,6,18},
609
{ 4, 1, 28},
610
{ 5, 2, 29},
611
{ 6, 3, 30},
612
{ 0, 0, 0 }
613
};
614
615
int refprism_2fa_1fb_1ec_0v_splitfaces[][4] =
616
{
617
{2,3,5,21},
618
{3,2,6,22},
619
{3,1,6,23},
620
{1,3,4,24},
621
{5,2,6,33},
622
{6,5,3,34},
623
{6,4,3,35},
624
{4,1,6,36},
625
{0,0,0,0}
626
};
627
HPREF_ELEMENT_TYPE refprism_2fa_1fb_1ec_0v_newelstypes[] =
628
{
629
HP_PRISM_SINGEDGE,
630
HP_HEX,
631
HP_HEX_1F_0E_0V,
632
HP_PRISM_1FA_1E_0V,
633
HP_HEX_1F_0E_0V,
634
HP_HEX_1FA_1FB_0E_0V,
635
HP_PRISM_1FA_1E_0V,
636
HP_HEX_1F_0E_0V,
637
HP_HEX_1FA_1FB_0E_0V,
638
HP_NONE,
639
};
640
int refprism_2fa_1fb_1ec_0v_newels[][8] =
641
{
642
{ 18, 23, 22, 30, 35, 34},
643
{ 24, 21, 22, 23, 36, 33, 34, 35},
644
{ 28, 29, 17, 16, 36, 33, 21, 24},
645
{ 3, 11, 10, 18, 23, 22},
646
{ 12, 9, 10, 11, 24, 21, 22, 23},
647
{ 1, 2, 9, 12, 16, 17, 21, 24},
648
{ 6, 43, 44, 30, 34, 35},
649
{ 44, 43, 42, 45, 35, 34, 33, 36},
650
{ 5, 4, 45, 42, 29, 28, 36, 33 },
651
};
652
HPRef_Struct refprism_2fa_1fb_1ec_0v =
653
{
654
HP_PRISM,
655
refprism_2fa_1fb_1ec_0v_splitedges,
656
refprism_2fa_1fb_1ec_0v_splitfaces,
657
0,
658
refprism_2fa_1fb_1ec_0v_newelstypes,
659
refprism_2fa_1fb_1ec_0v_newels
660
};
661
662
// HP_PRISM_2FA_1FB_2EB_0V
663
int refprism_2fa_1fb_2eb_0v_splitedges[][3] =
664
{
665
{2,3,9},
666
{1,3,12},
667
{3,2,10},
668
{3,1,11},
669
{5,6,42},
670
{4,6,45},
671
{6,5,43},
672
{6,4,44},
673
{1,4,16},
674
{2,5,17},
675
{3,6,18},
676
{ 4, 1, 28},
677
{ 5, 2, 29},
678
{ 6, 3, 30},
679
{4,5,40},
680
{1,2,7},
681
{ 0, 0, 0 }
682
};
683
684
int refprism_2fa_1fb_2eb_0v_splitfaces[][4] =
685
{
686
{2,3,5,21},
687
{3,2,6,22},
688
{3,1,6,23},
689
{1,3,4,24},
690
{5,6,2,33},
691
{6,5,3,34},
692
{6,4,3,35},
693
{4,1,6,36},
694
{4,1,5,31},
695
{1,2,4,19},
696
{0,0,0,0}
697
};
698
HPREF_ELEMENT_TYPE refprism_2fa_1fb_2eb_0v_newelstypes[] =
699
{
700
HP_PRISM_SINGEDGE,
701
HP_HEX,
702
HP_HEX_1F_0E_0V,
703
HP_PRISM_1FA_1E_0V,
704
HP_HEX_1F_0E_0V,
705
HP_HEX_1FA_1FB_0E_0V,
706
HP_PRISM_1FA_1E_0V,
707
HP_HEX_1F_0E_0V,
708
HP_HEX_1FA_1FB_0E_0V,
709
HP_PRISM_1FA_1FB_1EA_0V,
710
HP_PRISM_1FB_1EA_0V,
711
HP_PRISM_1FA_1FB_1EB_0V,
712
HP_NONE,
713
};
714
int refprism_2fa_1fb_2eb_0v_newels[][8] =
715
{
716
{ 18, 23, 22, 30, 35, 34},
717
{ 24, 21, 22, 23, 36, 33, 34, 35},
718
{ 31, 29, 17, 19, 36, 33, 21, 24},
719
{ 3, 11, 10, 18, 23, 22},
720
{ 12, 9, 10, 11, 24, 21, 22, 23},
721
{ 7, 2, 9, 12, 19, 17, 21, 24},
722
{ 6, 43, 44, 30, 34, 35},
723
{ 44, 43, 42, 45, 35, 34, 33, 36},
724
{ 5, 40, 45, 42, 29, 31, 36, 33 },
725
{ 1, 7, 12, 16, 19, 24 },
726
{ 16, 19, 24, 28, 31, 36 },
727
{ 40, 4, 45, 31, 28, 36 },
728
};
729
HPRef_Struct refprism_2fa_1fb_2eb_0v =
730
{
731
HP_PRISM,
732
refprism_2fa_1fb_2eb_0v_splitedges,
733
refprism_2fa_1fb_2eb_0v_splitfaces, 0,
734
refprism_2fa_1fb_2eb_0v_newelstypes,
735
refprism_2fa_1fb_2eb_0v_newels
736
};
737
738
// HP_PRISM_1FB_2EA_0V ... quad face 1-2-4-5 with singular edges 1-4, 2-5
739
int refprism_1fb_2ea_0v_splitedges[][3] =
740
{
741
{ 1, 3, 7 },
742
{ 2, 3, 8 },
743
{ 1, 2, 9 },
744
{ 2, 1, 10 },
745
{ 4, 6, 11 },
746
{ 5, 6, 12 },
747
{ 4, 5, 13 },
748
{ 5, 4, 14 },
749
{ 0, 0, 0 }
750
};
751
HPREF_ELEMENT_TYPE refprism_1fb_2ea_0v_newelstypes[] =
752
{
753
HP_PRISM,
754
HP_PRISM_1FB_1EA_0V,
755
HP_HEX_1F_0E_0V,
756
HP_PRISM_1FB_1EA_0V,
757
HP_NONE,
758
};
759
int refprism_1fb_2ea_0v_newels[][8] =
760
{
761
{ 7, 8, 3, 11, 12, 6 },
762
{ 1, 9, 7, 4, 13, 11 },
763
{ 13, 14, 10, 9, 11, 12, 8, 7 },
764
{ 5, 14, 12, 2, 10, 8 },
765
};
766
HPRef_Struct refprism_1fb_2ea_0v =
767
{
768
HP_PRISM,
769
refprism_1fb_2ea_0v_splitedges,
770
0, 0,
771
refprism_1fb_2ea_0v_newelstypes,
772
refprism_1fb_2ea_0v_newels
773
};
774
775
// HP_PRISM_1FB_2EB_0V ... quad face 1-2-4-5 with singular edges 1-4, 3-6
776
int refprism_1fb_2eb_0v_splitedges[][3] =
777
{
778
{ 1, 2, 7},
779
{ 2, 3, 9},
780
{ 3, 2, 10},
781
{ 3, 1, 11},
782
{ 1, 3, 12},
783
{ 4, 5, 40},
784
{ 5, 6, 42},
785
{ 6, 5, 43},
786
{ 6, 4, 44},
787
{ 4, 6, 45},
788
{ 0, 0, 0 }
789
};
790
HPREF_ELEMENT_TYPE refprism_1fb_2eb_0v_newelstypes[] =
791
{
792
HP_PRISM_SINGEDGE,
793
HP_HEX,
794
HP_PRISM_1FB_1EA_0V,
795
HP_HEX_1F_0E_0V,
796
HP_NONE,
797
};
798
int refprism_1fb_2eb_0v_newels[][8] =
799
{
800
{ 3, 11, 10, 6, 44, 43 },
801
{ 12, 9, 10, 11, 45, 42, 43, 44},
802
{ 1, 7, 12, 4, 40, 45},
803
{ 40, 5, 2, 7, 45, 42, 9, 12}
804
};
805
HPRef_Struct refprism_1fb_2eb_0v =
806
{
807
HP_PRISM,
808
refprism_1fb_2eb_0v_splitedges,
809
0, 0,
810
refprism_1fb_2eb_0v_newelstypes,
811
refprism_1fb_2eb_0v_newels
812
};
813
814
// HP_PRISM_1FB_3E_0V ... quad face 1-2-4-5 with singular edges 1-4, 3-6
815
int refprism_1fb_3e_0v_splitedges[][3] =
816
{
817
{ 1, 2, 7},
818
{ 2, 1, 8},
819
{ 2, 3, 9},
820
{ 3, 2, 10},
821
{ 3, 1, 11},
822
{ 1, 3, 12},
823
{ 4, 5, 40},
824
{ 5, 4, 41},
825
{ 5, 6, 42},
826
{ 6, 5, 43},
827
{ 6, 4, 44},
828
{ 4, 6, 45},
829
{ 0, 0, 0 }
830
};
831
HPREF_ELEMENT_TYPE refprism_1fb_3e_0v_newelstypes[] =
832
{
833
HP_PRISM_SINGEDGE,
834
HP_HEX,
835
HP_PRISM_1FB_1EA_0V,
836
HP_HEX_1F_0E_0V,
837
HP_PRISM_1FB_1EA_0V,
838
HP_NONE,
839
};
840
int refprism_1fb_3e_0v_newels[][8] =
841
{
842
{ 3, 11, 10, 6, 44, 43 },
843
{ 12, 9, 10, 11, 45, 42, 43, 44},
844
{ 1, 7, 12, 4, 40, 45 },
845
{ 40, 41, 8, 7, 45, 42, 9, 12},
846
{ 5, 41, 42, 2, 8, 9},
847
};
848
HPRef_Struct refprism_1fb_3e_0v =
849
{
850
HP_PRISM,
851
refprism_1fb_3e_0v_splitedges,
852
0, 0,
853
refprism_1fb_3e_0v_newelstypes,
854
refprism_1fb_3e_0v_newels
855
};
856
857
858
859
// HP_PRISM_2FB ... quad face 1-2-4-5 and quad face 1-4-6-3
860
int refprism_2fb_0e_0v_splitedges[][3] =
861
{
862
{ 1, 3, 7 },
863
{ 2, 3, 8 },
864
{ 1, 2, 9 },
865
{ 3, 2, 10 },
866
{ 4, 6, 11 },
867
{ 5, 6, 12 },
868
{ 4, 5, 13 },
869
{ 6, 5, 14 },
870
{ 0, 0, 0 }
871
};
872
int refprism_2fb_0e_0v_splitfaces[][4] =
873
{
874
{ 1, 2, 3, 15 },
875
{ 4, 5, 6, 16 },
876
{ 0, 0, 0, 0 },
877
};
878
HPREF_ELEMENT_TYPE refprism_2fb_0e_0v_newelstypes[] =
879
{
880
HP_PRISM,
881
HP_HEX_1F_0E_0V,
882
HP_HEX_1F_0E_0V,
883
HP_PRISM_1FB_1EA_0V,
884
HP_PRISM_1FB_1EA_0V,
885
HP_NONE,
886
};
887
int refprism_2fb_0e_0v_newels[][8] =
888
{
889
{ 15, 8, 10, 16, 12, 14 },
890
{ 13, 5, 2, 9, 16, 12, 8, 15},
891
{ 11, 7, 3, 6, 16, 15, 10, 14 },
892
{ 1, 9, 15, 4, 13, 16 },
893
{ 4, 11, 16, 1,7, 15 }
894
};
895
HPRef_Struct refprism_2fb_0e_0v =
896
{
897
HP_PRISM,
898
refprism_2fb_0e_0v_splitedges,
899
refprism_2fb_0e_0v_splitfaces,
900
0,
901
refprism_2fb_0e_0v_newelstypes,
902
refprism_2fb_0e_0v_newels
903
};
904
905
// HP_PRISM_2FB ... quad face 1-2-4-5 and quad face 1-4-6-3 and sing edge 3-6
906
int refprism_2fb_1ec_0v_splitedges[][3] =
907
{
908
{ 1, 3, 7 },
909
{ 2, 3, 8 },
910
{ 1, 2, 9 },
911
{ 3, 2, 10 },
912
{ 4, 6, 11 },
913
{ 5, 6, 12 },
914
{ 4, 5, 13 },
915
{ 6, 5, 14 },
916
{ 3, 1, 17},
917
{ 6, 4, 18},
918
{ 0, 0, 0 }
919
};
920
int refprism_2fb_1ec_0v_splitfaces[][4] =
921
{
922
{ 1, 2, 3, 15 },
923
{ 4, 5, 6, 16 },
924
{ 0, 0, 0, 0 },
925
};
926
HPREF_ELEMENT_TYPE refprism_2fb_1ec_0v_newelstypes[] =
927
{
928
HP_PRISM,
929
HP_HEX_1F_0E_0V,
930
HP_HEX_1F_0E_0V,
931
HP_PRISM_1FB_1EA_0V,
932
HP_PRISM_1FB_1EA_0V,
933
HP_PRISM_1FB_1EA_0V,
934
HP_NONE,
935
};
936
int refprism_2fb_1ec_0v_newels[][8] =
937
{
938
{ 15, 8, 10, 16, 12, 14 },
939
{ 13, 5, 2, 9, 16, 12, 8, 15},
940
{ 11, 7, 17, 18, 16, 15, 10, 14 },
941
{ 1, 9, 15, 4, 13, 16 },
942
{ 4, 11, 16, 1,7, 15 },
943
{ 3, 17, 10, 6, 18, 14 }
944
};
945
HPRef_Struct refprism_2fb_1ec_0v =
946
{
947
HP_PRISM,
948
refprism_2fb_1ec_0v_splitedges,
949
refprism_2fb_1ec_0v_splitfaces,
950
0,
951
refprism_2fb_1ec_0v_newelstypes,
952
refprism_2fb_1ec_0v_newels
953
};
954
955
956
957
// HP_PRISM_2FB ... quad face 1-2-4-5 and quad face 1-4-6-3 and 3 sing edges
958
int refprism_2fb_3e_0v_splitedges[][3] =
959
{
960
{ 1, 3, 7 },
961
{ 2, 3, 8 },
962
{ 1, 2, 9 },
963
{ 3, 2, 10 },
964
{ 4, 6, 11 },
965
{ 5, 6, 12 },
966
{ 4, 5, 13 },
967
{ 6, 5, 14 },
968
{ 3, 1, 17},
969
{ 6, 4, 18},
970
{ 2, 1, 19},
971
{ 5, 4, 20},
972
{ 0, 0, 0 }
973
};
974
int refprism_2fb_3e_0v_splitfaces[][4] =
975
{
976
{ 1, 2, 3, 15 },
977
{ 4, 5, 6, 16 },
978
{ 0, 0, 0, 0 },
979
};
980
HPREF_ELEMENT_TYPE refprism_2fb_3e_0v_newelstypes[] =
981
{
982
HP_PRISM,
983
HP_HEX_1F_0E_0V,
984
HP_HEX_1F_0E_0V,
985
HP_PRISM_1FB_1EA_0V,
986
HP_PRISM_1FB_1EA_0V,
987
HP_PRISM_1FB_1EA_0V,
988
HP_PRISM_1FB_1EA_0V,
989
HP_NONE,
990
};
991
int refprism_2fb_3e_0v_newels[][8] =
992
{
993
{ 15, 8, 10, 16, 12, 14 },
994
{ 13, 20, 19, 9, 16, 12, 8, 15},
995
{ 11, 7, 17, 18, 16, 15, 10, 14 },
996
{ 1, 9, 15, 4, 13, 16 },
997
{ 4, 11, 16, 1,7, 15 },
998
{ 3, 17, 10, 6, 18, 14 },
999
{ 5, 20, 12, 2, 19, 8 }
1000
};
1001
HPRef_Struct refprism_2fb_3e_0v =
1002
{
1003
HP_PRISM,
1004
refprism_2fb_3e_0v_splitedges,
1005
refprism_2fb_3e_0v_splitfaces, 0,
1006
refprism_2fb_3e_0v_newelstypes,
1007
refprism_2fb_3e_0v_newels
1008
};
1009
1010
1011
1012
// HP_PRISM_1FA_1FB_0E_0V ... quad face 1-2-4-5 and trig face 1-2-3
1013
int refprism_1fa_1fb_0e_0v_splitedges[][3] =
1014
{
1015
{1,4,16},
1016
{2,5,17},
1017
{3,6,18},
1018
{2,3,9},
1019
{1,3,12},
1020
{5,6,42},
1021
{4,6,45},
1022
{0,0,0}
1023
};
1024
int refprism_1fa_1fb_0e_0v_splitfaces[][4] =
1025
{
1026
{2,3,5,21},
1027
{1,3,4,24},
1028
{ 0, 0, 0, 0 }
1029
};
1030
1031
HPREF_ELEMENT_TYPE refprism_1fa_1fb_0e_0v_newelstypes[] =
1032
{
1033
HP_PRISM,
1034
HP_HEX_1F_0E_0V,
1035
HP_PRISM_1FA_0E_0V,
1036
HP_HEX_1FA_1FB_0E_0V,
1037
HP_NONE,
1038
};
1039
int refprism_1fa_1fb_0e_0v_newels[][8] =
1040
{
1041
{ 24, 21, 18, 45, 42, 6 },
1042
{ 4, 5, 17, 16, 45, 42, 21, 24 },
1043
{ 12, 9, 3, 24, 21, 18 },
1044
{ 1, 2, 9, 12, 16, 17, 21, 24 }
1045
};
1046
HPRef_Struct refprism_1fa_1fb_0e_0v =
1047
{
1048
HP_PRISM,
1049
refprism_1fa_1fb_0e_0v_splitedges,
1050
1051
refprism_1fa_1fb_0e_0v_splitfaces, 0,
1052
refprism_1fa_1fb_0e_0v_newelstypes,
1053
refprism_1fa_1fb_0e_0v_newels
1054
};
1055
1056
/*
1057
// HP_PRISM_1FA_1FB_1EC_0V ... quad face 1-2-4-5 and trig face 1-2-3
1058
int refprism_1fa_1fb_1ec_0v_splitedges[][3] =
1059
{
1060
{1,4,16},
1061
{2,5,17},
1062
{3,6,18},
1063
{2,3,9},
1064
{1,3,12},
1065
{5,6,42},
1066
{4,6,45},
1067
{6,5,43},
1068
{6,4,44},
1069
{3,2,10},
1070
{3,1,11},
1071
{0,0,0}
1072
};
1073
int refprism_1fa_1fb_1ec_0v_splitfaces[][4] =
1074
{
1075
{2,3,5,21},
1076
{1,3,4,24},
1077
{ 0, 0, 0, 0 }
1078
};
1079
1080
HPREF_ELEMENT_TYPE refprism_1fa_1fb_1ec_0v_newelstypes[] =
1081
{
1082
HP_PRISM,
1083
HP_HEX_1F_0E_0V,
1084
HP_PRISM_1FA_0E_0V,
1085
HP_HEX_1FA_1FB_0E_0V,
1086
HP_PRISM_SINGEDGE,
1087
HP_PRISM_1FA_1E_0V,
1088
HP_PRISM_
1089
HP_NONE,
1090
};
1091
int refprism_1fa_1fb_0e_0v_newels[][8] =
1092
{
1093
{ 24, 21, 18, 45, 42, 6 },
1094
{ 4, 5, 17, 16, 45, 42, 21, 24 },
1095
{ 12, 9, 3, 24, 21, 18 },
1096
{ 1, 2, 9, 12, 16, 17, 21, 24 }
1097
};
1098
HPRef_Struct refprism_1fa_1fb_0e_0v =
1099
{
1100
HP_PRISM,
1101
refprism_1fa_1fb_1ec_0v_splitedges,
1102
1103
refprism_1fa_1fb_1ec_0v_splitfaces, 0,
1104
refprism_1fa_1fb_1ec_0v_newelstypes,
1105
refprism_1fa_1fb_1ec_0v_newels
1106
};
1107
1108
1109
*/
1110
1111
1112
1113
1114
// HP_PRISM_2FA_1FB_0E_0V ... quad face 1-2-4-5 and trig face 1-2-3
1115
int refprism_2fa_1fb_0e_0v_splitedges[][3] =
1116
{
1117
{2,3,9},
1118
{1,3,12},
1119
{1,4,16},
1120
{2,5,17},
1121
{3,6,18},
1122
{5,6,42},
1123
{4,6,45},
1124
{4,1,28},
1125
{5,2,29},
1126
{6,3,30},
1127
{0,0,0}
1128
1129
};
1130
int refprism_2fa_1fb_0e_0v_splitfaces[][4] =
1131
{
1132
{2,3,5,21},
1133
{1,3,4,24},
1134
{5,6,2,33},
1135
{4,1,6,36},
1136
{0,0,0,0}
1137
};
1138
1139
HPREF_ELEMENT_TYPE refprism_2fa_1fb_0e_0v_newelstypes[] =
1140
{
1141
HP_HEX_1F_0E_0V,
1142
HP_PRISM,
1143
HP_PRISM_1FA_0E_0V,
1144
HP_HEX_1FA_1FB_0E_0V,
1145
HP_PRISM_1FA_0E_0V,
1146
HP_HEX_1FA_1FB_0E_0V,
1147
HP_NONE,
1148
};
1149
int refprism_2fa_1fb_0e_0v_newels[][8] =
1150
{
1151
{28,29,17,16,36,33,21,24},
1152
{24,21,18, 36, 33, 30},
1153
{12,9,3,24,21,18},
1154
{1,2,9,12,16,17,21,24},
1155
{6,42,45,30,33,36},
1156
{4,5,29,28,45,42,33,36}
1157
};
1158
HPRef_Struct refprism_2fa_1fb_0e_0v =
1159
{
1160
HP_PRISM,
1161
refprism_2fa_1fb_0e_0v_splitedges,
1162
1163
refprism_2fa_1fb_0e_0v_splitfaces, 0,
1164
refprism_2fa_1fb_0e_0v_newelstypes,
1165
refprism_2fa_1fb_0e_0v_newels
1166
};
1167
1168
1169
// HP_PRISM_1FA_1FB_1EA_0V ... quad face 1-2-4-5 and trig face 1-2-3
1170
int refprism_1fa_1fb_1ea_0v_splitedges[][3] =
1171
{
1172
{2,3,9},
1173
{1,3,12},
1174
{1,4,16},
1175
{2,5,17},
1176
{3,6,18},
1177
{5,6,42},
1178
{4,6,45},
1179
{4,5,40},
1180
{1,2,7},
1181
{0,0,0},
1182
};
1183
int refprism_1fa_1fb_1ea_0v_splitfaces[][4] =
1184
{
1185
{2,3,5,21},
1186
{1,3,4,24},
1187
{1,2,4,19},
1188
{0,0,0,0},
1189
};
1190
1191
HPREF_ELEMENT_TYPE refprism_1fa_1fb_1ea_0v_newelstypes[] =
1192
{
1193
HP_HEX_1F_0E_0V,
1194
HP_PRISM,
1195
HP_PRISM_1FA_0E_0V,
1196
HP_HEX_1FA_1FB_0E_0V,
1197
HP_PRISM_1FB_1EA_0V,
1198
HP_PRISM_1FA_1FB_1EA_0V,
1199
HP_NONE
1200
};
1201
int refprism_1fa_1fb_1ea_0v_newels[][8] =
1202
{
1203
{40,5,17,19,45,42,21,24},
1204
{24,21,18,45,42,6},
1205
{12,9,3,24,21,18},
1206
{7,2,9,12,19,17,21,24},
1207
{16,19,24,4,40,45},
1208
{1,7,12,16,19,24}
1209
1210
};
1211
HPRef_Struct refprism_1fa_1fb_1ea_0v =
1212
{
1213
HP_PRISM,
1214
refprism_1fa_1fb_1ea_0v_splitedges,
1215
refprism_1fa_1fb_1ea_0v_splitfaces, 0,
1216
refprism_1fa_1fb_1ea_0v_newelstypes,
1217
refprism_1fa_1fb_1ea_0v_newels
1218
};
1219
1220
// HP_PRISM_2FA_1FB_1EA_0V
1221
int refprism_2fa_1fb_1ea_0v_splitedges[][3] =
1222
{
1223
{2,3,9},
1224
{1,3,12},
1225
{1,4,16},
1226
{2,5,17},
1227
{3,6,18},
1228
{5,6,42},
1229
{4,6,45},
1230
{4,1,28},
1231
{5,2,29},
1232
{6,3,30},
1233
{4,5,40},
1234
{1,2,7},
1235
{0,0,0},
1236
};
1237
int refprism_2fa_1fb_1ea_0v_splitfaces[][4] =
1238
{
1239
{2,3,5,21},
1240
{1,3,4,24},
1241
{1,2,4,19},
1242
{4,1,6,36},
1243
{4,1,5,31},
1244
{5,6,2,33},
1245
{0,0,0,0},
1246
};
1247
1248
HPREF_ELEMENT_TYPE refprism_2fa_1fb_1ea_0v_newelstypes[] =
1249
{
1250
HP_PRISM,
1251
HP_HEX_1F_0E_0V,
1252
HP_PRISM_1FB_1EA_0V,
1253
HP_PRISM_1FA_0E_0V,
1254
HP_HEX_1FA_1FB_0E_0V,
1255
HP_PRISM_1FA_1FB_1EA_0V,
1256
HP_PRISM_1FA_0E_0V,
1257
HP_HEX_1FA_1FB_0E_0V,
1258
HP_PRISM_1FA_1FB_1EB_0V,
1259
HP_NONE
1260
};
1261
int refprism_2fa_1fb_1ea_0v_newels[][8] =
1262
{
1263
{ 18, 24, 21, 30, 36, 33},
1264
{ 31, 29, 17, 19, 36, 33, 21, 24},
1265
{ 16,19, 24, 28, 31, 36 },
1266
{ 3, 12, 9, 18, 24, 21 },
1267
{ 7, 2, 9, 12, 19, 17, 21, 24},
1268
{ 1, 7, 12, 16, 19, 24 },
1269
{ 6, 42, 45, 30, 33, 36 },
1270
{ 40, 5, 29, 31, 45, 42, 33, 36 },
1271
{ 40, 4, 45, 31, 28, 36}
1272
};
1273
HPRef_Struct refprism_2fa_1fb_1ea_0v =
1274
{
1275
HP_PRISM,
1276
refprism_2fa_1fb_1ea_0v_splitedges,
1277
refprism_2fa_1fb_1ea_0v_splitfaces, 0,
1278
refprism_2fa_1fb_1ea_0v_newelstypes,
1279
refprism_2fa_1fb_1ea_0v_newels
1280
};
1281
1282
1283
// HP_PRISM_2FA_1FB_2EA_0V
1284
int refprism_2fa_1fb_2ea_0v_splitedges[][3] =
1285
{
1286
{2,3,9},
1287
{1,3,12},
1288
{1,4,16},
1289
{2,5,17},
1290
{3,6,18},
1291
{5,6,42},
1292
{4,6,45},
1293
{4,1,28},
1294
{5,2,29},
1295
{6,3,30},
1296
{4,5,40},
1297
{1,2,7},
1298
{ 5, 4, 41},
1299
{ 2, 1, 8},
1300
{0,0,0},
1301
};
1302
int refprism_2fa_1fb_2ea_0v_splitfaces[][4] =
1303
{
1304
{2,3,5,21},
1305
{1,3,4,24},
1306
{1,2,4,19},
1307
{4,1,6,36},
1308
{4,1,5,31},
1309
{5,6,2,33},
1310
{5,4,2,32},
1311
{2,1,5,20},
1312
{0,0,0,0},
1313
};
1314
1315
HPREF_ELEMENT_TYPE refprism_2fa_1fb_2ea_0v_newelstypes[] =
1316
{
1317
HP_PRISM,
1318
HP_HEX_1F_0E_0V,
1319
HP_PRISM_1FB_1EA_0V,
1320
HP_PRISM_1FA_0E_0V,
1321
HP_HEX_1FA_1FB_0E_0V,
1322
HP_PRISM_1FA_1FB_1EA_0V,
1323
HP_PRISM_1FA_0E_0V,
1324
HP_HEX_1FA_1FB_0E_0V,
1325
HP_PRISM_1FA_1FB_1EB_0V,
1326
HP_PRISM_1FA_1FB_1EB_0V,
1327
HP_PRISM_1FB_1EA_0V,
1328
HP_PRISM_1FA_1FB_1EA_0V,
1329
HP_NONE
1330
};
1331
int refprism_2fa_1fb_2ea_0v_newels[][8] =
1332
{
1333
{ 18, 24, 21, 30, 36, 33},
1334
{ 31, 32, 20, 19, 36, 33, 21, 24},
1335
{ 16,19, 24, 28, 31, 36 },
1336
{ 3, 12, 9, 18, 24, 21 },
1337
{7,8,9,12,19,20,21,24},
1338
{ 1, 7, 12, 16, 19, 24 },
1339
{ 6, 42, 45, 30, 33, 36 },
1340
{ 40, 41, 32, 31, 45, 42, 33, 36},
1341
{ 40, 4, 45, 31, 28, 36},
1342
{ 8, 2, 9, 20, 17, 21 },
1343
{ 29, 32, 33, 17, 20, 21 },
1344
{ 5, 41, 42, 29, 32, 33 },
1345
};
1346
HPRef_Struct refprism_2fa_1fb_2ea_0v =
1347
{
1348
HP_PRISM,
1349
refprism_2fa_1fb_2ea_0v_splitedges,
1350
refprism_2fa_1fb_2ea_0v_splitfaces, 0,
1351
refprism_2fa_1fb_2ea_0v_newelstypes,
1352
refprism_2fa_1fb_2ea_0v_newels
1353
};
1354
1355
// HP_PRISM_2FA_1FB_3E_0V
1356
int refprism_2fa_1fb_3e_0v_splitedges[][3] =
1357
{
1358
{ 1, 2, 7},
1359
{ 2, 1, 8},
1360
{ 2, 3, 9},
1361
{ 3, 2, 10},
1362
{ 3, 1, 11},
1363
{ 1, 3, 12},
1364
{ 1, 4, 16},
1365
{ 2, 5, 17},
1366
{ 3, 6, 18},
1367
{ 4, 1, 28},
1368
{ 5, 2, 29},
1369
{ 6, 3, 30},
1370
{ 4, 5, 40},
1371
{ 5, 4, 41},
1372
{ 5, 6, 42},
1373
{ 6, 5, 43},
1374
{ 6, 4, 44},
1375
{ 4, 6, 45},
1376
{0,0,0},
1377
};
1378
int refprism_2fa_1fb_3e_0v_splitfaces[][4] =
1379
{
1380
{1,2,4,19},
1381
{2,1,5,20},
1382
{2,3,5,21},
1383
{3,2,6,22},
1384
{3,1,6,23},
1385
{1,3,4,24},
1386
{4,1,5,31},
1387
{5,4,2,32},
1388
{5,6,2,33},
1389
{6,5,3,34},
1390
{6,4,3,35},
1391
{4,1,6,36},
1392
{0,0,0,0},
1393
};
1394
1395
HPREF_ELEMENT_TYPE refprism_2fa_1fb_3e_0v_newelstypes[] =
1396
{
1397
HP_HEX,
1398
HP_PRISM_SINGEDGE,
1399
HP_HEX_1F_0E_0V,
1400
HP_PRISM_1FB_1EA_0V,
1401
HP_PRISM_1FB_1EA_0V,
1402
1403
HP_HEX_1F_0E_0V,
1404
HP_PRISM_1FA_1E_0V,
1405
HP_PRISM_1FA_1FB_1EA_0V,
1406
HP_PRISM_1FA_1FB_1EB_0V,
1407
HP_HEX_1FA_1FB_0E_0V,
1408
1409
HP_HEX_1F_0E_0V,
1410
HP_PRISM_1FA_1E_0V,
1411
HP_PRISM_1FA_1FB_1EB_0V,
1412
HP_PRISM_1FA_1FB_1EA_0V,
1413
HP_HEX_1FA_1FB_0E_0V,
1414
1415
HP_NONE
1416
};
1417
int refprism_2fa_1fb_3e_0v_newels[][8] =
1418
{
1419
{24, 21, 22, 23, 36, 33, 34, 35},
1420
{18, 23, 22, 30, 35, 34},
1421
{ 31, 32, 20, 19, 36, 33, 21, 24},
1422
{ 16,19, 24, 28, 31, 36 },
1423
{ 29, 32, 33, 17, 20, 21},
1424
1425
1426
{ 12, 9,10,11, 24, 21, 22, 23 },
1427
{ 3, 11, 10, 18,23,22},
1428
{ 1, 7, 12 , 16, 19, 24},
1429
{ 8,2,9, 20, 17,21},
1430
{ 7,8,9,12,19, 20, 21, 24},
1431
1432
{ 44, 43, 42, 45, 35, 34, 33, 36},
1433
{ 6, 43, 44, 30, 34, 35},
1434
{ 40, 4, 45, 31,28, 36},
1435
{ 5, 41,42, 29, 32, 33},
1436
{ 40, 41, 32, 31, 45, 42, 33, 36},
1437
};
1438
HPRef_Struct refprism_2fa_1fb_3e_0v =
1439
{
1440
HP_PRISM,
1441
refprism_2fa_1fb_3e_0v_splitedges,
1442
1443
refprism_2fa_1fb_3e_0v_splitfaces, 0,
1444
refprism_2fa_1fb_3e_0v_newelstypes,
1445
refprism_2fa_1fb_3e_0v_newels
1446
};
1447
1448
1449
1450
1451
// HP_PRISM_1FA_1FB_1EB_0V ... quad face 1-2-4-5 and trig face 1-2-3
1452
int refprism_1fa_1fb_1eb_0v_splitedges[][3] =
1453
{
1454
{2,3,9},
1455
{1,3,12},
1456
{1,4,16},
1457
{2,5,17},
1458
{3,6,18},
1459
{5,6,42},
1460
{4,6,45},
1461
{5,4,41},
1462
{2,1,8},
1463
{0,0,0},
1464
};
1465
int refprism_1fa_1fb_1eb_0v_splitfaces[][4] =
1466
{
1467
{2,3,5,21},
1468
{1,3,4,24},
1469
{2,1,5,20},
1470
{0,0,0,0},
1471
};
1472
1473
HPREF_ELEMENT_TYPE refprism_1fa_1fb_1eb_0v_newelstypes[] =
1474
{
1475
HP_HEX_1F_0E_0V,
1476
HP_PRISM,
1477
HP_PRISM_1FA_0E_0V,
1478
HP_HEX_1FA_1FB_0E_0V,
1479
HP_PRISM_1FB_1EA_0V,
1480
HP_PRISM_1FA_1FB_1EB_0V ,
1481
HP_NONE
1482
};
1483
int refprism_1fa_1fb_1eb_0v_newels[][8] =
1484
{
1485
{4,41,20,16,45,42,21,24},
1486
{24,21,18,45,42,6},
1487
{12,9,3,24,21,18},
1488
{1,8,9,12,16,20,21,24},
1489
{5,41,42,17,20,21},
1490
{8,2,9,20,17,21}
1491
};
1492
HPRef_Struct refprism_1fa_1fb_1eb_0v =
1493
{
1494
HP_PRISM,
1495
refprism_1fa_1fb_1eb_0v_splitedges,
1496
1497
refprism_1fa_1fb_1eb_0v_splitfaces, 0,
1498
refprism_1fa_1fb_1eb_0v_newelstypes,
1499
refprism_1fa_1fb_1eb_0v_newels
1500
};
1501
1502
1503
// HP_PRISM_1FA_1FB_2EA_0V ... quad face 1-2-4-5 and trig face 1-2-3
1504
int refprism_1fa_1fb_2ea_0v_splitedges[][3] =
1505
{
1506
{2,3,9},
1507
{1,3,12},
1508
{1,4,16},
1509
{2,5,17},
1510
{3,6,18},
1511
{5,6,42},
1512
{4,6,45},
1513
{5,4,41},
1514
{2,1,8},
1515
{4,5,40},
1516
{1,2,7},
1517
{0,0,0},
1518
1519
};
1520
int refprism_1fa_1fb_2ea_0v_splitfaces[][4] =
1521
{
1522
{2,3,5,21},
1523
{1,3,4,24},
1524
{2,1,5,20},
1525
{1,2,4,19},
1526
{0,0,0,0},
1527
};
1528
1529
HPREF_ELEMENT_TYPE refprism_1fa_1fb_2ea_0v_newelstypes[] =
1530
{
1531
HP_HEX_1F_0E_0V,
1532
HP_PRISM,
1533
HP_PRISM_1FA_0E_0V,
1534
HP_HEX_1FA_1FB_0E_0V,
1535
HP_PRISM_1FB_1EA_0V,
1536
HP_PRISM_1FA_1FB_1EB_0V ,
1537
HP_PRISM_1FB_1EA_0V,
1538
HP_PRISM_1FA_1FB_1EA_0V,
1539
HP_NONE
1540
};
1541
int refprism_1fa_1fb_2ea_0v_newels[][8] =
1542
{
1543
{40,41,20,19,45,42,21,24},
1544
{24,21,18,45,42,6},
1545
{12,9,3,24,21,18},
1546
{7,8,9,12,19,20,21,24},
1547
{5,41,42,17,20,21},
1548
{8,2,9,20,17,21},
1549
{16,19,24,4,40,45},
1550
{1,7,12,16,19,24}
1551
};
1552
HPRef_Struct refprism_1fa_1fb_2ea_0v =
1553
{
1554
HP_PRISM,
1555
refprism_1fa_1fb_2ea_0v_splitedges,
1556
1557
refprism_1fa_1fb_2ea_0v_splitfaces, 0,
1558
refprism_1fa_1fb_2ea_0v_newelstypes,
1559
refprism_1fa_1fb_2ea_0v_newels
1560
};
1561
1562
1563
// HP_PRISM_1FA_1FB_3E_0V
1564
int refprism_1fa_1fb_3e_0v_splitedges[][3] =
1565
{
1566
{2,3,9},
1567
{1,3,12},
1568
{1,4,16},
1569
{2,5,17},
1570
{3,6,18},
1571
{5,6,42},
1572
{4,6,45},
1573
{5,4,41},
1574
{2,1,8},
1575
{4,5,40},
1576
{1,2,7},
1577
{ 3, 2, 10},
1578
{ 3, 1, 11},
1579
{ 6, 5, 43},
1580
{ 6, 4, 44},
1581
{0,0,0},
1582
1583
};
1584
int refprism_1fa_1fb_3e_0v_splitfaces[][4] =
1585
{
1586
{2,3,5,21},
1587
{1,3,4,24},
1588
{2,1,5,20},
1589
{1,2,4,19},
1590
{3,2,6,22},
1591
{3,1,6,23},
1592
{0,0,0,0},
1593
};
1594
1595
HPREF_ELEMENT_TYPE refprism_1fa_1fb_3e_0v_newelstypes[] =
1596
{
1597
HP_HEX_1F_0E_0V,
1598
HP_HEX,
1599
HP_PRISM_SINGEDGE,
1600
HP_HEX_1F_0E_0V,
1601
HP_PRISM_1FA_1E_0V,
1602
HP_HEX_1FA_1FB_0E_0V,
1603
HP_PRISM_1FB_1EA_0V,
1604
HP_PRISM_1FA_1FB_1EB_0V ,
1605
HP_PRISM_1FB_1EA_0V,
1606
HP_PRISM_1FA_1FB_1EA_0V,
1607
HP_NONE
1608
};
1609
int refprism_1fa_1fb_3e_0v_newels[][8] =
1610
{
1611
{40,41,20,19,45,42,21,24},
1612
{24, 21, 22, 23, 45, 42, 43, 44},
1613
{18, 23, 22, 6, 44, 43},
1614
{12, 9, 10, 11, 24, 21, 22, 23},
1615
{3, 11, 10, 18, 23, 22},
1616
{7,8,9,12,19,20,21,24},
1617
{5,41,42,17,20,21},
1618
{8,2,9,20,17,21},
1619
{16,19,24,4,40,45},
1620
{1,7,12,16,19,24}
1621
};
1622
HPRef_Struct refprism_1fa_1fb_3e_0v =
1623
{
1624
HP_PRISM,
1625
refprism_1fa_1fb_3e_0v_splitedges,
1626
1627
refprism_1fa_1fb_3e_0v_splitfaces, 0,
1628
refprism_1fa_1fb_3e_0v_newelstypes,
1629
refprism_1fa_1fb_3e_0v_newels
1630
};
1631
1632
1633
1634
1635
1636
1637
1638
1639
// HP_PRISM_2FA_0E_0V singular trig faces
1640
int refprism_2fa_0e_0v_splitedges[][3] =
1641
{
1642
{1,4,16},
1643
{2,5,17},
1644
{3,6,18},
1645
{4,1,28},
1646
{5,2,29},
1647
{6,3,30},
1648
{0,0,0}
1649
};
1650
1651
HPREF_ELEMENT_TYPE refprism_2fa_0e_0v_newelstypes[] =
1652
{
1653
HP_PRISM,
1654
HP_PRISM_1FA_0E_0V,
1655
HP_PRISM_1FA_0E_0V,
1656
HP_NONE
1657
};
1658
int refprism_2fa_0e_0v_newels[][8] =
1659
{
1660
{16,17,18,28,29,30},
1661
{1,2,3,16,17,18},
1662
{4,6,5,28,30,29},
1663
};
1664
1665
HPRef_Struct refprism_2fa_0e_0v =
1666
1667
{
1668
HP_PRISM,
1669
refprism_2fa_0e_0v_splitedges,
1670
0, 0,
1671
refprism_2fa_0e_0v_newelstypes,
1672
refprism_2fa_0e_0v_newels
1673
};
1674
1675
1676
1677
1678
1679
// HP_PRISM_1FA_2FB ... quad face 1-2-4-5 and quad face 1-4-6-3
1680
int refprism_1fa_2fb_0e_0v_splitedges[][3] =
1681
{
1682
{ 1, 2, 7},
1683
{ 2, 3, 9},
1684
{ 3, 2, 10},
1685
{ 1, 3, 12},
1686
{ 1, 4, 16},
1687
{ 2, 5, 17},
1688
{ 3, 6, 18},
1689
{ 4, 5, 40},
1690
{ 5, 6, 42},
1691
{ 6, 5, 43},
1692
{ 4, 6, 45},
1693
{ 0, 0, 0 }
1694
};
1695
int refprism_1fa_2fb_0e_0v_splitfaces[][4] =
1696
{
1697
{1,2,3,13},
1698
{1,2,4,19},
1699
{2,3,5,21},
1700
{3,2,6,22},
1701
{1,3,4,24},
1702
{4,5,6,46},
1703
{ 0, 0, 0, 0 }
1704
};
1705
int refprism_1fa_2fb_0e_0v_splitelement[][5] =
1706
{
1707
{1,2,3,4,25},
1708
{0,0,0,0,0}
1709
};
1710
1711
HPREF_ELEMENT_TYPE refprism_1fa_2fb_0e_0v_newelstypes[] =
1712
{
1713
HP_PRISM,
1714
HP_HEX_1F_0E_0V,
1715
HP_HEX_1F_0E_0V,
1716
HP_PRISM_1FB_1EA_0V,
1717
HP_PRISM_1FB_1EA_0V,
1718
HP_PRISM_1FA_0E_0V,
1719
HP_HEX_1FA_1FB_0E_0V,
1720
HP_HEX_1FA_1FB_0E_0V,
1721
HP_PRISM_1FA_1FB_1EA_0V,
1722
HP_PRISM_1FA_1FB_1EB_0V,
1723
HP_NONE,
1724
};
1725
int refprism_1fa_2fb_0e_0v_newels[][8] =
1726
{
1727
{ 25, 21, 22, 46, 42, 43 },
1728
{ 40, 5, 17, 19, 46, 42, 21, 25 },
1729
{ 24, 18, 6, 45, 25, 22, 43, 46},
1730
{ 16, 19, 25, 4, 40, 46 },
1731
{ 4, 45, 46, 16, 24, 25 },
1732
{ 13, 9, 10, 25, 21, 22 },
1733
{ 7, 2, 9, 13, 19, 17, 21, 25 },
1734
{ 3, 12, 13, 10, 18, 24, 25, 22 },
1735
{ 1, 7, 13, 16, 19, 25 },
1736
{ 12, 1, 13, 24, 16, 25 }
1737
1738
};
1739
HPRef_Struct refprism_1fa_2fb_0e_0v =
1740
{
1741
HP_PRISM,
1742
refprism_1fa_2fb_0e_0v_splitedges,
1743
refprism_1fa_2fb_0e_0v_splitfaces,
1744
refprism_1fa_2fb_0e_0v_splitelement,
1745
refprism_1fa_2fb_0e_0v_newelstypes,
1746
refprism_1fa_2fb_0e_0v_newels
1747
};
1748
1749
// HP_PRISM_1FA_2FB_1EC ... quad face 1-2-4-5 and quad face 1-4-6-3
1750
int refprism_1fa_2fb_1ec_0v_splitedges[][3] =
1751
{
1752
{ 1, 2, 7},
1753
{ 2, 3, 9},
1754
{ 3, 2, 10},
1755
{ 3, 1, 11},
1756
{ 1, 3, 12},
1757
{ 1, 4, 16},
1758
{ 2, 5, 17},
1759
{ 3, 6, 18},
1760
{ 4, 5, 40},
1761
{ 5, 6, 42},
1762
{ 6, 5, 43},
1763
{ 6, 4, 44},
1764
{ 4, 6, 45},
1765
{ 0, 0, 0 }
1766
};
1767
int refprism_1fa_2fb_1ec_0v_splitfaces[][4] =
1768
{
1769
{1,2,3,13},
1770
{1,2,4,19},
1771
{2,3,5,21},
1772
{3,2,6,22},
1773
{3,1,6,23},
1774
{1,3,4,24},
1775
{4,5,6,46},
1776
{ 0, 0, 0, 0 }
1777
};
1778
int refprism_1fa_2fb_1ec_0v_splitelement[][5] =
1779
{
1780
{1,2,3,4,25},
1781
{0,0,0,0,0}
1782
};
1783
1784
HPREF_ELEMENT_TYPE refprism_1fa_2fb_1ec_0v_newelstypes[] =
1785
{
1786
HP_PRISM,
1787
HP_HEX_1F_0E_0V,
1788
HP_HEX_1F_0E_0V,
1789
HP_PRISM_1FB_1EA_0V,
1790
HP_PRISM_1FB_1EA_0V,
1791
HP_PRISM_1FB_1EA_0V,
1792
1793
HP_PRISM_1FA_0E_0V,
1794
HP_HEX_1FA_1FB_0E_0V,
1795
HP_HEX_1FA_1FB_0E_0V,
1796
HP_PRISM_1FA_1FB_1EA_0V,
1797
HP_PRISM_1FA_1FB_1EB_0V,
1798
HP_PRISM_1FA_1FB_1EA_0V,
1799
1800
HP_NONE,
1801
};
1802
int refprism_1fa_2fb_1ec_0v_newels[][8] =
1803
{
1804
{ 25, 21, 22, 46, 42, 43 },
1805
{ 40, 5, 17, 19, 46, 42, 21, 25 },
1806
{ 24, 23, 44, 45, 25, 22, 43, 46},
1807
{ 16, 19, 25, 4, 40, 46 },
1808
{ 4, 45, 46, 16, 24, 25 },
1809
{ 18, 23, 22, 6, 44, 43},
1810
1811
1812
{ 13, 9, 10, 25, 21, 22 },
1813
{ 7, 2, 9, 13, 19, 17, 21, 25 },
1814
{ 11, 12, 13, 10, 23, 24, 25, 22 },
1815
{ 1, 7, 13, 16, 19, 25 },
1816
{ 12, 1, 13, 24, 16, 25 },
1817
{ 3, 11, 10, 18, 23, 22},
1818
1819
};
1820
HPRef_Struct refprism_1fa_2fb_1ec_0v =
1821
{
1822
HP_PRISM,
1823
refprism_1fa_2fb_1ec_0v_splitedges,
1824
refprism_1fa_2fb_1ec_0v_splitfaces,
1825
refprism_1fa_2fb_1ec_0v_splitelement,
1826
refprism_1fa_2fb_1ec_0v_newelstypes,
1827
refprism_1fa_2fb_1ec_0v_newels
1828
};
1829
1830
1831
// HP_PRISM_1FA_2FB_3E ... quad face 1-2-4-5 and quad face 1-4-6-3
1832
int refprism_1fa_2fb_3e_0v_splitedges[][3] =
1833
{
1834
{ 1, 2, 7},
1835
{ 2, 1, 8},
1836
{ 2, 3, 9},
1837
{ 3, 2, 10},
1838
{ 3, 1, 11},
1839
{ 1, 3, 12},
1840
{ 1, 4, 16},
1841
{ 2, 5, 17},
1842
{ 3, 6, 18},
1843
{ 4, 5, 40},
1844
{ 5, 4, 41},
1845
{ 5, 6, 42},
1846
{ 6, 5, 43},
1847
{ 6, 4, 44},
1848
{ 4, 6, 45},
1849
{ 0, 0, 0 }
1850
};
1851
int refprism_1fa_2fb_3e_0v_splitfaces[][4] =
1852
{
1853
{1,2,3,13},
1854
{1,2,4,19},
1855
{2,1,5,20},
1856
{2,3,5,21},
1857
{3,2,6,22},
1858
{3,1,6,23},
1859
{1,3,4,24},
1860
{4,5,6,46},
1861
{ 0, 0, 0, 0 }
1862
};
1863
int refprism_1fa_2fb_3e_0v_splitelement[][5] =
1864
{
1865
{1,2,3,4,25},
1866
{0,0,0,0,0}
1867
};
1868
1869
HPREF_ELEMENT_TYPE refprism_1fa_2fb_3e_0v_newelstypes[] =
1870
{
1871
HP_PRISM,
1872
HP_HEX_1F_0E_0V,
1873
HP_HEX_1F_0E_0V,
1874
HP_PRISM_1FB_1EA_0V,
1875
HP_PRISM_1FB_1EA_0V,
1876
HP_PRISM_1FB_1EA_0V,
1877
HP_PRISM_1FB_1EA_0V,
1878
1879
1880
HP_PRISM_1FA_0E_0V,
1881
HP_HEX_1FA_1FB_0E_0V,
1882
HP_HEX_1FA_1FB_0E_0V,
1883
HP_PRISM_1FA_1FB_1EA_0V,
1884
HP_PRISM_1FA_1FB_1EB_0V,
1885
HP_PRISM_1FA_1FB_1EA_0V,
1886
HP_PRISM_1FA_1FB_1EB_0V,
1887
1888
HP_NONE,
1889
};
1890
int refprism_1fa_2fb_3e_0v_newels[][8] =
1891
{
1892
{ 25, 21, 22, 46, 42, 43 },
1893
{ 40, 41, 20, 19, 46, 42, 21, 25 },
1894
{ 24, 23, 44, 45, 25, 22, 43, 46},
1895
{ 16, 19, 25, 4, 40, 46 },
1896
{ 4, 45, 46, 16, 24, 25 },
1897
{ 18, 23, 22, 6, 44, 43},
1898
{ 5, 41, 42, 17, 20, 21},
1899
1900
1901
{ 13, 9, 10, 25, 21, 22 },
1902
{ 7, 8, 9, 13, 19, 20, 21, 25 },
1903
{ 11, 12, 13, 10, 23, 24, 25, 22 },
1904
{ 1, 7, 13, 16, 19, 25 },
1905
1906
{ 12, 1, 13, 24, 16, 25 },
1907
{ 3, 11, 10, 18, 23, 22},
1908
{ 8, 2, 9, 20, 17, 21},
1909
1910
};
1911
HPRef_Struct refprism_1fa_2fb_3e_0v =
1912
{
1913
HP_PRISM,
1914
refprism_1fa_2fb_3e_0v_splitedges,
1915
refprism_1fa_2fb_3e_0v_splitfaces,
1916
refprism_1fa_2fb_3e_0v_splitelement,
1917
refprism_1fa_2fb_3e_0v_newelstypes,
1918
refprism_1fa_2fb_3e_0v_newels
1919
};
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
// HP_PRISM_1FA_2FB_1eb ... quad face 1-2-4-5 and quad face 1-4-6-3
1930
int refprism_1fa_2fb_1eb_0v_splitedges[][3] =
1931
{
1932
{ 1, 2, 7},
1933
{ 2, 1, 8},
1934
{ 2, 3, 9},
1935
{ 3, 2, 10},
1936
{ 1, 3, 12},
1937
{ 1, 4, 16},
1938
{ 2, 5, 17},
1939
{ 3, 6, 18},
1940
{ 4, 5, 40},
1941
{ 5, 4, 41},
1942
{ 5, 6, 42},
1943
{ 6, 5, 43},
1944
{ 4, 6, 45},
1945
{ 0, 0, 0 }
1946
};
1947
int refprism_1fa_2fb_1eb_0v_splitfaces[][4] =
1948
{
1949
{1,2,3,13},
1950
{1,2,4,19},
1951
{2,1,5,20},
1952
{2,3,5,21},
1953
{3,2,6,22},
1954
{1,3,4,24},
1955
{4,5,6,46},
1956
{ 0, 0, 0, 0 }
1957
};
1958
int refprism_1fa_2fb_1eb_0v_splitelement[][5] =
1959
{
1960
{1,2,3,4,25},
1961
{0,0,0,0,0}
1962
};
1963
1964
1965
HPREF_ELEMENT_TYPE refprism_1fa_2fb_1eb_0v_newelstypes[] =
1966
{
1967
HP_PRISM,
1968
HP_HEX_1F_0E_0V,
1969
HP_HEX_1F_0E_0V,
1970
HP_PRISM_1FB_1EA_0V,
1971
HP_PRISM_1FB_1EA_0V,
1972
HP_PRISM_1FB_1EA_0V,
1973
1974
HP_PRISM_1FA_0E_0V,
1975
HP_HEX_1FA_1FB_0E_0V,
1976
HP_HEX_1FA_1FB_0E_0V,
1977
HP_PRISM_1FA_1FB_1EA_0V,
1978
HP_PRISM_1FA_1FB_1EB_0V,
1979
HP_PRISM_1FA_1FB_1EB_0V,
1980
1981
HP_NONE,
1982
};
1983
1984
int refprism_1fa_2fb_1eb_0v_newels[][8] =
1985
{
1986
{ 25, 21, 22, 46, 42, 43 },
1987
{ 40, 41, 20, 19, 46, 42, 21, 25 },
1988
{ 24, 18, 6, 45, 25, 22, 43, 46},
1989
{ 16, 19, 25, 4, 40, 46 },
1990
{ 4, 45, 46, 16, 24, 25 },
1991
{ 5, 41, 42, 17, 20, 21 },
1992
1993
1994
{ 13, 9, 10, 25, 21, 22 },
1995
{ 7, 8, 9, 13, 19, 20, 21, 25 },
1996
{ 3, 12, 13, 10, 18, 24, 25, 22 },
1997
{ 1, 7, 13, 16, 19, 25 },
1998
{ 12, 1, 13, 24, 16, 25 },
1999
{ 8, 2, 9, 20, 17, 21},
2000
2001
};
2002
HPRef_Struct refprism_1fa_2fb_1eb_0v =
2003
{
2004
HP_PRISM,
2005
refprism_1fa_2fb_1eb_0v_splitedges,
2006
refprism_1fa_2fb_1eb_0v_splitfaces,
2007
refprism_1fa_2fb_1eb_0v_splitelement,
2008
refprism_1fa_2fb_1eb_0v_newelstypes,
2009
refprism_1fa_2fb_1eb_0v_newels
2010
};
2011
2012
2013
2014
2015
2016
2017
// HP_PRISM_2FA_2FB
2018
int refprism_2fa_2fb_0e_0v_splitedges[][3] =
2019
{
2020
{ 1, 2, 7},
2021
{ 2, 3, 9},
2022
{ 3, 2, 10},
2023
{ 1, 3, 12},
2024
{ 1, 4, 16},
2025
{ 2, 5, 17},
2026
{ 3, 6, 18},
2027
{ 4, 5, 40},
2028
{ 5, 6, 42},
2029
{ 6, 5, 43},
2030
{ 4, 6, 45},
2031
{ 4, 1, 28},
2032
{ 5, 2, 29},
2033
{ 6, 3, 30},
2034
{ 0, 0, 0 }
2035
};
2036
int refprism_2fa_2fb_0e_0v_splitfaces[][4] =
2037
{
2038
{1,2,3,13},
2039
{1,2,4,19},
2040
{2,3,5,21},
2041
{3,2,6,22},
2042
{1,3,4,24},
2043
{4,5,6,46},
2044
{4,1,5,31},
2045
{5,6,2,33},
2046
{6,5,3,34},
2047
{4,1,6,36},
2048
{ 0, 0, 0, 0 }
2049
};
2050
int refprism_2fa_2fb_0e_0v_splitelement[][5] =
2051
{
2052
{1,2,3,4,25},
2053
{4,1,6,5,37},
2054
{0,0,0,0,0}
2055
};
2056
2057
HPREF_ELEMENT_TYPE refprism_2fa_2fb_0e_0v_newelstypes[] =
2058
{
2059
HP_PRISM,
2060
HP_HEX_1F_0E_0V,
2061
HP_HEX_1F_0E_0V,
2062
HP_PRISM_1FB_1EA_0V,
2063
HP_PRISM_1FB_1EA_0V,
2064
2065
HP_PRISM_1FA_0E_0V,
2066
HP_HEX_1FA_1FB_0E_0V,
2067
HP_HEX_1FA_1FB_0E_0V,
2068
HP_PRISM_1FA_1FB_1EA_0V,
2069
HP_PRISM_1FA_1FB_1EB_0V,
2070
2071
HP_PRISM_1FA_0E_0V,
2072
HP_HEX_1FA_1FB_0E_0V,
2073
HP_HEX_1FA_1FB_0E_0V,
2074
HP_PRISM_1FA_1FB_1EB_0V,
2075
HP_PRISM_1FA_1FB_1EA_0V,
2076
2077
HP_NONE,
2078
};
2079
int refprism_2fa_2fb_0e_0v_newels[][8] =
2080
{
2081
{ 25, 21, 22, 37, 33, 34},
2082
{ 31, 29, 17, 19, 37, 33, 21, 25},
2083
{ 36, 24, 18, 30, 37, 25, 22, 34},
2084
{ 16, 19, 25, 28, 31, 37},
2085
{ 28, 36, 37, 16, 24, 25},
2086
2087
{ 13, 9, 10, 25, 21, 22 },
2088
{ 7, 2, 9, 13, 19, 17, 21, 25 },
2089
{ 3, 12, 13, 10, 18, 24, 25, 22 },
2090
{ 1, 7, 13, 16, 19, 25 },
2091
{ 12, 1, 13, 24, 16, 25 },
2092
2093
{ 46, 43, 42 ,37, 34, 33},
2094
{ 40, 5, 29, 31, 46, 42, 33, 37 },
2095
{ 6, 45, 36, 30, 43, 46, 37, 34 },
2096
{ 40, 4, 46, 31, 28, 37 },
2097
{ 4, 45, 46, 28, 36, 37},
2098
2099
};
2100
HPRef_Struct refprism_2fa_2fb_0e_0v =
2101
{
2102
HP_PRISM,
2103
refprism_2fa_2fb_0e_0v_splitedges,
2104
refprism_2fa_2fb_0e_0v_splitfaces,
2105
refprism_2fa_2fb_0e_0v_splitelement,
2106
refprism_2fa_2fb_0e_0v_newelstypes,
2107
refprism_2fa_2fb_0e_0v_newels
2108
};
2109
2110
2111
// HP_PRISM_2FA_2FB_1EC
2112
int refprism_2fa_2fb_1ec_0v_splitedges[][3] =
2113
{
2114
{ 1, 2, 7},
2115
{ 2, 3, 9},
2116
{ 3, 2, 10},
2117
{ 3, 1, 11},
2118
{ 1, 3, 12},
2119
{ 1, 4, 16},
2120
{ 2, 5, 17},
2121
{ 3, 6, 18},
2122
{ 4, 1, 28},
2123
{ 5, 2, 29},
2124
{ 6, 3, 30},
2125
{ 4, 5, 40},
2126
{ 5, 6, 42},
2127
{ 6, 5, 43},
2128
{ 6, 4, 44},
2129
{ 4, 6, 45},
2130
{ 0, 0, 0 }
2131
};
2132
int refprism_2fa_2fb_1ec_0v_splitfaces[][4] =
2133
{
2134
{1,2,3,13},
2135
{1,2,4,19},
2136
{2,3,5,21},
2137
{3,2,6,22},
2138
{3,1,6,23},
2139
{1,3,4,24},
2140
{4,5,6,46},
2141
{4,1,5,31},
2142
{5,6,2,33},
2143
{6,5,3,34},
2144
{6,4,3,35},
2145
{4,1,6,36},
2146
{ 0, 0, 0, 0 }
2147
};
2148
int refprism_2fa_2fb_1ec_0v_splitelement[][5] =
2149
{
2150
{1,2,3,4,25},
2151
{4,1,6,5,37},
2152
{0,0,0,0,0}
2153
};
2154
2155
HPREF_ELEMENT_TYPE refprism_2fa_2fb_1ec_0v_newelstypes[] =
2156
{
2157
HP_PRISM,
2158
HP_HEX_1F_0E_0V,
2159
HP_HEX_1F_0E_0V,
2160
HP_PRISM_1FB_1EA_0V,
2161
HP_PRISM_1FB_1EA_0V,
2162
HP_PRISM_1FB_1EA_0V,
2163
2164
HP_PRISM_1FA_0E_0V,
2165
HP_HEX_1FA_1FB_0E_0V,
2166
HP_HEX_1FA_1FB_0E_0V,
2167
HP_PRISM_1FA_1FB_1EA_0V,
2168
HP_PRISM_1FA_1FB_1EB_0V,
2169
HP_PRISM_1FA_1FB_1EA_0V,
2170
2171
HP_PRISM_1FA_0E_0V,
2172
HP_HEX_1FA_1FB_0E_0V,
2173
HP_HEX_1FA_1FB_0E_0V,
2174
HP_PRISM_1FA_1FB_1EB_0V,
2175
HP_PRISM_1FA_1FB_1EA_0V,
2176
HP_PRISM_1FA_1FB_1EB_0V,
2177
2178
HP_NONE,
2179
};
2180
int refprism_2fa_2fb_1ec_0v_newels[][8] =
2181
{
2182
{ 25, 21, 22, 37, 33, 34},
2183
{ 31, 29, 17, 19, 37, 33, 21, 25},
2184
{ 36, 24, 23, 35, 37, 25, 22, 34},
2185
{ 16, 19, 25, 28, 31, 37},
2186
{ 28, 36, 37, 16, 24, 25},
2187
{ 18, 23, 22, 30, 35, 34},
2188
2189
{ 13, 9, 10, 25, 21, 22 },
2190
{ 7, 2, 9, 13, 19, 17, 21, 25 },
2191
{ 11, 12, 13, 10, 23, 24, 25, 22 },
2192
{ 1, 7, 13, 16, 19, 25 },
2193
{ 12, 1, 13, 24, 16, 25 },
2194
{ 3, 11, 10, 18, 23, 22 },
2195
2196
{ 46, 43, 42 ,37, 34, 33},
2197
{ 40, 5, 29, 31, 46, 42, 33, 37 },
2198
{ 44, 45, 36, 35, 43, 46, 37, 34 },
2199
{ 40, 4, 46, 31, 28, 37 },
2200
{ 4, 45, 46, 28, 36, 37},
2201
{ 44, 6, 43, 35, 30, 34},
2202
2203
};
2204
HPRef_Struct refprism_2fa_2fb_1ec_0v =
2205
{
2206
HP_PRISM,
2207
refprism_2fa_2fb_1ec_0v_splitedges,
2208
refprism_2fa_2fb_1ec_0v_splitfaces,
2209
refprism_2fa_2fb_1ec_0v_splitelement,
2210
refprism_2fa_2fb_1ec_0v_newelstypes,
2211
refprism_2fa_2fb_1ec_0v_newels
2212
};
2213
2214
2215
2216
// HP_PRISM_2FA_2FB_3E
2217
int refprism_2fa_2fb_3e_0v_splitedges[][3] =
2218
{
2219
{ 1, 2, 7},
2220
{ 2, 1, 8},
2221
{ 2, 3, 9},
2222
{ 3, 2, 10},
2223
{ 3, 1, 11},
2224
{ 1, 3, 12},
2225
{ 1, 4, 16},
2226
{ 2, 5, 17},
2227
{ 3, 6, 18},
2228
{ 4, 1, 28},
2229
{ 5, 2, 29},
2230
{ 6, 3, 30},
2231
{ 4, 5, 40},
2232
{ 5, 4, 41},
2233
{ 5, 6, 42},
2234
{ 6, 5, 43},
2235
{ 6, 4, 44},
2236
{ 4, 6, 45},
2237
{ 0, 0, 0 }
2238
};
2239
int refprism_2fa_2fb_3e_0v_splitfaces[][4] =
2240
{
2241
{1,2,3,13},
2242
{1,2,4,19},
2243
{2,1,5,20},
2244
{2,3,5,21},
2245
{3,2,6,22},
2246
{3,1,6,23},
2247
{1,3,4,24},
2248
{4,5,6,46},
2249
{4,1,5,31},
2250
{5,4,2,32},
2251
{5,6,2,33},
2252
{6,5,3,34},
2253
{6,4,3,35},
2254
{4,1,6,36},
2255
{ 0, 0, 0, 0 }
2256
};
2257
int refprism_2fa_2fb_3e_0v_splitelement[][5] =
2258
{
2259
{1,2,3,4,25},
2260
{4,1,6,5,37},
2261
{0,0,0,0,0}
2262
};
2263
2264
HPREF_ELEMENT_TYPE refprism_2fa_2fb_3e_0v_newelstypes[] =
2265
{
2266
HP_PRISM,
2267
HP_HEX_1F_0E_0V,
2268
HP_HEX_1F_0E_0V,
2269
HP_PRISM_1FB_1EA_0V,
2270
HP_PRISM_1FB_1EA_0V,
2271
HP_PRISM_1FB_1EA_0V,
2272
HP_PRISM_1FB_1EA_0V,
2273
2274
HP_PRISM_1FA_0E_0V,
2275
HP_HEX_1FA_1FB_0E_0V,
2276
HP_HEX_1FA_1FB_0E_0V,
2277
HP_PRISM_1FA_1FB_1EA_0V,
2278
HP_PRISM_1FA_1FB_1EB_0V,
2279
HP_PRISM_1FA_1FB_1EA_0V,
2280
HP_PRISM_1FA_1FB_1EB_0V,
2281
2282
HP_PRISM_1FA_0E_0V,
2283
HP_HEX_1FA_1FB_0E_0V,
2284
HP_HEX_1FA_1FB_0E_0V,
2285
HP_PRISM_1FA_1FB_1EB_0V,
2286
HP_PRISM_1FA_1FB_1EA_0V,
2287
HP_PRISM_1FA_1FB_1EB_0V,
2288
HP_PRISM_1FA_1FB_1EA_0V,
2289
2290
HP_NONE,
2291
};
2292
int refprism_2fa_2fb_3e_0v_newels[][8] =
2293
{
2294
{ 25, 21, 22, 37, 33, 34},
2295
{ 31, 32, 20, 19, 37, 33, 21, 25},
2296
{ 36, 24, 23, 35, 37, 25, 22, 34},
2297
{ 16, 19, 25, 28, 31, 37},
2298
{ 28, 36, 37, 16, 24, 25},
2299
{ 18, 23, 22, 30, 35, 34},
2300
{ 29, 32, 33, 17, 20, 21},
2301
2302
{ 13, 9, 10, 25, 21, 22 },
2303
{ 7, 8, 9, 13, 19, 20, 21, 25 },
2304
{ 11, 12, 13, 10, 23, 24, 25, 22 },
2305
{ 1, 7, 13, 16, 19, 25 },
2306
{ 12, 1, 13, 24, 16, 25 },
2307
{ 3, 11, 10, 18, 23, 22 },
2308
{ 8, 2, 9, 20, 17, 21 },
2309
2310
{ 46, 43, 42 ,37, 34, 33},
2311
{ 40, 41, 32, 31, 46, 42, 33, 37 },
2312
{ 44, 45, 36, 35, 43, 46, 37, 34 },
2313
{ 40, 4, 46, 31, 28, 37 },
2314
{ 4, 45, 46, 28, 36, 37},
2315
{ 44, 6, 43, 35, 30, 34},
2316
{ 5, 41, 42, 29, 32, 33},
2317
2318
};
2319
HPRef_Struct refprism_2fa_2fb_3e_0v =
2320
{
2321
HP_PRISM,
2322
refprism_2fa_2fb_3e_0v_splitedges,
2323
refprism_2fa_2fb_3e_0v_splitfaces,
2324
refprism_2fa_2fb_3e_0v_splitelement,
2325
refprism_2fa_2fb_3e_0v_newelstypes,
2326
refprism_2fa_2fb_3e_0v_newels
2327
};
2328
2329
2330
2331
2332
// HP_PRISM_1FA_2E_0V
2333
int refprism_1fa_2e_0v_splitedges[][3] =
2334
{
2335
{2,3,9},
2336
{1,3,12},
2337
{1,4,16},
2338
{2,5,17},
2339
{3,6,18},
2340
{5,6,42},
2341
{4,6,45},
2342
{5,4,41},
2343
{2,1,8},
2344
{4,5,40},
2345
{1,2,7},
2346
{0,0,0},
2347
2348
};
2349
int refprism_1fa_2e_0v_splitfaces[][4] =
2350
{
2351
{2,3,5,21},
2352
{1,3,4,24},
2353
{2,1,5,20},
2354
{1,2,4,19},
2355
{0,0,0,0},
2356
};
2357
2358
HPREF_ELEMENT_TYPE refprism_1fa_2e_0v_newelstypes[] =
2359
{
2360
HP_HEX,
2361
HP_PRISM,
2362
HP_PRISM_1FA_0E_0V,
2363
HP_HEX_1F_0E_0V,
2364
HP_PRISM_SINGEDGE,
2365
HP_PRISM_1FA_1E_0V,
2366
HP_PRISM_SINGEDGE,
2367
HP_PRISM_1FA_1E_0V,
2368
HP_NONE
2369
};
2370
int refprism_1fa_2e_0v_newels[][8] =
2371
{
2372
{40,41,20,19,45,42,21,24},
2373
{24,21,18,45,42,6},
2374
{12,9,3,24,21,18},
2375
{9, 12, 7, 8, 21, 24, 19, 20},
2376
{ 17, 21, 20, 5, 42, 41},
2377
{2, 9, 8, 17, 21, 20},
2378
{16,19,24,4,40,45},
2379
{1,7,12,16,19,24}
2380
};
2381
HPRef_Struct refprism_1fa_2e_0v =
2382
{
2383
HP_PRISM,
2384
refprism_1fa_2e_0v_splitedges,
2385
2386
refprism_1fa_2e_0v_splitfaces, 0,
2387
refprism_1fa_2e_0v_newelstypes,
2388
refprism_1fa_2e_0v_newels
2389
};
2390
2391
// HP_PRISM_2FA_2E_0V
2392
int refprism_2fa_2e_0v_splitedges[][3] =
2393
{
2394
{2,3,9},
2395
{1,3,12},
2396
{1,4,16},
2397
{2,5,17},
2398
{3,6,18},
2399
{5,6,42},
2400
{4,6,45},
2401
{4,1,28},
2402
{5,2,29},
2403
{6,3,30},
2404
{4,5,40},
2405
{1,2,7},
2406
{ 5, 4, 41},
2407
{ 2, 1, 8},
2408
{0,0,0},
2409
};
2410
int refprism_2fa_2e_0v_splitfaces[][4] =
2411
{
2412
{2,3,5,21},
2413
{1,3,4,24},
2414
{1,2,4,19},
2415
{4,1,6,36},
2416
{4,1,5,31},
2417
{5,6,2,33},
2418
{5,4,2,32},
2419
{2,1,5,20},
2420
{0,0,0,0},
2421
};
2422
2423
HPREF_ELEMENT_TYPE refprism_2fa_2e_0v_newelstypes[] =
2424
{
2425
HP_PRISM,
2426
HP_HEX,
2427
HP_PRISM_SINGEDGE,
2428
HP_PRISM_SINGEDGE,
2429
2430
HP_PRISM_1FA_0E_0V,
2431
HP_HEX_1F_0E_0V,
2432
HP_PRISM_1FA_1E_0V,
2433
HP_PRISM_1FA_1E_0V,
2434
2435
HP_PRISM_1FA_0E_0V,
2436
HP_HEX_1F_0E_0V,
2437
HP_PRISM_1FA_1E_0V,
2438
HP_PRISM_1FA_1E_0V,
2439
HP_NONE,
2440
2441
};
2442
int refprism_2fa_2e_0v_newels[][8] =
2443
{
2444
{ 24, 21, 18, 36, 33, 30},
2445
{ 19, 20, 21, 24, 31, 32, 33, 36},
2446
{ 16, 19, 24, 28, 31, 36},
2447
{ 17, 21, 20, 29, 33, 32},
2448
2449
{ 12, 9, 3, 24, 21, 18},
2450
{ 7, 8, 9, 12, 19, 20, 21, 24},
2451
{ 1, 7, 12, 16, 19, 24},
2452
{ 2, 9, 8, 17, 21, 20},
2453
2454
{ 45, 6, 42, 36, 30, 33},
2455
{ 40, 45, 42, 41, 31, 36, 33, 32},
2456
{ 4, 45, 40, 28, 36, 31 },
2457
{ 5, 41, 42, 29, 32, 33 },
2458
};
2459
HPRef_Struct refprism_2fa_2e_0v =
2460
{
2461
HP_PRISM,
2462
refprism_2fa_2e_0v_splitedges,
2463
refprism_2fa_2e_0v_splitfaces, 0,
2464
refprism_2fa_2e_0v_newelstypes,
2465
refprism_2fa_2e_0v_newels
2466
};
2467
2468
2469
2470
// HP_PRISM_3E_0V
2471
int refprism_3e_0v_splitedges[][3] =
2472
{
2473
{ 1, 2, 7},
2474
{ 2, 1, 8},
2475
{ 2, 3, 9},
2476
{ 3, 2, 10},
2477
{ 3, 1, 11},
2478
{ 1, 3, 12},
2479
{ 4, 5, 40},
2480
{ 5, 4, 41},
2481
{ 5, 6, 42},
2482
{ 6, 5, 43},
2483
{ 6, 4, 44},
2484
{ 4, 6, 45},
2485
{ 0, 0, 0},
2486
};
2487
int refprism_3e_0v_splitfaces[][4] =
2488
{
2489
{1,2,3,13},
2490
{2,3,1,14},
2491
{3,1,2,15},
2492
{4,5,6,46},
2493
{5,4,6,47},
2494
{6,4,5,48},
2495
{0,0,0,0},
2496
};
2497
2498
HPREF_ELEMENT_TYPE refprism_3e_0v_newelstypes[] =
2499
{
2500
HP_PRISM,
2501
HP_HEX,
2502
HP_HEX,
2503
HP_HEX,
2504
HP_PRISM,
2505
HP_PRISM,
2506
HP_PRISM,
2507
HP_PRISM_SINGEDGE,
2508
HP_PRISM_SINGEDGE,
2509
HP_PRISM_SINGEDGE,
2510
HP_NONE
2511
};
2512
int refprism_3e_0v_newels[][8] =
2513
{
2514
{ 13, 14, 15, 46, 47, 48},
2515
{ 7, 8, 14, 13, 40, 41, 47, 46},
2516
{ 15, 14, 9, 10, 48, 47, 42, 43},
2517
{ 12, 13, 15, 11, 45, 46, 48, 44},
2518
{ 14, 8, 9, 47, 41, 42 },
2519
{ 11, 15, 10, 44, 48, 43 },
2520
{ 7, 13, 12, 40, 46, 45},
2521
{ 1, 7, 12, 4, 40, 45},
2522
{ 2, 9, 8, 5, 42, 41 },
2523
{ 3, 11, 10, 6, 44, 43 }
2524
};
2525
HPRef_Struct refprism_3e_0v =
2526
{
2527
HP_PRISM,
2528
refprism_3e_0v_splitedges,
2529
refprism_3e_0v_splitfaces, 0,
2530
refprism_3e_0v_newelstypes,
2531
refprism_3e_0v_newels
2532
};
2533
2534
2535
// HP_PRISM_3E_0V
2536
int refprism_1fa_3e_0v_splitedges[][3] =
2537
{
2538
{ 1, 2, 7},
2539
{ 2, 1, 8},
2540
{ 2, 3, 9},
2541
{ 3, 2, 10},
2542
{ 3, 1, 11},
2543
{ 1, 3, 12},
2544
{ 1, 4, 16},
2545
{ 2, 5, 17},
2546
{ 3, 6, 18},
2547
{ 4, 5, 40},
2548
{ 5, 4, 41},
2549
{ 5, 6, 42},
2550
{ 6, 5, 43},
2551
{ 6, 4, 44},
2552
{ 4, 6, 45},
2553
2554
{ 0, 0, 0},
2555
};
2556
int refprism_1fa_3e_0v_splitfaces[][4] =
2557
{
2558
{1,2,3,13},
2559
{2,3,1,14},
2560
{3,1,2,15},
2561
{1,2,4,19},
2562
{2,1,5,20},
2563
{2,3,5,21},
2564
{3,2,6,22},
2565
{3,1,6,23},
2566
{1,3,4,24},
2567
{4,5,6,46},
2568
{5,4,6,47},
2569
{6,4,5,48},
2570
{0,0,0,0},
2571
};
2572
2573
int refprism_1fa_3e_0v_splitelements[][5] =
2574
{
2575
{1,2,3,4,25},
2576
{2,1,3,5,26},
2577
{3,1,2,6,27},
2578
{0,0,0,0,0},
2579
};
2580
2581
HPREF_ELEMENT_TYPE refprism_1fa_3e_0v_newelstypes[] =
2582
{
2583
HP_PRISM,
2584
HP_HEX,
2585
HP_HEX,
2586
HP_HEX,
2587
HP_PRISM,
2588
HP_PRISM,
2589
HP_PRISM,
2590
HP_PRISM_SINGEDGE,
2591
HP_PRISM_SINGEDGE,
2592
HP_PRISM_SINGEDGE,
2593
2594
HP_PRISM_1FA_0E_0V,
2595
HP_HEX_1F_0E_0V,
2596
HP_HEX_1F_0E_0V,
2597
HP_HEX_1F_0E_0V,
2598
HP_PRISM_1FA_0E_0V,
2599
HP_PRISM_1FA_0E_0V,
2600
HP_PRISM_1FA_0E_0V,
2601
HP_PRISM_1FA_1E_0V,
2602
HP_PRISM_1FA_1E_0V,
2603
HP_PRISM_1FA_1E_0V,
2604
HP_NONE
2605
};
2606
int refprism_1fa_3e_0v_newels[][8] =
2607
{
2608
{ 25, 26, 27, 46, 47, 48},
2609
{ 19, 20, 26, 25, 40, 41, 47, 46},
2610
{ 27, 26, 21, 22, 48, 47, 42, 43},
2611
{ 23, 24, 25, 27, 44, 45, 46, 48},
2612
{ 19, 25, 24, 40, 46, 45},
2613
{ 26, 20, 21, 47, 41, 42},
2614
{ 23, 27, 22, 44, 48, 43},
2615
{ 16, 19, 24, 4, 40, 45},
2616
{ 17, 21, 20, 5, 42, 41},
2617
{ 18, 23, 22, 6, 44, 43},
2618
2619
{ 13, 14, 15, 25, 26, 27},
2620
{ 7, 8, 14, 13, 19, 20, 26, 25},
2621
{ 15, 14, 9, 10, 27, 26, 21, 22},
2622
{ 12, 13, 15, 11, 24, 25, 27, 23},
2623
{ 14, 8, 9, 26, 20, 21},
2624
{ 11, 15, 10, 23, 27, 22},
2625
{ 7, 13 , 12, 19, 25, 24},
2626
{ 2, 9, 8, 17, 21, 20},
2627
{ 3, 11, 10, 18, 23, 22},
2628
{ 1, 7, 12, 16, 19, 24},
2629
};
2630
HPRef_Struct refprism_1fa_3e_0v =
2631
{
2632
HP_PRISM,
2633
refprism_1fa_3e_0v_splitedges,
2634
refprism_1fa_3e_0v_splitfaces,
2635
refprism_1fa_3e_0v_splitelements,
2636
refprism_1fa_3e_0v_newelstypes,
2637
refprism_1fa_3e_0v_newels
2638
};
2639
2640
2641
2642
// HP_PRISM_2FA_3E_0V
2643
int refprism_2fa_3e_0v_splitedges[][3] =
2644
{
2645
{ 1, 2, 7},
2646
{ 2, 1, 8},
2647
{ 2, 3, 9},
2648
{ 3, 2, 10},
2649
{ 3, 1, 11},
2650
{ 1, 3, 12},
2651
{ 1, 4, 16},
2652
{ 2, 5, 17},
2653
{ 3, 6, 18},
2654
{ 4, 1, 28},
2655
{ 5, 2, 29},
2656
{ 6, 3, 30},
2657
{ 4, 5, 40},
2658
{ 5, 4, 41},
2659
{ 5, 6, 42},
2660
{ 6, 5, 43},
2661
{ 6, 4, 44},
2662
{ 4, 6, 45},
2663
{ 0, 0, 0},
2664
};
2665
int refprism_2fa_3e_0v_splitfaces[][4] =
2666
{
2667
{1,2,3,13},
2668
{2,3,1,14},
2669
{3,1,2,15},
2670
{1,2,4,19},
2671
{2,1,5,20},
2672
{2,3,5,21},
2673
{3,2,6,22},
2674
{3,1,6,23},
2675
{1,3,4,24},
2676
{4,1,5,31},
2677
{5,4,2,32},
2678
{5,6,2,33},
2679
{6,5,3,34},
2680
{6,4,3,35},
2681
{4,1,6,36},
2682
{4,5,6,46},
2683
{5,4,6,47},
2684
{6,4,5,48},
2685
{0,0,0,0},
2686
};
2687
2688
int refprism_2fa_3e_0v_splitelements[][5] =
2689
{
2690
{1,2,3,4,25},
2691
{2,1,3,5,26},
2692
{3,1,2,6,27},
2693
{4,1,6,5,37},
2694
{5,2,4,6,38},
2695
{6,4,5,3,39},
2696
{0,0,0,0,0},
2697
};
2698
2699
HPREF_ELEMENT_TYPE refprism_2fa_3e_0v_newelstypes[] =
2700
{
2701
HP_PRISM,
2702
HP_HEX,
2703
HP_HEX,
2704
HP_HEX,
2705
HP_PRISM,
2706
HP_PRISM,
2707
HP_PRISM,
2708
HP_PRISM_SINGEDGE,
2709
HP_PRISM_SINGEDGE,
2710
HP_PRISM_SINGEDGE,
2711
2712
HP_PRISM_1FA_0E_0V,
2713
HP_HEX_1F_0E_0V,
2714
HP_HEX_1F_0E_0V,
2715
HP_HEX_1F_0E_0V,
2716
HP_PRISM_1FA_0E_0V,
2717
HP_PRISM_1FA_0E_0V,
2718
HP_PRISM_1FA_0E_0V,
2719
HP_PRISM_1FA_1E_0V,
2720
HP_PRISM_1FA_1E_0V,
2721
HP_PRISM_1FA_1E_0V,
2722
2723
HP_PRISM_1FA_0E_0V,
2724
HP_HEX_1F_0E_0V,
2725
HP_HEX_1F_0E_0V,
2726
HP_HEX_1F_0E_0V,
2727
HP_PRISM_1FA_0E_0V,
2728
HP_PRISM_1FA_0E_0V,
2729
HP_PRISM_1FA_0E_0V,
2730
HP_PRISM_1FA_1E_0V,
2731
HP_PRISM_1FA_1E_0V,
2732
HP_PRISM_1FA_1E_0V,
2733
2734
HP_NONE
2735
};
2736
2737
int refprism_2fa_3e_0v_newels[][8] =
2738
{
2739
{ 25, 26, 27, 37, 38, 39},
2740
{ 19, 20, 26, 25, 31, 32, 38, 37},
2741
{ 27, 26, 21, 22, 39, 38, 33, 34},
2742
{ 23, 24, 25, 27, 35, 36, 37, 39},
2743
{ 19, 25, 24, 31, 37, 36},
2744
{ 26, 20, 21, 38, 32, 33},
2745
{ 23, 27, 22, 35, 39, 34},
2746
{ 16, 19, 24, 28, 31, 36},
2747
{ 17, 21, 20, 29, 33, 32},
2748
{ 18, 23, 22, 30, 35, 34},
2749
2750
{ 13, 14, 15, 25, 26, 27},
2751
{ 7, 8, 14, 13, 19, 20, 26, 25},
2752
{ 15, 14, 9, 10, 27, 26, 21, 22},
2753
{ 12, 13, 15, 11, 24, 25, 27, 23},
2754
{ 14, 8, 9, 26, 20, 21},
2755
{ 11, 15, 10, 23, 27, 22},
2756
{ 7, 13 , 12, 19, 25, 24},
2757
{ 2, 9, 8, 17, 21, 20},
2758
{ 3, 11, 10, 18, 23, 22},
2759
{ 1, 7, 12, 16, 19, 24},
2760
2761
{ 48, 47, 46, 39, 38, 37 },
2762
{ 48, 43, 42, 47, 39, 34, 33, 38},
2763
{ 45, 44, 48, 46, 36, 35, 39, 37},
2764
{ 46, 47, 41, 40, 37, 38, 32, 31},
2765
{ 47, 42, 41, 38, 33, 32},
2766
{ 45, 46, 40, 36, 37, 31},
2767
{ 44, 43, 48, 35, 34, 39},
2768
{ 6, 43, 44, 30, 34, 35},
2769
{ 5, 41, 42, 29, 32, 33},
2770
{ 4, 45, 40, 28, 36, 31},
2771
};
2772
2773
HPRef_Struct refprism_2fa_3e_0v =
2774
{
2775
HP_PRISM,
2776
refprism_2fa_3e_0v_splitedges,
2777
refprism_2fa_3e_0v_splitfaces,
2778
refprism_2fa_3e_0v_splitelements,
2779
refprism_2fa_3e_0v_newelstypes,
2780
refprism_2fa_3e_0v_newels
2781
};
2782
2783
2784
2785
// HP_PRISM_3FB_0V
2786
int refprism_3fb_0v_splitedges[][3] =
2787
{
2788
{ 1, 2, 7},
2789
{ 2, 1, 8},
2790
{ 2, 3, 9},
2791
{ 3, 2, 10},
2792
{ 3, 1, 11},
2793
{ 1, 3, 12},
2794
{ 4, 5, 40},
2795
{ 5, 4, 41},
2796
{ 5, 6, 42},
2797
{ 6, 5, 43},
2798
{ 6, 4, 44},
2799
{ 4, 6, 45},
2800
{ 0, 0, 0},
2801
};
2802
int refprism_3fb_0v_splitfaces[][4] =
2803
{
2804
{1,2,3,13},
2805
{2,3,1,14},
2806
{3,1,2,15},
2807
{4,5,6,46},
2808
{5,4,6,47},
2809
{6,4,5,48},
2810
{0,0,0,0},
2811
};
2812
2813
HPREF_ELEMENT_TYPE refprism_3fb_0v_newelstypes[] =
2814
{
2815
HP_PRISM,
2816
HP_HEX_1F_0E_0V,
2817
HP_HEX_1F_0E_0V,
2818
HP_HEX_1F_0E_0V,
2819
HP_PRISM_1FB_1EA_0V,
2820
HP_PRISM_1FB_1EA_0V,
2821
HP_PRISM_1FB_1EA_0V,
2822
HP_PRISM_1FB_1EA_0V,
2823
HP_PRISM_1FB_1EA_0V,
2824
HP_PRISM_1FB_1EA_0V,
2825
HP_NONE
2826
};
2827
int refprism_3fb_0v_newels[][8] =
2828
{
2829
{ 13, 14, 15, 46, 47, 48},
2830
{ 8, 7, 40, 41, 14,13, 46, 47 },
2831
{ 10, 9, 42, 43, 15, 14, 47, 48 },
2832
{ 44, 45, 12, 11, 48, 46, 13, 15},
2833
{ 1, 7, 13, 4, 40, 46 },
2834
{ 4, 45, 46, 1, 12, 13},
2835
{ 2, 9, 14, 5, 42, 47 },
2836
{ 5, 41, 47, 2, 8, 14 },
2837
{ 3, 11, 15, 6, 44, 48},
2838
{ 6, 43, 48, 3, 10, 15},
2839
2840
};
2841
HPRef_Struct refprism_3fb_0v =
2842
{
2843
HP_PRISM,
2844
refprism_3fb_0v_splitedges,
2845
refprism_3fb_0v_splitfaces, 0,
2846
refprism_3fb_0v_newelstypes,
2847
refprism_3fb_0v_newels
2848
};
2849
2850
2851
// HP_PRISM_3FB_0V
2852
int refprism_1fa_3fb_0v_splitedges[][3] =
2853
{
2854
{ 1, 2, 7},
2855
{ 2, 1, 8},
2856
{ 2, 3, 9},
2857
{ 3, 2, 10},
2858
{ 3, 1, 11},
2859
{ 1, 3, 12},
2860
{ 1, 4, 16},
2861
{ 2, 5, 17},
2862
{ 3, 6, 18},
2863
{ 4, 5, 40},
2864
{ 5, 4, 41},
2865
{ 5, 6, 42},
2866
{ 6, 5, 43},
2867
{ 6, 4, 44},
2868
{ 4, 6, 45},
2869
{ 0, 0, 0},
2870
};
2871
int refprism_1fa_3fb_0v_splitfaces[][4] =
2872
{
2873
{1,2,3,13},
2874
{2,3,1,14},
2875
{3,1,2,15},
2876
{1,2,4,19},
2877
{2,1,5,20},
2878
{2,3,5,21},
2879
{3,2,6,22},
2880
{3,1,6,23},
2881
{1,3,4,24},
2882
{4,5,6,46},
2883
{5,4,6,47},
2884
{6,4,5,48},
2885
{0,0,0,0},
2886
};
2887
2888
int refprism_1fa_3fb_0v_splitelements[][5] =
2889
{
2890
{1,2,3,4,25},
2891
{2,1,3,5,26},
2892
{3,1,2,6,27},
2893
{0,0,0,0,0},
2894
};
2895
2896
HPREF_ELEMENT_TYPE refprism_1fa_3fb_0v_newelstypes[] =
2897
{
2898
HP_PRISM,
2899
HP_HEX_1F_0E_0V,
2900
HP_HEX_1F_0E_0V,
2901
HP_HEX_1F_0E_0V,
2902
2903
HP_PRISM_1FB_1EA_0V,
2904
HP_PRISM_1FB_1EA_0V,
2905
HP_PRISM_1FB_1EA_0V,
2906
HP_PRISM_1FB_1EA_0V,
2907
HP_PRISM_1FB_1EA_0V,
2908
HP_PRISM_1FB_1EA_0V,
2909
2910
HP_PRISM_1FA_0E_0V,
2911
HP_HEX_1FA_1FB_0E_0V,
2912
HP_HEX_1FA_1FB_0E_0V,
2913
HP_HEX_1FA_1FB_0E_0V,
2914
HP_PRISM_1FA_1FB_1EA_0V,
2915
HP_PRISM_1FA_1FB_1EB_0V,
2916
HP_PRISM_1FA_1FB_1EA_0V,
2917
HP_PRISM_1FA_1FB_1EB_0V,
2918
HP_PRISM_1FA_1FB_1EA_0V,
2919
HP_PRISM_1FA_1FB_1EB_0V,
2920
2921
HP_NONE
2922
};
2923
int refprism_1fa_3fb_0v_newels[][8] =
2924
{
2925
{ 25, 26, 27, 46, 47, 48},
2926
{ 19, 40, 41, 20, 25, 46, 47, 26},
2927
{ 22, 21, 42, 43, 27, 26, 47, 48},
2928
{ 24, 23, 44, 45, 25, 27, 48, 46},
2929
2930
{ 16, 19, 25, 4, 40, 46 },
2931
{ 4, 45, 46, 16, 24, 25 },
2932
{ 17, 21, 26, 5, 42, 47 },
2933
{ 5, 41, 47, 17, 20, 26},
2934
{ 18, 23, 27, 6, 44, 48},
2935
{ 6, 43, 48, 18, 22, 27},
2936
2937
{ 13, 14, 15, 25, 26, 27},
2938
{ 7, 8, 14, 13, 19, 20, 26, 25},
2939
{ 9, 10, 15, 14, 21, 22, 27, 26},
2940
{ 11, 12, 13, 15, 23, 24, 25, 27},
2941
2942
{ 2, 9, 14, 17, 21, 26},
2943
{ 8, 2, 14, 20, 17, 26},
2944
{ 1, 7, 13, 16, 19, 25},
2945
{ 12, 1, 13, 24, 16, 25 },
2946
{ 3, 11, 15, 18, 23, 27 },
2947
{ 10, 3, 15, 22, 18, 27},
2948
2949
};
2950
HPRef_Struct refprism_1fa_3fb_0v =
2951
{
2952
HP_PRISM,
2953
refprism_1fa_3fb_0v_splitedges,
2954
refprism_1fa_3fb_0v_splitfaces,
2955
refprism_1fa_3fb_0v_splitelements,
2956
refprism_1fa_3fb_0v_newelstypes,
2957
refprism_1fa_3fb_0v_newels
2958
};
2959
2960
2961
2962
// HP_PRISM_2FA_3E_0V
2963
int refprism_2fa_3fb_0v_splitedges[][3] =
2964
{
2965
{ 1, 2, 7},
2966
{ 2, 1, 8},
2967
{ 2, 3, 9},
2968
{ 3, 2, 10},
2969
{ 3, 1, 11},
2970
{ 1, 3, 12},
2971
{ 1, 4, 16},
2972
{ 2, 5, 17},
2973
{ 3, 6, 18},
2974
{ 4, 1, 28},
2975
{ 5, 2, 29},
2976
{ 6, 3, 30},
2977
{ 4, 5, 40},
2978
{ 5, 4, 41},
2979
{ 5, 6, 42},
2980
{ 6, 5, 43},
2981
{ 6, 4, 44},
2982
{ 4, 6, 45},
2983
{ 0, 0, 0},
2984
};
2985
int refprism_2fa_3fb_0v_splitfaces[][4] =
2986
{
2987
{1,2,3,13},
2988
{2,3,1,14},
2989
{3,1,2,15},
2990
{1,2,4,19},
2991
{2,1,5,20},
2992
{2,3,5,21},
2993
{3,2,6,22},
2994
{3,1,6,23},
2995
{1,3,4,24},
2996
{4,1,5,31},
2997
{5,4,2,32},
2998
{5,6,2,33},
2999
{6,5,3,34},
3000
{6,4,3,35},
3001
{4,1,6,36},
3002
{4,5,6,46},
3003
{5,4,6,47},
3004
{6,4,5,48},
3005
{0,0,0,0},
3006
};
3007
3008
int refprism_2fa_3fb_0v_splitelements[][5] =
3009
{
3010
{1,2,3,4,25},
3011
{2,1,3,5,26},
3012
{3,1,2,6,27},
3013
{4,1,6,5,37},
3014
{5,2,4,6,38},
3015
{6,4,5,3,39},
3016
{0,0,0,0,0},
3017
};
3018
3019
HPREF_ELEMENT_TYPE refprism_2fa_3fb_0v_newelstypes[] =
3020
{
3021
3022
HP_PRISM,
3023
HP_HEX_1F_0E_0V,
3024
HP_HEX_1F_0E_0V,
3025
HP_HEX_1F_0E_0V,
3026
HP_PRISM_1FB_1EA_0V,
3027
HP_PRISM_1FB_1EA_0V,
3028
HP_PRISM_1FB_1EA_0V,
3029
HP_PRISM_1FB_1EA_0V,
3030
HP_PRISM_1FB_1EA_0V,
3031
HP_PRISM_1FB_1EA_0V,
3032
3033
HP_PRISM_1FA_0E_0V,
3034
HP_HEX_1FA_1FB_0E_0V,
3035
HP_HEX_1FA_1FB_0E_0V,
3036
HP_HEX_1FA_1FB_0E_0V,
3037
HP_PRISM_1FA_1FB_1EA_0V,
3038
HP_PRISM_1FA_1FB_1EB_0V,
3039
HP_PRISM_1FA_1FB_1EA_0V,
3040
HP_PRISM_1FA_1FB_1EB_0V,
3041
HP_PRISM_1FA_1FB_1EA_0V,
3042
HP_PRISM_1FA_1FB_1EB_0V,
3043
3044
HP_PRISM_1FA_0E_0V,
3045
HP_HEX_1FA_1FB_0E_0V,
3046
HP_HEX_1FA_1FB_0E_0V,
3047
HP_HEX_1FA_1FB_0E_0V,
3048
HP_PRISM_1FA_1FB_1EA_0V,
3049
HP_PRISM_1FA_1FB_1EB_0V,
3050
HP_PRISM_1FA_1FB_1EA_0V,
3051
HP_PRISM_1FA_1FB_1EB_0V,
3052
HP_PRISM_1FA_1FB_1EA_0V,
3053
HP_PRISM_1FA_1FB_1EB_0V,
3054
3055
HP_NONE
3056
};
3057
int refprism_2fa_3fb_0v_newels[][8] =
3058
{
3059
{ 25, 26, 27, 37, 38, 39},
3060
{ 19, 31, 32, 20, 25, 37, 38, 26},
3061
{ 33, 34, 22, 21, 38, 39, 27, 26},
3062
{ 35, 36, 24, 23, 39, 37, 25, 27},
3063
3064
{ 16, 19, 25, 28, 31, 37},
3065
{ 28, 36, 37, 16, 24, 25 },
3066
{ 17, 21, 26, 29, 33, 38 },
3067
{ 29, 32, 38, 17, 20, 26},
3068
{ 18, 23, 27, 30, 35, 39},
3069
{ 30, 34, 39, 18, 22, 27},
3070
3071
3072
{ 13, 14, 15, 25, 26, 27},
3073
{ 7, 8, 14, 13, 19, 20, 26, 25},
3074
{ 9, 10, 15, 14, 21, 22, 27, 26},
3075
{ 11, 12, 13, 15, 23, 24, 25, 27},
3076
3077
{ 2, 9, 14, 17, 21, 26},
3078
{ 8, 2, 14, 20, 17, 26},
3079
{ 1, 7, 13, 16, 19, 25},
3080
{ 12, 1, 13, 24, 16, 25 },
3081
{ 3, 11, 15, 18, 23, 27 },
3082
{ 10, 3, 15, 22, 18, 27},
3083
3084
3085
{ 48, 47, 46, 39, 38, 37 },
3086
{ 44, 45, 36, 35, 48, 46, 37, 39},
3087
{ 40, 41, 32, 31, 46, 47, 38, 37},
3088
{ 42, 43, 34, 33, 47, 48, 39, 38},
3089
3090
{ 6, 43, 48, 30, 34, 39},
3091
{ 44, 6, 48, 35, 30, 39},
3092
{ 4, 45, 46, 28, 36, 37},
3093
{ 40, 4, 46, 31, 28, 37},
3094
{ 5, 41, 47, 29, 32, 38},
3095
{ 42, 5, 47, 33, 29, 38},
3096
};
3097
3098
HPRef_Struct refprism_2fa_3fb_0v =
3099
{
3100
HP_PRISM,
3101
refprism_2fa_3fb_0v_splitedges,
3102
refprism_2fa_3fb_0v_splitfaces,
3103
refprism_2fa_3fb_0v_splitelements,
3104
refprism_2fa_3fb_0v_newelstypes,
3105
refprism_2fa_3fb_0v_newels
3106
};
3107
3108
3109
/*
3110
3111
3112
// HP_PRISM_3E_4EH
3113
int refprism_3e_4eh_splitedges[][3] =
3114
{
3115
{ 1, 2, 7},
3116
{ 2, 1, 8},
3117
{ 2, 3, 9},
3118
{ 3, 2, 10},
3119
{ 3, 1, 11},
3120
{ 1, 3, 12},
3121
{ 4, 5, 40},
3122
{ 5, 4, 41},
3123
{ 5, 6, 42},
3124
{ 6, 5, 43},
3125
{ 6, 4, 44},
3126
{ 4, 6, 45},
3127
{ 0, 0, 0},
3128
3129
};
3130
int refprism_3e_4eh_splitfaces[][4] =
3131
{
3132
{3,1,2,15},
3133
{6,4,5,48},
3134
{0,0,0,0},
3135
};
3136
3137
HPREF_ELEMENT_TYPE refprism_2fa_3fb_0v_newelstypes[] =
3138
{
3139
HP_PRISM,
3140
HP_HEX_2EH_0V,
3141
HP_HEX_2EH_0V,
3142
HP_TET_2E,
3143
HP_TET_2E,
3144
HP_PRISM_1E_2EH_0V,
3145
HP_PRISM_1E_2EH_0V,
3146
HP_NONE
3147
};
3148
int refprism_2fa_3fb_0v_newels[][8] =
3149
{
3150
{15, 7, 8, 48, 40, 41 },
3151
3152
};
3153
3154
HPRef_Struct refprism_2fa_3fb_0v =
3155
{
3156
HP_PRISM,
3157
refprism_2fa_3fb_0v_splitedges,
3158
refprism_2fa_3fb_0v_splitfaces,
3159
refprism_2fa_3fb_0v_splitelements,
3160
refprism_2fa_3fb_0v_newelstypes,
3161
refprism_2fa_3fb_0v_newels
3162
};
3163
*/
3164
3165
/*
3166
// HP_PRISM_2FA_3E_0V
3167
int refprism_3e_4_0v_splitedges[][3] =
3168
{
3169
{ 1, 2, 7},
3170
{ 2, 1, 8},
3171
{ 2, 3, 9},
3172
{ 3, 2, 10},
3173
{ 3, 1, 11},
3174
{ 1, 3, 12},
3175
{ 1, 4, 16},
3176
{ 2, 5, 17},
3177
{ 3, 6, 18},
3178
{ 4, 1, 28},
3179
{ 5, 2, 29},
3180
{ 6, 3, 30},
3181
{ 4, 5, 40},
3182
{ 5, 4, 41},
3183
{ 5, 6, 42},
3184
{ 6, 5, 43},
3185
{ 6, 4, 44},
3186
{ 4, 6, 45},
3187
{ 0, 0, 0},
3188
};
3189
int refprism_2fa_3e_0v_splitfaces[][4] =
3190
{
3191
{1,2,3,13},
3192
{2,3,1,14},
3193
{3,1,2,15},
3194
{1,2,4,19},
3195
{2,1,5,20},
3196
{2,3,5,21},
3197
{3,2,6,22},
3198
{3,1,6,23},
3199
{1,3,4,24},
3200
{4,1,5,31},
3201
{5,4,2,32},
3202
{5,6,2,33},
3203
{6,5,3,34},
3204
{6,4,3,35},
3205
{4,1,6,36},
3206
{4,5,6,46},
3207
{5,4,6,47},
3208
{6,4,5,48},
3209
{0,0,0,0},
3210
};
3211
3212
int refprism_2fa_3e_0v_splitelements[][5] =
3213
{
3214
{1,2,3,4,25},
3215
{2,1,3,5,26},
3216
{3,1,2,6,27},
3217
{4,1,6,5,37},
3218
{5,2,4,6,38},
3219
{6,4,5,3,39},
3220
{0,0,0,0,0},
3221
};
3222
3223
HPREF_ELEMENT_TYPE refprism_2fa_3e_0v_newelstypes[] =
3224
{
3225
HP_PRISM,
3226
HP_HEX,
3227
HP_HEX,
3228
HP_HEX,
3229
HP_PRISM,
3230
HP_PRISM,
3231
HP_PRISM,
3232
HP_PRISM_SINGEDGE,
3233
HP_PRISM_SINGEDGE,
3234
HP_PRISM_SINGEDGE,
3235
3236
HP_PRISM_1FA_0E_0V,
3237
HP_HEX_1F_0E_0V,
3238
HP_HEX_1F_0E_0V,
3239
HP_HEX_1F_0E_0V,
3240
HP_PRISM_1FA_0E_0V,
3241
HP_PRISM_1FA_0E_0V,
3242
HP_PRISM_1FA_0E_0V,
3243
HP_PRISM_1FA_1E_0V,
3244
HP_PRISM_1FA_1E_0V,
3245
HP_PRISM_1FA_1E_0V,
3246
3247
HP_PRISM_1FA_0E_0V,
3248
HP_HEX_1F_0E_0V,
3249
HP_HEX_1F_0E_0V,
3250
HP_HEX_1F_0E_0V,
3251
HP_PRISM_1FA_0E_0V,
3252
HP_PRISM_1FA_0E_0V,
3253
HP_PRISM_1FA_0E_0V,
3254
HP_PRISM_1FA_1E_0V,
3255
HP_PRISM_1FA_1E_0V,
3256
HP_PRISM_1FA_1E_0V,
3257
3258
HP_NONE
3259
};
3260
3261
int refprism_2fa_3e_0v_newels[][8] =
3262
{
3263
{ 25, 26, 27, 37, 38, 39},
3264
{ 19, 20, 26, 25, 31, 32, 38, 37},
3265
{ 27, 26, 21, 22, 39, 38, 33, 34},
3266
{ 23, 24, 25, 27, 35, 36, 37, 39},
3267
{ 19, 25, 24, 31, 37, 36},
3268
{ 26, 20, 21, 38, 32, 33},
3269
{ 23, 27, 22, 35, 39, 34},
3270
{ 16, 19, 24, 28, 31, 36},
3271
{ 17, 21, 20, 29, 33, 32},
3272
{ 18, 23, 22, 30, 35, 34},
3273
3274
{ 13, 14, 15, 25, 26, 27},
3275
{ 7, 8, 14, 13, 19, 20, 26, 25},
3276
{ 15, 14, 9, 10, 27, 26, 21, 22},
3277
{ 12, 13, 15, 11, 24, 25, 27, 23},
3278
{ 14, 8, 9, 26, 20, 21},
3279
{ 11, 15, 10, 23, 27, 22},
3280
{ 7, 13 , 12, 19, 25, 24},
3281
{ 2, 9, 8, 17, 21, 20},
3282
{ 3, 11, 10, 18, 23, 22},
3283
{ 1, 7, 12, 16, 19, 24},
3284
3285
{ 48, 47, 46, 39, 38, 37 },
3286
{ 48, 43, 42, 47, 39, 34, 33, 38},
3287
{ 45, 44, 48, 46, 36, 35, 39, 37},
3288
{ 46, 47, 41, 40, 37, 38, 32, 31},
3289
{ 47, 42, 41, 38, 33, 32},
3290
{ 45, 46, 40, 36, 37, 31},
3291
{ 44, 43, 48, 35, 34, 39},
3292
{ 6, 43, 44, 30, 34, 35},
3293
{ 5, 41, 42, 29, 32, 33},
3294
{ 4, 45, 40, 28, 36, 31},
3295
};
3296
3297
HPRef_Struct refprism_2fa_3e_0v =
3298
{
3299
HP_PRISM,
3300
refprism_2fa_3e_0v_splitedges,
3301
refprism_2fa_3e_0v_splitfaces,
3302
refprism_2fa_3e_0v_splitelements,
3303
refprism_2fa_3e_0v_newelstypes,
3304
refprism_2fa_3e_0v_newels
3305
};
3306
3307
*/
3308
/*
3309
3310
// HP_PRISM_1FB_1EB_0V ... quad face 1-2-4-5
3311
int refprism_1fb_1eb_0v_splitedges[][3] =
3312
{
3313
{ 1, 3, 7 },
3314
{ 2, 3, 8 },
3315
{ 4, 6, 9 },
3316
{ 5, 6, 10 },
3317
{ 2, 1, 11 },
3318
{ 5, 4, 12 },
3319
{ 0, 0, 0 }
3320
};
3321
HPREF_ELEMENT_TYPE refprism_1fb_1eb_0v_newelstypes[] =
3322
{
3323
HP_HEX_1F_0E_0V,
3324
HP_PRISM_1FB_1EB_0V,
3325
HP_PRISM,
3326
HP_NONE,
3327
};
3328
int refprism_1fb_1eb_0v_newels[][8] =
3329
{
3330
{ 1, 4, 12, 11, 7, 9, 10, 8 },
3331
{ 11, 2, 8, 12, 5, 10 },
3332
{ 7, 8, 3, 9, 10, 6 }
3333
};
3334
HPRef_Struct refprism_1fb_1eb_0v =
3335
{
3336
HP_PRISM,
3337
refprism_1fb_1eb_0v_splitedges,
3338
0, 0,
3339
refprism_1fb_1eb_0v_newelstypes,
3340
refprism_1fb_1eb_0v_newels
3341
};
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
// HP_PRISM_2F_0E_0V
3353
int refprism_2f_0e_0v_splitedges[][3] =
3354
{
3355
{ 1, 3, 7 },
3356
{ 2, 1, 8 },
3357
{ 2, 3, 9 },
3358
{ 3, 1, 10 },
3359
3360
{ 4, 6, 12 },
3361
{ 5, 4, 13 },
3362
{ 5, 6, 14 },
3363
{ 6, 4, 15 },
3364
3365
{ 0, 0, 0 }
3366
};
3367
3368
int refprism_2f_0e_0v_splitfaces[][4] =
3369
{
3370
{ 2, 1, 3, 11 },
3371
{ 5, 4, 6, 16 },
3372
{ 0, 0, 0, 0 },
3373
};
3374
3375
HPREF_ELEMENT_TYPE refprism_2f_0e_0v_newelstypes[] =
3376
{
3377
HP_HEX_1F_0E_0V,
3378
HP_HEX_1F_0E_0V,
3379
HP_PRISM_1FB_1EA_0V,
3380
HP_PRISM_1FB_1EA_0V,
3381
HP_PRISM,
3382
HP_NONE,
3383
};
3384
int refprism_2f_0e_0v_newels[][8] =
3385
{
3386
//{ 1, 8, 11, 7, 4, 13, 16, 12 },
3387
// { 9, 3, 10, 11, 14, 6, 15, 16 },
3388
{ 1, 4, 13, 8, 7, 12, 16, 11 },
3389
{ 9, 14, 6, 3, 11, 16, 15, 10 },
3390
{ 2, 9, 11, 5, 14, 16 },
3391
// { 8, 2, 11, 13, 5, 16 },
3392
{ 5, 13, 16, 2, 8, 11 },
3393
{ 7, 11, 10, 12, 16, 15 }
3394
};
3395
HPRef_Struct refprism_2f_0e_0v =
3396
{
3397
HP_PRISM,
3398
refprism_2f_0e_0v_splitedges,
3399
refprism_2f_0e_0v_splitfaces,
3400
0,
3401
refprism_2f_0e_0v_newelstypes,
3402
refprism_2f_0e_0v_newels
3403
};
3404
3405
*/
3406
3407