Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/ElmerGUI/netgen/libsrc/meshing/hpref_quad.hpp
3206 views
1
// HP_QUAD
2
int refquad_splitedges[][3] =
3
{
4
{ 0, 0, 0 }
5
};
6
HPREF_ELEMENT_TYPE refquad_newelstypes[] =
7
{
8
HP_QUAD,
9
HP_NONE,
10
};
11
int refquad_newels[][8] =
12
{
13
{ 1, 2, 3, 4 },
14
};
15
HPRef_Struct refquad =
16
{
17
HP_QUAD,
18
refquad_splitedges,
19
0, 0,
20
refquad_newelstypes,
21
refquad_newels
22
};
23
24
25
26
27
28
29
30
// HP_QUAD_SINGCORNER
31
int refquad_singcorner_splitedges[][3] =
32
{
33
{ 1, 2, 5 },
34
{ 1, 4, 6 },
35
{ 0, 0, 0 }
36
};
37
HPREF_ELEMENT_TYPE refquad_singcorner_newelstypes[] =
38
{
39
HP_TRIG_SINGCORNER,
40
HP_QUAD,
41
HP_TRIG,
42
HP_NONE,
43
};
44
int refquad_singcorner_newels[][8] =
45
{
46
{ 1, 5, 6 },
47
{ 2, 4, 6, 5 },
48
{ 2, 3, 4 },
49
};
50
HPRef_Struct refquad_singcorner =
51
{
52
HP_QUAD,
53
refquad_singcorner_splitedges,
54
0, 0,
55
refquad_singcorner_newelstypes,
56
refquad_singcorner_newels
57
};
58
59
60
61
62
63
// HP_DUMMY_QUAD_SINGCORNER
64
int refdummyquad_singcorner_splitedges[][3] =
65
{
66
{ 0, 0, 0 }
67
};
68
HPREF_ELEMENT_TYPE refdummyquad_singcorner_newelstypes[] =
69
{
70
HP_TRIG_SINGCORNER,
71
HP_TRIG,
72
HP_NONE,
73
};
74
int refdummyquad_singcorner_newels[][8] =
75
{
76
{ 1, 2, 4 },
77
{ 4, 2, 3 },
78
};
79
HPRef_Struct refdummyquad_singcorner =
80
{
81
HP_QUAD,
82
refdummyquad_singcorner_splitedges,
83
0, 0,
84
refdummyquad_singcorner_newelstypes,
85
refdummyquad_singcorner_newels
86
};
87
88
89
90
91
92
93
94
// HP_QUAD_SINGEDGE
95
int refquad_singedge_splitedges[][3] =
96
{
97
{ 1, 4, 5 },
98
{ 2, 3, 6 },
99
{ 0, 0, 0 }
100
};
101
HPREF_ELEMENT_TYPE refquad_singedge_newelstypes[] =
102
{
103
HP_QUAD_SINGEDGE,
104
HP_QUAD,
105
HP_NONE,
106
};
107
int refquad_singedge_newels[][8] =
108
{
109
{ 1, 2, 6, 5 },
110
{ 5, 6, 3, 4 },
111
};
112
HPRef_Struct refquad_singedge =
113
{
114
HP_QUAD,
115
refquad_singedge_splitedges,
116
0, 0,
117
refquad_singedge_newelstypes,
118
refquad_singedge_newels
119
};
120
121
122
123
124
125
126
// HP_QUAD_0E_2VA
127
int refquad_0e_2va_splitedges[][3] =
128
{
129
{ 1, 2, 5 },
130
{ 1, 4, 6 },
131
{ 2, 1, 7 },
132
{ 2, 3, 8 },
133
{ 0, 0, 0 }
134
};
135
HPREF_ELEMENT_TYPE refquad_0e_2va_newelstypes[] =
136
{
137
HP_TRIG_SINGCORNER,
138
HP_TRIG_SINGCORNER,
139
HP_QUAD,
140
HP_QUAD,
141
HP_NONE,
142
};
143
int refquad_0e_2va_newels[][8] =
144
{
145
{ 1, 5, 6 },
146
{ 2, 8, 7 },
147
{ 5, 7, 8, 6 },
148
{ 6, 8, 3, 4 },
149
};
150
HPRef_Struct refquad_0e_2va =
151
{
152
HP_QUAD,
153
refquad_0e_2va_splitedges,
154
0, 0,
155
refquad_0e_2va_newelstypes,
156
refquad_0e_2va_newels
157
};
158
159
160
161
// HP_QUAD_0E_2VB
162
int refquad_0e_2vb_splitedges[][3] =
163
{
164
{ 1, 2, 5 },
165
{ 1, 4, 6 },
166
{ 3, 4, 7 },
167
{ 3, 2, 8 },
168
{ 0, 0, 0 }
169
};
170
HPREF_ELEMENT_TYPE refquad_0e_2vb_newelstypes[] =
171
{
172
HP_TRIG_SINGCORNER,
173
HP_TRIG_SINGCORNER,
174
HP_QUAD,
175
HP_QUAD,
176
HP_NONE,
177
};
178
int refquad_0e_2vb_newels[][8] =
179
{
180
{ 1, 5, 6 },
181
{ 3, 7, 8 },
182
{ 5, 2, 4, 6 },
183
{ 2, 8, 7, 4 },
184
};
185
HPRef_Struct refquad_0e_2vb =
186
{
187
HP_QUAD,
188
refquad_0e_2vb_splitedges,
189
0, 0,
190
refquad_0e_2vb_newelstypes,
191
refquad_0e_2vb_newels
192
};
193
194
195
196
197
// HP_QUAD_0E_3V
198
int refquad_0e_3v_splitedges[][3] =
199
{
200
{ 1, 2, 5 },
201
{ 1, 4, 6 },
202
{ 2, 1, 7 },
203
{ 2, 3, 8 },
204
{ 3, 2, 9 },
205
{ 3, 4, 10 },
206
{ 0, 0, 0 }
207
};
208
209
int refquad_0e_3v_splitfaces[][4] =
210
{
211
{ 2, 3, 1, 14 },
212
{ 0, 0, 0, 0 },
213
};
214
215
HPREF_ELEMENT_TYPE refquad_0e_3v_newelstypes[] =
216
{
217
HP_TRIG_SINGCORNER,
218
HP_DUMMY_QUAD_SINGCORNER,
219
HP_TRIG_SINGCORNER,
220
HP_QUAD,
221
HP_QUAD,
222
HP_QUAD,
223
HP_NONE,
224
};
225
int refquad_0e_3v_newels[][8] =
226
{
227
{ 1, 5, 6 },
228
{ 2, 8, 14, 7 },
229
{ 3, 10, 9 },
230
{ 5, 7, 14, 6 },
231
{ 8, 9, 10, 14 },
232
{ 6, 14, 10, 4 },
233
};
234
HPRef_Struct refquad_0e_3v =
235
{
236
HP_QUAD,
237
refquad_0e_3v_splitedges,
238
refquad_0e_3v_splitfaces,
239
0,
240
refquad_0e_3v_newelstypes,
241
refquad_0e_3v_newels
242
};
243
244
245
246
247
// HP_QUAD_0E_4V
248
int refquad_0e_4v_splitedges[][3] =
249
{
250
{ 1, 2, 5 },
251
{ 1, 4, 6 },
252
{ 2, 1, 7 },
253
{ 2, 3, 8 },
254
{ 3, 2, 9 },
255
{ 3, 4, 10 },
256
{ 4, 1, 11 },
257
{ 4, 3, 12 },
258
{ 0, 0, 0 }
259
};
260
261
int refquad_0e_4v_splitfaces[][4] =
262
{
263
{ 1, 2, 4, 13 },
264
{ 2, 3, 1, 14 },
265
{ 3, 4, 2, 15 },
266
{ 4, 1, 3, 16 },
267
{ 0, 0, 0, 0 },
268
};
269
270
HPREF_ELEMENT_TYPE refquad_0e_4v_newelstypes[] =
271
{
272
HP_DUMMY_QUAD_SINGCORNER,
273
HP_DUMMY_QUAD_SINGCORNER,
274
HP_DUMMY_QUAD_SINGCORNER,
275
HP_DUMMY_QUAD_SINGCORNER,
276
277
HP_QUAD,
278
HP_QUAD,
279
HP_QUAD,
280
HP_QUAD,
281
282
HP_QUAD,
283
HP_NONE,
284
};
285
int refquad_0e_4v_newels[][8] =
286
{
287
{ 1, 5, 13, 6 },
288
{ 2, 8, 14, 7 },
289
{ 3, 10, 15, 9 },
290
{ 4, 11, 16, 12 },
291
{ 5, 7, 14, 13 },
292
{ 8, 9, 15, 14 },
293
{ 10, 12, 16, 15 },
294
{ 11, 6, 13, 16 },
295
{ 13, 14, 15, 16 }
296
};
297
HPRef_Struct refquad_0e_4v =
298
{
299
HP_QUAD,
300
refquad_0e_4v_splitedges,
301
refquad_0e_4v_splitfaces,
302
0,
303
refquad_0e_4v_newelstypes,
304
refquad_0e_4v_newels
305
};
306
307
308
309
310
311
312
313
314
// HP_QUAD_1E_1VA
315
int refquad_1e_1va_splitedges[][3] =
316
{
317
{ 1, 4, 5 },
318
{ 2, 3, 6 },
319
{ 1, 2, 7 },
320
{ 0, 0, 0 }
321
};
322
HPREF_ELEMENT_TYPE refquad_1e_1va_newelstypes[] =
323
{
324
HP_QUAD_SINGEDGE,
325
HP_QUAD,
326
HP_TRIG_SINGEDGECORNER1,
327
HP_NONE,
328
};
329
int refquad_1e_1va_newels[][8] =
330
{
331
{ 7, 2, 6, 5 },
332
{ 5, 6, 3, 4 },
333
{ 1, 7, 5 },
334
};
335
HPRef_Struct refquad_1e_1va =
336
{
337
HP_QUAD,
338
refquad_1e_1va_splitedges,
339
0, 0,
340
refquad_1e_1va_newelstypes,
341
refquad_1e_1va_newels
342
};
343
344
345
346
347
// HP_QUAD_1E_1VB
348
int refquad_1e_1vb_splitedges[][3] =
349
{
350
{ 1, 4, 5 },
351
{ 2, 3, 6 },
352
{ 2, 1, 7 },
353
{ 0, 0, 0 }
354
};
355
HPREF_ELEMENT_TYPE refquad_1e_1vb_newelstypes[] =
356
{
357
HP_QUAD_SINGEDGE,
358
HP_QUAD,
359
HP_TRIG_SINGEDGECORNER2,
360
HP_NONE,
361
};
362
int refquad_1e_1vb_newels[][8] =
363
{
364
{ 1, 7, 6, 5 },
365
{ 5, 6, 3, 4 },
366
{ 7, 2, 6 },
367
};
368
HPRef_Struct refquad_1e_1vb =
369
{
370
HP_QUAD,
371
refquad_1e_1vb_splitedges,
372
0, 0,
373
refquad_1e_1vb_newelstypes,
374
refquad_1e_1vb_newels
375
};
376
377
378
379
// HP_QUAD_1E_1VC
380
int refquad_1e_1vc_splitedges[][3] =
381
{
382
{ 1, 4, 5 },
383
{ 2, 3, 6 },
384
{ 3, 2, 7 },
385
{ 3, 4, 8 },
386
{ 0, 0, 0 }
387
};
388
HPREF_ELEMENT_TYPE refquad_1e_1vc_newelstypes[] =
389
{
390
HP_QUAD_SINGEDGE,
391
HP_TRIG,
392
HP_QUAD,
393
HP_TRIG_SINGCORNER,
394
HP_NONE,
395
};
396
int refquad_1e_1vc_newels[][8] =
397
{
398
{ 1, 2, 6, 5 },
399
{ 5, 6, 4 },
400
{ 4, 6, 7, 8 },
401
{ 3, 8, 7 }
402
};
403
HPRef_Struct refquad_1e_1vc =
404
{
405
HP_QUAD,
406
refquad_1e_1vc_splitedges,
407
0, 0,
408
refquad_1e_1vc_newelstypes,
409
refquad_1e_1vc_newels
410
};
411
412
413
414
// HP_QUAD_1E_1VD
415
int refquad_1e_1vd_splitedges[][3] =
416
{
417
{ 1, 4, 5 },
418
{ 2, 3, 6 },
419
{ 4, 1, 7 },
420
{ 4, 3, 8 },
421
{ 0, 0, 0 }
422
};
423
HPREF_ELEMENT_TYPE refquad_1e_1vd_newelstypes[] =
424
{
425
HP_QUAD_SINGEDGE,
426
HP_TRIG,
427
HP_QUAD,
428
HP_TRIG_SINGCORNER,
429
HP_NONE,
430
};
431
int refquad_1e_1vd_newels[][8] =
432
{
433
{ 1, 2, 6, 5 },
434
{ 5, 6, 3 },
435
{ 5, 3, 8, 7 },
436
{ 4, 7, 8 }
437
};
438
HPRef_Struct refquad_1e_1vd =
439
{
440
HP_QUAD,
441
refquad_1e_1vd_splitedges,
442
0, 0,
443
refquad_1e_1vd_newelstypes,
444
refquad_1e_1vd_newels
445
};
446
447
448
449
450
451
452
453
// HP_QUAD_1E_2VA
454
int refquad_1e_2va_splitedges[][3] =
455
{
456
{ 1, 4, 5 },
457
{ 2, 3, 6 },
458
{ 1, 2, 7 },
459
{ 2, 1, 8 },
460
{ 0, 0, 0 }
461
};
462
HPREF_ELEMENT_TYPE refquad_1e_2va_newelstypes[] =
463
{
464
HP_QUAD_SINGEDGE,
465
HP_QUAD,
466
HP_TRIG_SINGEDGECORNER1,
467
HP_TRIG_SINGEDGECORNER2,
468
HP_NONE,
469
};
470
int refquad_1e_2va_newels[][8] =
471
{
472
{ 7, 8, 6, 5 },
473
{ 5, 6, 3, 4 },
474
{ 1, 7, 5 },
475
{ 8, 2, 6 }
476
};
477
HPRef_Struct refquad_1e_2va =
478
{
479
HP_QUAD,
480
refquad_1e_2va_splitedges,
481
0, 0,
482
refquad_1e_2va_newelstypes,
483
refquad_1e_2va_newels
484
};
485
486
487
488
489
// HP_QUAD_1E_2VB
490
int refquad_1e_2vb_splitedges[][3] =
491
{
492
{ 1, 4, 5 },
493
{ 2, 3, 6 },
494
{ 1, 2, 7 },
495
{ 3, 2, 8 },
496
{ 3, 4, 9 },
497
{ 0, 0, 0 }
498
};
499
HPREF_ELEMENT_TYPE refquad_1e_2vb_newelstypes[] =
500
{
501
HP_QUAD_SINGEDGE,
502
HP_TRIG_SINGEDGECORNER1,
503
HP_TRIG,
504
HP_QUAD,
505
HP_TRIG_SINGCORNER,
506
HP_NONE,
507
};
508
int refquad_1e_2vb_newels[][8] =
509
{
510
{ 7, 2, 6, 5 },
511
{ 1, 7, 5 },
512
{ 5, 6, 4 },
513
{ 4, 6, 8, 9 },
514
{ 3, 9, 8 }
515
};
516
HPRef_Struct refquad_1e_2vb =
517
{
518
HP_QUAD,
519
refquad_1e_2vb_splitedges,
520
0, 0,
521
refquad_1e_2vb_newelstypes,
522
refquad_1e_2vb_newels
523
};
524
525
526
527
528
// HP_QUAD_1E_2VC
529
int refquad_1e_2vc_splitedges[][3] =
530
{
531
{ 1, 4, 5 },
532
{ 2, 3, 6 },
533
{ 1, 2, 7 },
534
{ 4, 1, 8 },
535
{ 4, 3, 9 },
536
{ 0, 0, 0 }
537
};
538
HPREF_ELEMENT_TYPE refquad_1e_2vc_newelstypes[] =
539
{
540
HP_QUAD_SINGEDGE,
541
HP_TRIG_SINGEDGECORNER1,
542
HP_TRIG,
543
HP_QUAD,
544
HP_TRIG_SINGCORNER,
545
HP_NONE,
546
};
547
int refquad_1e_2vc_newels[][8] =
548
{
549
{ 7, 2, 6, 5 },
550
{ 1, 7, 5 },
551
{ 5, 6, 3 },
552
{ 5, 3, 9, 8 },
553
{ 4, 8, 9 }
554
};
555
HPRef_Struct refquad_1e_2vc =
556
{
557
HP_QUAD,
558
refquad_1e_2vc_splitedges,
559
0, 0,
560
refquad_1e_2vc_newelstypes,
561
refquad_1e_2vc_newels
562
};
563
564
565
566
567
// HP_QUAD_1E_2VD
568
int refquad_1e_2vd_splitedges[][3] =
569
{
570
{ 1, 4, 5 },
571
{ 2, 3, 6 },
572
{ 2, 1, 7 },
573
{ 3, 2, 8 },
574
{ 3, 4, 9 },
575
{ 0, 0, 0 }
576
};
577
HPREF_ELEMENT_TYPE refquad_1e_2vd_newelstypes[] =
578
{
579
HP_QUAD_SINGEDGE,
580
HP_TRIG_SINGEDGECORNER2,
581
HP_TRIG,
582
HP_QUAD,
583
HP_TRIG_SINGCORNER,
584
HP_NONE,
585
};
586
int refquad_1e_2vd_newels[][8] =
587
{
588
{ 1, 7, 6, 5 },
589
{ 7, 2, 6 },
590
{ 5, 6, 4 },
591
{ 4, 6, 8, 9 },
592
{ 3, 9, 8 }
593
};
594
HPRef_Struct refquad_1e_2vd =
595
{
596
HP_QUAD,
597
refquad_1e_2vd_splitedges,
598
0, 0,
599
refquad_1e_2vd_newelstypes,
600
refquad_1e_2vd_newels
601
};
602
603
604
605
606
607
// HP_QUAD_1E_2VE
608
int refquad_1e_2ve_splitedges[][3] =
609
{
610
{ 1, 4, 5 },
611
{ 2, 3, 6 },
612
{ 2, 1, 7 },
613
{ 4, 1, 8 },
614
{ 4, 3, 9 },
615
{ 0, 0, 0 }
616
};
617
HPREF_ELEMENT_TYPE refquad_1e_2ve_newelstypes[] =
618
{
619
HP_QUAD_SINGEDGE,
620
HP_TRIG_SINGEDGECORNER2,
621
HP_TRIG,
622
HP_QUAD,
623
HP_TRIG_SINGCORNER,
624
HP_NONE,
625
};
626
int refquad_1e_2ve_newels[][8] =
627
{
628
{ 1, 7, 6, 5 },
629
{ 7, 2, 6 },
630
{ 5, 6, 3 },
631
{ 5, 3, 9, 8 },
632
{ 4, 8, 9 }
633
};
634
HPRef_Struct refquad_1e_2ve =
635
{
636
HP_QUAD,
637
refquad_1e_2ve_splitedges,
638
0, 0,
639
refquad_1e_2ve_newelstypes,
640
refquad_1e_2ve_newels
641
};
642
643
644
645
646
647
648
// HP_QUAD_1E_2VF
649
int refquad_1e_2vf_splitedges[][3] =
650
{
651
{ 1, 4, 5 },
652
{ 2, 3, 6 },
653
{ 4, 1, 7 },
654
{ 4, 3, 8 },
655
{ 3, 2, 9 },
656
{ 3, 4, 10 },
657
{ 0, 0, 0 }
658
};
659
HPREF_ELEMENT_TYPE refquad_1e_2vf_newelstypes[] =
660
{
661
HP_QUAD_SINGEDGE,
662
HP_QUAD,
663
HP_QUAD,
664
HP_TRIG_SINGCORNER,
665
HP_TRIG_SINGCORNER,
666
HP_NONE,
667
};
668
int refquad_1e_2vf_newels[][8] =
669
{
670
{ 1, 2, 6, 5 },
671
{ 5, 6, 9, 7 },
672
{ 7, 9, 10, 8 },
673
{ 4, 7, 8 },
674
{ 3, 10, 9 },
675
};
676
HPRef_Struct refquad_1e_2vf =
677
{
678
HP_QUAD,
679
refquad_1e_2vf_splitedges,
680
0, 0,
681
refquad_1e_2vf_newelstypes,
682
refquad_1e_2vf_newels
683
};
684
685
686
687
688
689
// HP_QUAD_1E_3VA
690
int refquad_1e_3va_splitedges[][3] =
691
{
692
{ 1, 4, 5 },
693
{ 2, 3, 6 },
694
{ 1, 2, 7 },
695
{ 2, 1, 8 },
696
{ 3, 2, 9 },
697
{ 3, 4, 10 },
698
{ 0, 0, 0 }
699
};
700
HPREF_ELEMENT_TYPE refquad_1e_3va_newelstypes[] =
701
{
702
HP_TRIG_SINGEDGECORNER1,
703
HP_TRIG_SINGEDGECORNER2,
704
HP_TRIG_SINGCORNER,
705
HP_QUAD_SINGEDGE,
706
HP_QUAD,
707
HP_TRIG,
708
HP_NONE,
709
};
710
int refquad_1e_3va_newels[][8] =
711
{
712
{ 1, 7, 5 },
713
{ 8, 2, 6 },
714
{ 3, 10, 9 },
715
{ 7, 8, 6, 5 },
716
{ 4, 6, 9, 10 },
717
{ 5, 6, 4 }
718
};
719
HPRef_Struct refquad_1e_3va =
720
{
721
HP_QUAD,
722
refquad_1e_3va_splitedges,
723
0, 0,
724
refquad_1e_3va_newelstypes,
725
refquad_1e_3va_newels
726
};
727
728
729
730
731
732
// HP_QUAD_1E_3VB
733
int refquad_1e_3vb_splitedges[][3] =
734
{
735
{ 1, 4, 5 },
736
{ 2, 3, 6 },
737
{ 1, 2, 7 },
738
{ 2, 1, 8 },
739
{ 4, 1, 9 },
740
{ 4, 3, 10 },
741
{ 0, 0, 0 }
742
};
743
HPREF_ELEMENT_TYPE refquad_1e_3vb_newelstypes[] =
744
{
745
HP_TRIG_SINGEDGECORNER1,
746
HP_TRIG_SINGEDGECORNER2,
747
HP_TRIG_SINGCORNER,
748
HP_QUAD_SINGEDGE,
749
HP_QUAD,
750
HP_TRIG,
751
HP_NONE,
752
};
753
int refquad_1e_3vb_newels[][8] =
754
{
755
{ 1, 7, 5 },
756
{ 8, 2, 6 },
757
{ 4, 9, 10 },
758
{ 7, 8, 6, 5 },
759
{ 5, 3, 10, 9 },
760
{ 5, 6, 3 }
761
};
762
HPRef_Struct refquad_1e_3vb =
763
{
764
HP_QUAD,
765
refquad_1e_3vb_splitedges,
766
0, 0,
767
refquad_1e_3vb_newelstypes,
768
refquad_1e_3vb_newels
769
};
770
771
772
773
774
775
// HP_QUAD_1E_3VC
776
int refquad_1e_3vc_splitedges[][3] =
777
{
778
{ 1, 4, 5 },
779
{ 2, 3, 6 },
780
{ 1, 2, 7 },
781
{ 3, 2, 8 },
782
{ 3, 4, 9 },
783
{ 4, 3, 10 },
784
{ 4, 1, 11 },
785
{ 0, 0, 0 }
786
};
787
HPREF_ELEMENT_TYPE refquad_1e_3vc_newelstypes[] =
788
{
789
HP_TRIG_SINGEDGECORNER1,
790
HP_TRIG_SINGCORNER,
791
HP_TRIG_SINGCORNER,
792
HP_QUAD_SINGEDGE,
793
HP_QUAD,
794
HP_QUAD,
795
HP_NONE,
796
};
797
int refquad_1e_3vc_newels[][8] =
798
{
799
{ 1, 7, 5 },
800
{ 3, 9, 8 },
801
{ 4, 11, 10 },
802
{ 7, 2, 6, 5 },
803
{ 5, 6, 8, 11 },
804
{ 11, 8, 9, 10 }
805
};
806
HPRef_Struct refquad_1e_3vc =
807
{
808
HP_QUAD,
809
refquad_1e_3vc_splitedges,
810
0, 0,
811
refquad_1e_3vc_newelstypes,
812
refquad_1e_3vc_newels
813
};
814
815
816
817
818
// HP_QUAD_1E_3VD
819
int refquad_1e_3vd_splitedges[][3] =
820
{
821
{ 1, 4, 5 },
822
{ 2, 3, 6 },
823
{ 2, 1, 7 },
824
{ 3, 2, 8 },
825
{ 3, 4, 9 },
826
{ 4, 3, 10 },
827
{ 4, 1, 11 },
828
{ 0, 0, 0 }
829
};
830
HPREF_ELEMENT_TYPE refquad_1e_3vd_newelstypes[] =
831
{
832
HP_TRIG_SINGEDGECORNER2,
833
HP_TRIG_SINGCORNER,
834
HP_TRIG_SINGCORNER,
835
HP_QUAD_SINGEDGE,
836
HP_QUAD,
837
HP_QUAD,
838
HP_NONE,
839
};
840
int refquad_1e_3vd_newels[][8] =
841
{
842
{ 7, 2, 6 },
843
{ 3, 9, 8 },
844
{ 4, 11, 10 },
845
{ 1, 7, 6, 5 },
846
{ 5, 6, 8, 11 },
847
{ 11, 8, 9, 10 }
848
};
849
HPRef_Struct refquad_1e_3vd =
850
{
851
HP_QUAD,
852
refquad_1e_3vd_splitedges,
853
0, 0,
854
refquad_1e_3vd_newelstypes,
855
refquad_1e_3vd_newels
856
};
857
858
859
860
861
862
863
// HP_QUAD_1E_4V
864
int refquad_1e_4v_splitedges[][3] =
865
{
866
{ 1, 4, 5 },
867
{ 2, 3, 6 },
868
{ 1, 2, 7 },
869
{ 2, 1, 8 },
870
{ 4, 1, 9 },
871
{ 3, 2, 10 },
872
{ 4, 3, 11 },
873
{ 3, 4, 12 },
874
{ 0, 0, 0 }
875
};
876
HPREF_ELEMENT_TYPE refquad_1e_4v_newelstypes[] =
877
{
878
HP_TRIG_SINGEDGECORNER1,
879
HP_TRIG_SINGEDGECORNER2,
880
HP_TRIG_SINGCORNER,
881
HP_TRIG_SINGCORNER,
882
HP_QUAD_SINGEDGE,
883
HP_QUAD,
884
HP_QUAD,
885
HP_NONE,
886
};
887
int refquad_1e_4v_newels[][8] =
888
{
889
{ 1, 7, 5 },
890
{ 8, 2, 6 },
891
{ 3, 12, 10 },
892
{ 4, 9, 11 },
893
{ 7, 8, 6, 5 },
894
{ 5, 6, 10, 9 },
895
{ 9, 10, 12, 11 }
896
};
897
HPRef_Struct refquad_1e_4v =
898
{
899
HP_QUAD,
900
refquad_1e_4v_splitedges,
901
0, 0,
902
refquad_1e_4v_newelstypes,
903
refquad_1e_4v_newels
904
};
905
906
////////////////////////////////////////////////////////////////////////////////
907
908
// HP_QUAD_2E
909
int refquad_2e_splitedges[][3] =
910
{
911
{ 1, 2, 5 },
912
{ 1, 4, 6 },
913
{ 2, 3, 7 },
914
{ 4, 3, 8 },
915
{ 0, 0, 0 }
916
};
917
int refquad_2e_splitfaces[][4] =
918
{
919
{ 1, 2, 4, 9 },
920
{ 0, 0, 0, 0 },
921
};
922
923
924
/*
925
HPREF_ELEMENT_TYPE refquad_2e_newelstypes[] =
926
{
927
HP_TRIG_SINGEDGECORNER1,
928
HP_TRIG_SINGEDGECORNER2,
929
HP_QUAD_SINGEDGE,
930
HP_QUAD_SINGEDGE,
931
HP_QUAD,
932
HP_NONE,
933
};
934
int refquad_2e_newels[][8] =
935
{
936
{ 1, 5, 9 },
937
{ 6, 1, 9 },
938
{ 5, 2, 7, 9 },
939
{ 4, 6, 9, 8 },
940
{ 9, 7, 3, 8 },
941
};
942
*/
943
944
// SZ refine to 4 quads
945
HPREF_ELEMENT_TYPE refquad_2e_newelstypes[] =
946
{
947
HP_QUAD_2E,
948
HP_QUAD_SINGEDGE,
949
HP_QUAD_SINGEDGE,
950
HP_QUAD,
951
HP_NONE,
952
};
953
int refquad_2e_newels[][8] =
954
{
955
{ 1, 5, 9, 6 },
956
{ 5, 2, 7, 9 },
957
{ 4, 6, 9, 8 },
958
{ 9, 7, 3, 8 },
959
};
960
961
HPRef_Struct refquad_2e =
962
{
963
HP_QUAD,
964
refquad_2e_splitedges,
965
refquad_2e_splitfaces,
966
0,
967
refquad_2e_newelstypes,
968
refquad_2e_newels
969
};
970
971
972
// HP_QUAD_2E_1VA
973
int refquad_2e_1va_splitedges[][3] =
974
{
975
{ 1, 2, 5 },
976
{ 1, 4, 6 },
977
{ 2, 3, 7 },
978
{ 4, 3, 8 },
979
{ 2, 1, 10 },
980
{ 0, 0, 0 }
981
};
982
int refquad_2e_1va_splitfaces[][4] =
983
{
984
{ 1, 2, 4, 9 },
985
{ 0, 0, 0, 0 },
986
};
987
988
/*
989
HPREF_ELEMENT_TYPE refquad_2e_1va_newelstypes[] =
990
{
991
HP_TRIG_SINGEDGECORNER1,
992
HP_TRIG_SINGEDGECORNER2,
993
HP_QUAD_SINGEDGE,
994
HP_QUAD_SINGEDGE,
995
HP_QUAD,
996
HP_TRIG_SINGEDGECORNER2,
997
HP_NONE,
998
};
999
int refquad_2e_1va_newels[][8] =
1000
{
1001
{ 1, 5, 9 },
1002
{ 6, 1, 9 },
1003
{ 5, 10, 7, 9 },
1004
{ 4, 6, 9, 8 },
1005
{ 9, 7, 3, 8 },
1006
{ 10, 2, 7 },
1007
};
1008
*/
1009
// SZ Quad_2e refinement
1010
HPREF_ELEMENT_TYPE refquad_2e_1va_newelstypes[] =
1011
{
1012
HP_QUAD_2E,
1013
HP_QUAD_SINGEDGE,
1014
HP_QUAD_SINGEDGE,
1015
HP_QUAD,
1016
HP_TRIG_SINGEDGECORNER2,
1017
HP_NONE,
1018
};
1019
int refquad_2e_1va_newels[][8] =
1020
{
1021
{ 1, 5, 9, 6 },
1022
{ 5, 10, 7, 9 },
1023
{ 4, 6, 9, 8 },
1024
{ 9, 7, 3, 8 },
1025
{ 10, 2, 7 },
1026
};
1027
1028
HPRef_Struct refquad_2e_1va =
1029
{
1030
HP_QUAD,
1031
refquad_2e_1va_splitedges,
1032
refquad_2e_1va_splitfaces,
1033
0,
1034
refquad_2e_1va_newelstypes,
1035
refquad_2e_1va_newels
1036
};
1037
1038
1039
1040
// HP_QUAD_2E_1VB
1041
int refquad_2e_1vb_splitedges[][3] =
1042
{
1043
{ 1, 2, 5 },
1044
{ 1, 4, 6 },
1045
{ 2, 3, 7 },
1046
{ 4, 3, 8 },
1047
{ 3, 2, 10 },
1048
{ 3, 4, 11 },
1049
{ 0, 0, 0 }
1050
};
1051
int refquad_2e_1vb_splitfaces[][4] =
1052
{
1053
{ 1, 2, 4, 9 },
1054
{ 0, 0, 0, 0 },
1055
};
1056
HPREF_ELEMENT_TYPE refquad_2e_1vb_newelstypes[] =
1057
{
1058
// HP_TRIG_SINGEDGECORNER1,
1059
// HP_TRIG_SINGEDGECORNER2,
1060
// SZ QUAD_2E
1061
HP_QUAD_2E,
1062
HP_QUAD_SINGEDGE,
1063
HP_QUAD_SINGEDGE,
1064
HP_TRIG,
1065
HP_QUAD,
1066
HP_TRIG_SINGCORNER,
1067
HP_NONE,
1068
};
1069
int refquad_2e_1vb_newels[][8] =
1070
{
1071
//{ 1, 5, 9 },
1072
//{ 6, 1, 9 },
1073
{ 1, 5, 9, 6 },
1074
{ 5, 2, 7, 9 },
1075
{ 4, 6, 9, 8 },
1076
{ 7, 8, 9 },
1077
{ 8, 7, 10, 11 },
1078
{ 3, 11, 10 }
1079
};
1080
HPRef_Struct refquad_2e_1vb =
1081
{
1082
HP_QUAD,
1083
refquad_2e_1vb_splitedges,
1084
refquad_2e_1vb_splitfaces,
1085
0,
1086
refquad_2e_1vb_newelstypes,
1087
refquad_2e_1vb_newels
1088
}
1089
;
1090
1091
// HP_QUAD_2E_1VC
1092
int refquad_2e_1vc_splitedges[][3] =
1093
{
1094
{ 1, 2, 5 },
1095
{ 1, 4, 6 },
1096
{ 2, 3, 7 },
1097
{ 4, 1, 8 },
1098
{ 4, 3, 9 },
1099
{ 0, 0, 0 }
1100
};
1101
int refquad_2e_1vc_splitfaces[][4] =
1102
{
1103
{ 1, 2, 4, 10 },
1104
{ 0, 0, 0, 0 },
1105
};
1106
HPREF_ELEMENT_TYPE refquad_2e_1vc_newelstypes[] =
1107
{
1108
// HP_TRIG_SINGEDGECORNER1,
1109
// HP_TRIG_SINGEDGECORNER2,
1110
HP_QUAD_2E,
1111
HP_TRIG_SINGEDGECORNER1,
1112
HP_QUAD_SINGEDGE,
1113
HP_QUAD_SINGEDGE,
1114
HP_QUAD,
1115
HP_NONE,
1116
};
1117
int refquad_2e_1vc_newels[][8] =
1118
{
1119
//{ 1, 5, 10 },
1120
//{ 6, 1, 10 },
1121
{ 1, 5, 10, 6},
1122
{ 4, 8, 9 },
1123
{ 5, 2, 7, 10 },
1124
{ 8, 6, 10, 9 },
1125
{ 10, 7, 3, 9 },
1126
};
1127
HPRef_Struct refquad_2e_1vc =
1128
{
1129
HP_QUAD,
1130
refquad_2e_1vc_splitedges,
1131
refquad_2e_1vc_splitfaces,
1132
0,
1133
refquad_2e_1vc_newelstypes,
1134
refquad_2e_1vc_newels
1135
};
1136
1137
// HP_QUAD_2E_2VA
1138
int refquad_2e_2va_splitedges[][3] =
1139
{
1140
{ 1, 2, 5 },
1141
{ 1, 4, 6 },
1142
{ 2, 3, 7 },
1143
{ 4, 3, 8 },
1144
{ 3, 2, 10 },
1145
{ 3, 4, 11 },
1146
{ 2, 1, 12 },
1147
{ 0, 0, 0 }
1148
};
1149
int refquad_2e_2va_splitfaces[][4] =
1150
{
1151
{ 1, 2, 4, 9 },
1152
{ 0, 0, 0, 0 },
1153
};
1154
HPREF_ELEMENT_TYPE refquad_2e_2va_newelstypes[] =
1155
{
1156
//HP_TRIG_SINGEDGECORNER1,
1157
//HP_TRIG_SINGEDGECORNER2,
1158
HP_QUAD_2E,
1159
HP_QUAD_SINGEDGE,
1160
HP_QUAD_SINGEDGE,
1161
HP_TRIG,
1162
HP_QUAD,
1163
HP_TRIG_SINGCORNER,
1164
HP_TRIG_SINGEDGECORNER2,
1165
HP_NONE,
1166
};
1167
int refquad_2e_2va_newels[][8] =
1168
{
1169
// { 1, 5, 9 },
1170
// { 6, 1, 9 },
1171
{ 1, 5, 9, 6 },
1172
{ 5, 12, 7, 9 },
1173
{ 4, 6, 9, 8 },
1174
{ 7, 8, 9 },
1175
{ 8, 7, 10, 11 },
1176
{ 3, 11, 10 },
1177
{ 12, 2, 7 }
1178
};
1179
HPRef_Struct refquad_2e_2va =
1180
{
1181
HP_QUAD,
1182
refquad_2e_2va_splitedges,
1183
refquad_2e_2va_splitfaces,
1184
0,
1185
refquad_2e_2va_newelstypes,
1186
refquad_2e_2va_newels
1187
};
1188
1189
1190
1191
1192
1193
1194
// HP_QUAD_2E_2VB
1195
int refquad_2e_2vb_splitedges[][3] =
1196
{
1197
{ 1, 2, 5 },
1198
{ 1, 4, 6 },
1199
{ 2, 1, 7 },
1200
{ 2, 3, 8 },
1201
{ 4, 1, 9 },
1202
{ 4, 3, 10 },
1203
{ 0, 0, 0 }
1204
};
1205
int refquad_2e_2vb_splitfaces[][4] =
1206
{
1207
{ 1, 2, 4, 11 },
1208
{ 0, 0, 0, 0 },
1209
};
1210
HPREF_ELEMENT_TYPE refquad_2e_2vb_newelstypes[] =
1211
{
1212
// HP_TRIG_SINGEDGECORNER1,
1213
// HP_TRIG_SINGEDGECORNER2,
1214
HP_QUAD_2E,
1215
HP_TRIG_SINGEDGECORNER1,
1216
HP_TRIG_SINGEDGECORNER2,
1217
HP_QUAD_SINGEDGE,
1218
HP_QUAD_SINGEDGE,
1219
HP_QUAD,
1220
HP_NONE,
1221
};
1222
int refquad_2e_2vb_newels[][8] =
1223
{
1224
//{ 1, 5, 11 },
1225
//{ 6, 1, 11 },
1226
{ 1, 5, 11, 6 },
1227
{ 4, 9, 10 },
1228
{ 7, 2, 8 },
1229
{ 5, 7, 8, 11 },
1230
{ 9, 6, 11, 10 },
1231
{ 3, 10, 11, 8 },
1232
};
1233
HPRef_Struct refquad_2e_2vb =
1234
{
1235
HP_QUAD,
1236
refquad_2e_2vb_splitedges,
1237
refquad_2e_2vb_splitfaces,
1238
0,
1239
refquad_2e_2vb_newelstypes,
1240
refquad_2e_2vb_newels
1241
};
1242
1243
// HP_QUAD_2E_2VC
1244
int refquad_2e_2vc_splitedges[][3] =
1245
{
1246
{ 1, 2, 5 },
1247
{ 1, 4, 6 },
1248
{ 2, 3, 7 },
1249
{ 4, 3, 8 },
1250
{ 3, 2, 10 },
1251
{ 3, 4, 11 },
1252
{ 4, 1, 12 },
1253
{ 0, 0, 0 }
1254
};
1255
int refquad_2e_2vc_splitfaces[][4] =
1256
{
1257
{ 1, 2, 4, 9 },
1258
{ 0, 0, 0, 0 },
1259
};
1260
HPREF_ELEMENT_TYPE refquad_2e_2vc_newelstypes[] =
1261
{
1262
// HP_TRIG_SINGEDGECORNER1,
1263
// HP_TRIG_SINGEDGECORNER2,
1264
HP_QUAD_2E,
1265
HP_QUAD_SINGEDGE,
1266
HP_QUAD_SINGEDGE,
1267
HP_TRIG,
1268
HP_QUAD,
1269
HP_TRIG_SINGCORNER,
1270
HP_TRIG_SINGEDGECORNER1, //SZ (vorher: SINGEDGECORNER2)
1271
HP_NONE,
1272
};
1273
int refquad_2e_2vc_newels[][8] =
1274
{
1275
{ 1, 5, 9 },
1276
{ 6, 1, 9 },
1277
{ 5, 2, 7, 9 },
1278
{ 12, 6, 9, 8 },
1279
{ 7, 8, 9 },
1280
{ 8, 7, 10, 11 },
1281
{ 3, 11, 10 },
1282
{ 4, 12, 8 }
1283
};
1284
HPRef_Struct refquad_2e_2vc =
1285
{
1286
HP_QUAD,
1287
refquad_2e_2vc_splitedges,
1288
refquad_2e_2vc_splitfaces,
1289
0,
1290
refquad_2e_2vc_newelstypes,
1291
refquad_2e_2vc_newels
1292
};
1293
1294
// HP_QUAD_2E_3V
1295
int refquad_2e_3v_splitedges[][3] =
1296
{
1297
{ 1, 2, 5 },
1298
{ 1, 4, 6 },
1299
{ 2, 3, 7 },
1300
{ 4, 3, 8 },
1301
{ 3, 2, 10 },
1302
{ 3, 4, 11 },
1303
{ 2, 1, 12 },
1304
{ 4, 1, 13 },
1305
{ 0, 0, 0 }
1306
};
1307
int refquad_2e_3v_splitfaces[][4] =
1308
{
1309
{ 1, 2, 4, 9 },
1310
{ 0, 0, 0, 0 },
1311
};
1312
HPREF_ELEMENT_TYPE refquad_2e_3v_newelstypes[] =
1313
{
1314
// HP_TRIG_SINGEDGECORNER1,
1315
// HP_TRIG_SINGEDGECORNER2,
1316
HP_QUAD_2E,
1317
HP_QUAD_SINGEDGE,
1318
HP_QUAD_SINGEDGE,
1319
HP_TRIG,
1320
HP_QUAD,
1321
HP_TRIG_SINGCORNER,
1322
HP_TRIG_SINGEDGECORNER2,
1323
HP_TRIG_SINGEDGECORNER1,
1324
HP_NONE,
1325
};
1326
int refquad_2e_3v_newels[][8] =
1327
{
1328
//{ 1, 5, 9 },
1329
//{ 6, 1, 9 },
1330
{ 1, 5, 9, 6 },
1331
{ 5, 12, 7, 9 },
1332
{ 13, 6, 9, 8 },
1333
{ 7, 8, 9 },
1334
{ 8, 7, 10, 11 },
1335
{ 3, 11, 10 },
1336
{ 12, 2, 7 },
1337
{ 4, 13, 8 }
1338
};
1339
HPRef_Struct refquad_2e_3v =
1340
{
1341
HP_QUAD,
1342
refquad_2e_3v_splitedges,
1343
refquad_2e_3v_splitfaces,
1344
0,
1345
refquad_2e_3v_newelstypes,
1346
refquad_2e_3v_newels
1347
};
1348
1349
// HP_QUAD_2EB_0V
1350
int refquad_2eb_0v_splitedges[][3] =
1351
{
1352
{ 1, 4, 5 },
1353
{ 2, 3, 6 },
1354
{ 3, 2, 7 },
1355
{ 4, 1, 8 },
1356
{ 0, 0, 0 }
1357
};
1358
int refquad_2eb_0v_splitfaces[][4] =
1359
{
1360
{ 0, 0, 0, 0 },
1361
};
1362
HPREF_ELEMENT_TYPE refquad_2eb_0v_newelstypes[] =
1363
{
1364
HP_QUAD_SINGEDGE,
1365
HP_QUAD_SINGEDGE,
1366
HP_QUAD,
1367
HP_NONE,
1368
};
1369
int refquad_2eb_0v_newels[][8] =
1370
{
1371
{ 1, 2, 6, 5 },
1372
{ 3, 4, 8, 7 },
1373
{ 5, 6, 7, 8 }
1374
};
1375
HPRef_Struct refquad_2eb_0v =
1376
{
1377
HP_QUAD,
1378
refquad_2eb_0v_splitedges,
1379
refquad_2eb_0v_splitfaces,
1380
0,
1381
refquad_2eb_0v_newelstypes,
1382
refquad_2eb_0v_newels
1383
};
1384
1385
1386
// HP_QUAD_2EB_1VA
1387
int refquad_2eb_1va_splitedges[][3] =
1388
{
1389
{ 1, 4, 5 },
1390
{ 2, 3, 6 },
1391
{ 3, 2, 7 },
1392
{ 4, 1, 8 },
1393
{ 1, 2, 9 },
1394
{ 0, 0, 0 }
1395
};
1396
int refquad_2eb_1va_splitfaces[][4] =
1397
{
1398
{ 0, 0, 0, 0 },
1399
};
1400
HPREF_ELEMENT_TYPE refquad_2eb_1va_newelstypes[] =
1401
{
1402
HP_QUAD_SINGEDGE,
1403
HP_QUAD_SINGEDGE,
1404
HP_TRIG_SINGEDGECORNER1,
1405
HP_QUAD,
1406
HP_NONE,
1407
};
1408
int refquad_2eb_1va_newels[][8] =
1409
{
1410
{ 9, 2, 6, 5 },
1411
{ 3, 4, 8, 7 },
1412
{ 1, 9, 5 },
1413
{ 5, 6, 7, 8 }
1414
};
1415
HPRef_Struct refquad_2eb_1va =
1416
{
1417
HP_QUAD,
1418
refquad_2eb_1va_splitedges,
1419
refquad_2eb_1va_splitfaces,
1420
0,
1421
refquad_2eb_1va_newelstypes,
1422
refquad_2eb_1va_newels
1423
};
1424
1425
// HP_QUAD_2EB_1VB
1426
int refquad_2eb_1vb_splitedges[][3] =
1427
{
1428
{ 1, 4, 5 },
1429
{ 2, 3, 6 },
1430
{ 3, 2, 7 },
1431
{ 4, 1, 8 },
1432
{ 2, 1, 9 },
1433
{ 0, 0, 0 }
1434
};
1435
int refquad_2eb_1vb_splitfaces[][4] =
1436
{
1437
{ 0, 0, 0, 0 },
1438
};
1439
HPREF_ELEMENT_TYPE refquad_2eb_1vb_newelstypes[] =
1440
{
1441
HP_QUAD_SINGEDGE,
1442
HP_QUAD_SINGEDGE,
1443
HP_TRIG_SINGEDGECORNER2,
1444
HP_QUAD,
1445
HP_NONE,
1446
};
1447
int refquad_2eb_1vb_newels[][8] =
1448
{
1449
{ 1, 9, 6, 5 },
1450
{ 3, 4, 8, 7 },
1451
{ 9, 2, 6 },
1452
{ 5, 6, 7, 8 }
1453
};
1454
HPRef_Struct refquad_2eb_1vb =
1455
{
1456
HP_QUAD,
1457
refquad_2eb_1vb_splitedges,
1458
refquad_2eb_1vb_splitfaces,
1459
0,
1460
refquad_2eb_1vb_newelstypes,
1461
refquad_2eb_1vb_newels
1462
};
1463
1464
// HP_QUAD_2EB_2VA
1465
int refquad_2eb_2va_splitedges[][3] =
1466
{
1467
{ 1, 4, 5 },
1468
{ 2, 3, 6 },
1469
{ 3, 2, 7 },
1470
{ 4, 1, 8 },
1471
{ 1, 2, 9 },
1472
{ 2, 1, 10 },
1473
{ 0, 0, 0 }
1474
};
1475
HPREF_ELEMENT_TYPE refquad_2eb_2va_newelstypes[] =
1476
{
1477
HP_QUAD_SINGEDGE,
1478
HP_QUAD_SINGEDGE,
1479
HP_TRIG_SINGEDGECORNER1,
1480
HP_TRIG_SINGEDGECORNER2,
1481
HP_QUAD,
1482
HP_NONE,
1483
};
1484
int refquad_2eb_2va_newels[][8] =
1485
{
1486
{ 9, 10, 6, 5 },
1487
{ 3, 4, 8, 7 },
1488
{ 1, 9, 5 },
1489
{ 10, 2, 6 },
1490
{ 5, 6, 7, 8 }
1491
};
1492
HPRef_Struct refquad_2eb_2va =
1493
{
1494
HP_QUAD,
1495
refquad_2eb_2va_splitedges,
1496
0, 0,
1497
refquad_2eb_2va_newelstypes,
1498
refquad_2eb_2va_newels
1499
};
1500
1501
1502
1503
// HP_QUAD_2EB_2VB
1504
int refquad_2eb_2vb_splitedges[][3] =
1505
{
1506
{ 1, 4, 5 },
1507
{ 2, 3, 6 },
1508
{ 3, 2, 7 },
1509
{ 4, 1, 8 },
1510
{ 1, 2, 9 },
1511
{ 3, 4, 10 },
1512
{ 0, 0, 0 }
1513
};
1514
HPREF_ELEMENT_TYPE refquad_2eb_2vb_newelstypes[] =
1515
{
1516
HP_QUAD_SINGEDGE,
1517
HP_QUAD_SINGEDGE,
1518
HP_TRIG_SINGEDGECORNER1,
1519
HP_TRIG_SINGEDGECORNER1,
1520
HP_QUAD,
1521
HP_NONE,
1522
};
1523
int refquad_2eb_2vb_newels[][8] =
1524
{
1525
{ 9, 2, 6, 5 },
1526
{ 10, 4, 8, 7 },
1527
{ 1, 9, 5 },
1528
{ 3, 10, 7 },
1529
{ 5, 6, 7, 8 }
1530
};
1531
HPRef_Struct refquad_2eb_2vb =
1532
{
1533
HP_QUAD,
1534
refquad_2eb_2vb_splitedges,
1535
0, 0,
1536
refquad_2eb_2vb_newelstypes,
1537
refquad_2eb_2vb_newels
1538
};
1539
1540
1541
1542
// HP_QUAD_2EB_2VC
1543
int refquad_2eb_2vc_splitedges[][3] =
1544
{
1545
{ 1, 4, 5 },
1546
{ 2, 3, 6 },
1547
{ 3, 2, 7 },
1548
{ 4, 1, 8 },
1549
{ 1, 2, 9 },
1550
{ 4, 3, 10 },
1551
{ 0, 0, 0 }
1552
};
1553
int refquad_2eb_2vc_splitfaces[][4] =
1554
{
1555
{ 0, 0, 0, 0 },
1556
};
1557
HPREF_ELEMENT_TYPE refquad_2eb_2vc_newelstypes[] =
1558
{
1559
HP_QUAD_SINGEDGE,
1560
HP_QUAD_SINGEDGE,
1561
HP_TRIG_SINGEDGECORNER1,
1562
HP_TRIG_SINGEDGECORNER2,
1563
HP_QUAD,
1564
HP_NONE,
1565
};
1566
int refquad_2eb_2vc_newels[][8] =
1567
{
1568
{ 9, 2, 6, 5 },
1569
{ 3, 10, 8, 7 },
1570
{ 1, 9, 5 },
1571
{ 10, 4, 8 },
1572
{ 5, 6, 7, 8 }
1573
};
1574
HPRef_Struct refquad_2eb_2vc =
1575
{
1576
HP_QUAD,
1577
refquad_2eb_2vc_splitedges,
1578
refquad_2eb_2vc_splitfaces,
1579
0,
1580
refquad_2eb_2vc_newelstypes,
1581
refquad_2eb_2vc_newels
1582
};
1583
1584
1585
// HP_QUAD_2EB_2VD
1586
int refquad_2eb_2vd_splitedges[][3] =
1587
{
1588
{ 1, 4, 5 },
1589
{ 2, 3, 6 },
1590
{ 3, 2, 7 },
1591
{ 4, 1, 8 },
1592
{ 2, 1, 9 },
1593
{ 4, 3, 10 },
1594
{ 0, 0, 0 }
1595
};
1596
HPREF_ELEMENT_TYPE refquad_2eb_2vd_newelstypes[] =
1597
{
1598
HP_QUAD_SINGEDGE,
1599
HP_QUAD_SINGEDGE,
1600
HP_TRIG_SINGEDGECORNER2,
1601
HP_TRIG_SINGEDGECORNER2,
1602
HP_QUAD,
1603
HP_NONE,
1604
};
1605
int refquad_2eb_2vd_newels[][8] =
1606
{
1607
{ 1, 9, 6, 5 },
1608
{ 3, 10, 8, 7 },
1609
{ 9, 2, 6 },
1610
{ 10, 4, 8 },
1611
{ 5, 6, 7, 8 }
1612
};
1613
HPRef_Struct refquad_2eb_2vd =
1614
{
1615
HP_QUAD,
1616
refquad_2eb_2vd_splitedges,
1617
0, 0,
1618
refquad_2eb_2vd_newelstypes,
1619
refquad_2eb_2vd_newels
1620
};
1621
1622
1623
// HP_QUAD_2EB_3VA
1624
int refquad_2eb_3va_splitedges[][3] =
1625
{
1626
{ 1, 4, 5 },
1627
{ 2, 3, 6 },
1628
{ 1, 2, 7 },
1629
{ 2, 1, 8 },
1630
{ 3, 2, 9 },
1631
{ 4, 1, 10 },
1632
{ 3, 4, 11 },
1633
{ 0, 0, 0 }
1634
};
1635
HPREF_ELEMENT_TYPE refquad_2eb_3va_newelstypes[] =
1636
{
1637
HP_TRIG_SINGEDGECORNER1,
1638
HP_TRIG_SINGEDGECORNER2,
1639
HP_TRIG_SINGEDGECORNER1,
1640
HP_QUAD_SINGEDGE,
1641
HP_QUAD_SINGEDGE,
1642
HP_QUAD,
1643
HP_NONE,
1644
};
1645
int refquad_2eb_3va_newels[][8] =
1646
{
1647
{ 1, 7, 5 },
1648
{ 8, 2, 6 },
1649
{ 3, 11, 9},
1650
{ 7, 8, 6, 5 },
1651
{ 11, 4, 10, 9 },
1652
{ 5, 6, 9, 10 }
1653
};
1654
HPRef_Struct refquad_2eb_3va =
1655
{
1656
HP_QUAD,
1657
refquad_2eb_3va_splitedges,
1658
0, 0,
1659
refquad_2eb_3va_newelstypes,
1660
refquad_2eb_3va_newels
1661
};
1662
1663
1664
// HP_QUAD_2EB_3VB
1665
int refquad_2eb_3vb_splitedges[][3] =
1666
{
1667
{ 1, 4, 5 },
1668
{ 2, 3, 6 },
1669
{ 1, 2, 7 },
1670
{ 2, 1, 8 },
1671
{ 3, 2, 9 },
1672
{ 4, 1, 10 },
1673
{ 4, 3, 11 },
1674
{ 0, 0, 0 }
1675
};
1676
HPREF_ELEMENT_TYPE refquad_2eb_3vb_newelstypes[] =
1677
{
1678
HP_TRIG_SINGEDGECORNER1,
1679
HP_TRIG_SINGEDGECORNER2,
1680
HP_TRIG_SINGEDGECORNER2,
1681
HP_QUAD_SINGEDGE,
1682
HP_QUAD_SINGEDGE,
1683
HP_QUAD,
1684
HP_NONE,
1685
};
1686
int refquad_2eb_3vb_newels[][8] =
1687
{
1688
{ 1, 7, 5 },
1689
{ 8, 2, 6 },
1690
{ 11, 4, 10 },
1691
{ 7, 8, 6, 5 },
1692
{ 3, 11, 10, 9 },
1693
{ 5, 6, 9, 10 }
1694
};
1695
HPRef_Struct refquad_2eb_3vb =
1696
{
1697
HP_QUAD,
1698
refquad_2eb_3vb_splitedges,
1699
0, 0,
1700
refquad_2eb_3vb_newelstypes,
1701
refquad_2eb_3vb_newels
1702
};
1703
1704
1705
// HP_QUAD_2EB_4V
1706
int refquad_2eb_4v_splitedges[][3] =
1707
{
1708
{ 1, 4, 5 },
1709
{ 2, 3, 6 },
1710
{ 3, 2, 7 },
1711
{ 4, 1, 8 },
1712
{ 1, 2, 9 },
1713
{ 2, 1, 10 },
1714
{ 3, 4, 11 },
1715
{ 4, 3, 12 },
1716
{ 0, 0, 0 }
1717
};
1718
int refquad_2eb_4v_splitfaces[][4] =
1719
{
1720
{ 0, 0, 0, 0 },
1721
};
1722
HPREF_ELEMENT_TYPE refquad_2eb_4v_newelstypes[] =
1723
{
1724
HP_QUAD_SINGEDGE,
1725
HP_QUAD_SINGEDGE,
1726
HP_QUAD,
1727
HP_TRIG_SINGEDGECORNER1,
1728
HP_TRIG_SINGEDGECORNER2,
1729
HP_TRIG_SINGEDGECORNER1,
1730
HP_TRIG_SINGEDGECORNER2,
1731
HP_NONE,
1732
};
1733
int refquad_2eb_4v_newels[][8] =
1734
{
1735
{ 9, 10, 6, 5 },
1736
{ 11, 12, 8, 7 },
1737
{ 5, 6, 7, 8 },
1738
{ 1, 9, 5 },
1739
{ 10, 2, 6 },
1740
{ 3, 11, 7 },
1741
{ 12, 4, 8 },
1742
};
1743
HPRef_Struct refquad_2eb_4v =
1744
{
1745
HP_QUAD,
1746
refquad_2eb_4v_splitedges,
1747
refquad_2eb_4v_splitfaces,
1748
0,
1749
refquad_2eb_4v_newelstypes,
1750
refquad_2eb_4v_newels
1751
};
1752
1753
1754
1755
// HP_QUAD_3E
1756
int refquad_3e_splitedges[][3] =
1757
{
1758
{ 1, 2, 5 },
1759
{ 1, 4, 6 },
1760
{ 2, 1, 7 },
1761
{ 2, 3, 8 },
1762
{ 3, 4, 10 },
1763
{ 4, 3, 12 },
1764
{ 0, 0, 0 }
1765
};
1766
1767
int refquad_3e_splitfaces[][4] =
1768
{
1769
{ 1, 2, 4, 13 },
1770
{ 2, 3, 1, 14 },
1771
{ 0, 0, 0, 0 },
1772
};
1773
1774
HPREF_ELEMENT_TYPE refquad_3e_newelstypes[] =
1775
{
1776
HP_QUAD_2E,
1777
HP_QUAD_2E,
1778
// HP_TRIG_SINGEDGECORNER1,
1779
// HP_TRIG_SINGEDGECORNER2,
1780
// HP_TRIG_SINGEDGECORNER2,
1781
// HP_TRIG_SINGEDGECORNER1,
1782
1783
HP_QUAD_SINGEDGE,
1784
HP_QUAD_SINGEDGE,
1785
HP_QUAD_SINGEDGE,
1786
1787
HP_QUAD,
1788
HP_NONE,
1789
};
1790
int refquad_3e_newels[][8] =
1791
{
1792
// { 1, 5, 13 },
1793
// { 6, 1, 13 },
1794
// { 7, 2, 14 },
1795
// { 2, 8, 14 },
1796
{ 1, 5, 13, 6 },
1797
{ 2, 8, 14, 7 },
1798
{ 5, 7, 14, 13 },
1799
{ 8, 3, 10, 14 },
1800
{ 4, 6, 13, 12 },
1801
{ 13, 14, 10, 12 }
1802
};
1803
HPRef_Struct refquad_3e =
1804
{
1805
HP_QUAD,
1806
refquad_3e_splitedges,
1807
refquad_3e_splitfaces,
1808
0,
1809
refquad_3e_newelstypes,
1810
refquad_3e_newels
1811
};
1812
1813
1814
1815
1816
1817
1818
1819
// HP_QUAD_3E_3VA
1820
int refquad_3e_3va_splitedges[][3] =
1821
{
1822
{ 1, 2, 5 },
1823
{ 1, 4, 6 },
1824
{ 2, 1, 7 },
1825
{ 2, 3, 8 },
1826
{ 3, 4, 10 },
1827
{ 3, 2, 11 },
1828
{ 4, 3, 12 },
1829
{ 0, 0, 0 }
1830
};
1831
1832
int refquad_3e_3va_splitfaces[][4] =
1833
{
1834
{ 1, 2, 4, 13 },
1835
{ 2, 3, 1, 14 },
1836
{ 0, 0, 0, 0 },
1837
};
1838
1839
HPREF_ELEMENT_TYPE refquad_3e_3va_newelstypes[] =
1840
{
1841
HP_QUAD_2E,
1842
HP_QUAD_2E,
1843
1844
// HP_TRIG_SINGEDGECORNER1,
1845
// HP_TRIG_SINGEDGECORNER2,
1846
// HP_TRIG_SINGEDGECORNER2,
1847
// HP_TRIG_SINGEDGECORNER1,
1848
HP_TRIG_SINGEDGECORNER2,
1849
1850
HP_QUAD_SINGEDGE,
1851
HP_QUAD_SINGEDGE,
1852
HP_QUAD_SINGEDGE,
1853
1854
HP_QUAD,
1855
HP_NONE,
1856
};
1857
int refquad_3e_3va_newels[][8] =
1858
{
1859
// { 1, 5, 13 },
1860
// { 6, 1, 13 },
1861
// { 7, 2, 14 },
1862
// { 2, 8, 14 },
1863
{ 1, 5, 13, 6 },
1864
{ 2, 8, 14, 7 },
1865
{ 11, 3, 10 },
1866
{ 5, 7, 14, 13 },
1867
{ 8, 11, 10, 14 },
1868
{ 4, 6, 13, 12 },
1869
{ 13, 14, 10, 12 }
1870
};
1871
HPRef_Struct refquad_3e_3va =
1872
{
1873
HP_QUAD,
1874
refquad_3e_3va_splitedges,
1875
refquad_3e_3va_splitfaces,
1876
0,
1877
refquad_3e_3va_newelstypes,
1878
refquad_3e_3va_newels
1879
};
1880
1881
// HP_QUAD_3E_3VB
1882
int refquad_3e_3vb_splitedges[][3] =
1883
{
1884
{ 1, 2, 5 },
1885
{ 1, 4, 6 },
1886
{ 2, 1, 7 },
1887
{ 2, 3, 8 },
1888
{ 3, 4, 10 },
1889
{ 4, 1, 11 },
1890
{ 4, 3, 12 },
1891
{ 0, 0, 0 }
1892
};
1893
1894
int refquad_3e_3vb_splitfaces[][4] =
1895
{
1896
{ 1, 2, 4, 13 },
1897
{ 2, 3, 1, 14 },
1898
{ 0, 0, 0, 0 },
1899
};
1900
1901
HPREF_ELEMENT_TYPE refquad_3e_3vb_newelstypes[] =
1902
{
1903
HP_QUAD_2E,
1904
HP_QUAD_2E,
1905
1906
// HP_TRIG_SINGEDGECORNER1,
1907
// HP_TRIG_SINGEDGECORNER2,
1908
// HP_TRIG_SINGEDGECORNER2,
1909
// HP_TRIG_SINGEDGECORNER1,
1910
HP_TRIG_SINGEDGECORNER1,
1911
1912
HP_QUAD_SINGEDGE,
1913
HP_QUAD_SINGEDGE,
1914
HP_QUAD_SINGEDGE,
1915
1916
HP_QUAD,
1917
HP_NONE,
1918
};
1919
int refquad_3e_3vb_newels[][8] =
1920
{
1921
// { 1, 5, 13 },
1922
// { 6, 1, 13 },
1923
// { 7, 2, 14 },
1924
// { 2, 8, 14 },
1925
{ 1, 5, 13, 6 },
1926
{ 2, 8, 14, 7 },
1927
{ 4, 11, 12 },
1928
{ 5, 7, 14, 13 },
1929
{ 8, 3, 10, 14 },
1930
{ 11, 6, 13, 12 },
1931
{ 13, 14, 10, 12 }
1932
};
1933
HPRef_Struct refquad_3e_3vb =
1934
{
1935
HP_QUAD,
1936
refquad_3e_3vb_splitedges,
1937
refquad_3e_3vb_splitfaces,
1938
0,
1939
refquad_3e_3vb_newelstypes,
1940
refquad_3e_3vb_newels
1941
};
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
// HP_QUAD_3E_4V
1952
int refquad_3e_4v_splitedges[][3] =
1953
{
1954
{ 1, 2, 5 },
1955
{ 1, 4, 6 },
1956
{ 2, 1, 7 },
1957
{ 2, 3, 8 },
1958
{ 3, 4, 10 },
1959
{ 3, 2, 11 },
1960
{ 4, 3, 12 },
1961
{ 4, 1, 15 },
1962
{ 0, 0, 0 }
1963
};
1964
1965
int refquad_3e_4v_splitfaces[][4] =
1966
{
1967
{ 1, 2, 4, 13 },
1968
{ 2, 3, 1, 14 },
1969
{ 0, 0, 0, 0 },
1970
};
1971
1972
HPREF_ELEMENT_TYPE refquad_3e_4v_newelstypes[] =
1973
{
1974
HP_QUAD_2E,
1975
HP_QUAD_2E,
1976
1977
// HP_TRIG_SINGEDGECORNER1,
1978
// HP_TRIG_SINGEDGECORNER2,
1979
// HP_TRIG_SINGEDGECORNER2,
1980
// HP_TRIG_SINGEDGECORNER1,
1981
HP_TRIG_SINGEDGECORNER2,
1982
HP_TRIG_SINGEDGECORNER1,
1983
1984
HP_QUAD_SINGEDGE,
1985
HP_QUAD_SINGEDGE,
1986
HP_QUAD_SINGEDGE,
1987
1988
HP_QUAD,
1989
HP_NONE,
1990
};
1991
int refquad_3e_4v_newels[][8] =
1992
{
1993
// { 1, 5, 13 },
1994
// { 6, 1, 13 },
1995
// { 7, 2, 14 },
1996
// { 2, 8, 14 },
1997
{ 1, 5, 13, 6 },
1998
{ 2, 8, 14, 7 },
1999
{ 11, 3, 10 },
2000
{ 4, 15, 12 },
2001
{ 5, 7, 14, 13 },
2002
{ 8, 11, 10, 14 },
2003
{ 15, 6, 13, 12 },
2004
{ 13, 14, 10, 12 }
2005
};
2006
HPRef_Struct refquad_3e_4v =
2007
{
2008
HP_QUAD,
2009
refquad_3e_4v_splitedges,
2010
refquad_3e_4v_splitfaces,
2011
0,
2012
refquad_3e_4v_newelstypes,
2013
refquad_3e_4v_newels
2014
};
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
// HP_QUAD_4E
2025
int refquad_4e_splitedges[][3] =
2026
{
2027
{ 1, 2, 5 },
2028
{ 1, 4, 6 },
2029
{ 2, 1, 7 },
2030
{ 2, 3, 8 },
2031
{ 3, 2, 9 },
2032
{ 3, 4, 10 },
2033
{ 4, 1, 11 },
2034
{ 4, 3, 12 },
2035
{ 0, 0, 0 }
2036
};
2037
2038
int refquad_4e_splitfaces[][4] =
2039
{
2040
{ 1, 2, 4, 13 },
2041
{ 2, 3, 1, 14 },
2042
{ 3, 4, 2, 15 },
2043
{ 4, 1, 3, 16 },
2044
{ 0, 0, 0, 0 },
2045
};
2046
2047
HPREF_ELEMENT_TYPE refquad_4e_newelstypes[] =
2048
{
2049
HP_QUAD_2E,
2050
HP_QUAD_2E,
2051
HP_QUAD_2E,
2052
HP_QUAD_2E,
2053
2054
HP_QUAD_SINGEDGE,
2055
HP_QUAD_SINGEDGE,
2056
HP_QUAD_SINGEDGE,
2057
HP_QUAD_SINGEDGE,
2058
2059
HP_QUAD,
2060
HP_NONE,
2061
};
2062
int refquad_4e_newels[][8] =
2063
{
2064
{ 1, 5, 13, 6 },
2065
{ 2, 8, 14, 7 },
2066
{ 3, 10, 15, 9 },
2067
{ 4, 11, 16, 12 },
2068
{ 5, 7, 14, 13 },
2069
{ 8, 9, 15, 14 },
2070
{ 10, 12, 16, 15 },
2071
{ 11, 6, 13, 16 },
2072
{ 13, 14, 15, 16 }
2073
};
2074
HPRef_Struct refquad_4e =
2075
{
2076
HP_QUAD,
2077
refquad_4e_splitedges,
2078
refquad_4e_splitfaces,
2079
0,
2080
refquad_4e_newelstypes,
2081
refquad_4e_newels
2082
};
2083
2084