Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/ElmerGUI/netgen/libsrc/meshing/hpref_trig.hpp
3206 views
1
2
3
// HP_TRIG
4
int reftrig_splitedges[][3] =
5
{
6
{ 0, 0, 0 }
7
};
8
HPREF_ELEMENT_TYPE reftrig_newelstypes[] =
9
{
10
HP_TRIG,
11
HP_NONE,
12
};
13
int reftrig_newels[][8] =
14
{
15
{ 1, 2, 3 },
16
};
17
HPRef_Struct reftrig =
18
{
19
HP_TRIG,
20
reftrig_splitedges,
21
0, 0,
22
reftrig_newelstypes,
23
reftrig_newels
24
};
25
26
27
28
// HP_TRIG_SINGCORNER
29
int reftrig_singcorner_splitedges[][3] =
30
{
31
{ 1, 2, 4 },
32
{ 1, 3, 5 },
33
{ 0, 0, 0 }
34
};
35
HPREF_ELEMENT_TYPE reftrig_singcorner_newelstypes[] =
36
{
37
HP_TRIG_SINGCORNER,
38
HP_QUAD,
39
HP_NONE,
40
};
41
int reftrig_singcorner_newels[][8] =
42
{
43
{ 1, 4, 5 },
44
{ 2, 3, 5, 4 },
45
};
46
HPRef_Struct reftrig_singcorner =
47
{
48
HP_TRIG,
49
reftrig_singcorner_splitedges,
50
0, 0,
51
reftrig_singcorner_newelstypes,
52
reftrig_singcorner_newels
53
};
54
55
56
/*
57
// HP_TRIG_SINGCORNER, trigs only
58
int reftrig_singcorner_splitedges[][3] =
59
{
60
{ 1, 2, 4 },
61
{ 1, 3, 5 },
62
{ 0, 0, 0 }
63
};
64
HPREF_ELEMENT_TYPE reftrig_singcorner_newelstypes[] =
65
{
66
HP_TRIG_SINGCORNER,
67
HP_TRIG,
68
HP_TRIG,
69
HP_NONE,
70
};
71
int reftrig_singcorner_newels[][8] =
72
{
73
{ 1, 4, 5 },
74
{ 4, 2, 5 },
75
{ 5, 2, 3 },
76
};
77
HPRef_Struct reftrig_singcorner =
78
{
79
HP_TRIG,
80
reftrig_singcorner_splitedges,
81
0, 0,
82
reftrig_singcorner_newelstypes,
83
reftrig_singcorner_newels
84
};
85
*/
86
87
88
89
90
91
// HP_TRIG_SINGCORNER12
92
int reftrig_singcorner12_splitedges[][3] =
93
{
94
{ 1, 2, 4 },
95
{ 1, 3, 5 },
96
{ 2, 1, 6 },
97
{ 2, 3, 7 },
98
{ 0, 0, 0 }
99
};
100
HPREF_ELEMENT_TYPE reftrig_singcorner12_newelstypes[] =
101
{
102
HP_TRIG_SINGCORNER,
103
HP_TRIG_SINGCORNER,
104
HP_QUAD,
105
HP_TRIG,
106
HP_NONE,
107
};
108
int reftrig_singcorner12_newels[][8] =
109
{
110
{ 1, 4, 5 },
111
{ 2, 7, 6 },
112
{ 4, 6, 7, 5 },
113
{ 5, 7, 3 },
114
};
115
HPRef_Struct reftrig_singcorner12 =
116
{
117
HP_TRIG,
118
reftrig_singcorner12_splitedges,
119
0, 0,
120
reftrig_singcorner12_newelstypes,
121
reftrig_singcorner12_newels
122
};
123
124
125
126
127
// HP_TRIG_SINGCORNER123_2D
128
int reftrig_singcorner123_2D_splitedges[][3] =
129
{
130
{ 1, 2, 4 },
131
{ 1, 3, 5 },
132
{ 2, 1, 6 },
133
{ 2, 3, 7 },
134
{ 3, 1, 8 },
135
{ 3, 2, 9 },
136
{ 0, 0, 0 }
137
};
138
HPREF_ELEMENT_TYPE reftrig_singcorner123_2D_newelstypes[] =
139
{
140
HP_TRIG_SINGCORNER,
141
HP_TRIG_SINGCORNER,
142
HP_TRIG_SINGCORNER,
143
HP_QUAD,
144
HP_QUAD,
145
HP_NONE,
146
};
147
int reftrig_singcorner123_2D_newels[][8] =
148
{
149
{ 1, 4, 5 },
150
{ 2, 7, 6 },
151
{ 3, 8, 9 },
152
{ 4, 6, 8, 5 },
153
{ 6, 7, 9, 8 },
154
};
155
HPRef_Struct reftrig_singcorner123_2D =
156
{
157
HP_TRIG,
158
reftrig_singcorner123_2D_splitedges,
159
0, 0,
160
reftrig_singcorner123_2D_newelstypes,
161
reftrig_singcorner123_2D_newels
162
};
163
164
165
166
167
168
169
// HP_TRIG_SINGCORNER123
170
int reftrig_singcorner123_splitedges[][3] =
171
{
172
{ 1, 2, 4 },
173
{ 1, 3, 5 },
174
{ 2, 1, 6 },
175
{ 2, 3, 7 },
176
{ 3, 1, 8 },
177
{ 3, 2, 9 },
178
{ 0, 0, 0 }
179
};
180
181
int reftrig_singcorner123_splitfaces[][4] =
182
{
183
{ 1, 2, 3, 10 },
184
{ 2, 3, 1, 11 },
185
{ 3, 1, 2, 12 },
186
{ 0, 0, 0, 0 }
187
};
188
HPREF_ELEMENT_TYPE reftrig_singcorner123_newelstypes[] =
189
{
190
HP_DUMMY_QUAD_SINGCORNER,
191
HP_DUMMY_QUAD_SINGCORNER,
192
HP_DUMMY_QUAD_SINGCORNER,
193
// HP_TRIG_SINGCORNER,
194
// HP_TRIG,
195
// HP_TRIG_SINGCORNER,
196
// HP_TRIG,
197
// HP_TRIG_SINGCORNER,
198
// HP_TRIG,
199
HP_QUAD,
200
HP_QUAD,
201
HP_QUAD,
202
HP_TRIG,
203
HP_NONE,
204
};
205
int reftrig_singcorner123_newels[][8] =
206
{
207
{ 1, 4, 10, 5 },
208
{ 2, 7, 11, 6 },
209
{ 3, 8, 12, 9 },
210
// { 1, 4, 5 },
211
// { 5, 4, 10 },
212
// { 2, 7, 6 },
213
// { 6, 7, 11 },
214
// { 3, 8, 9 },
215
// { 8, 12, 9 },
216
{ 4, 6, 11, 10 },
217
{ 7, 9, 12, 11 },
218
{ 8, 5, 10, 12 },
219
{ 10, 11, 12 },
220
};
221
HPRef_Struct reftrig_singcorner123 =
222
{
223
HP_TRIG,
224
reftrig_singcorner123_splitedges,
225
reftrig_singcorner123_splitfaces,
226
0,
227
reftrig_singcorner123_newelstypes,
228
reftrig_singcorner123_newels
229
};
230
231
// HP_TRIG_SINGEDGE
232
int reftrig_singedge_splitedges[][3] =
233
{
234
{ 2, 3, 4 },
235
{ 1, 3, 5 },
236
{ 0, 0, 0 }
237
};
238
HPREF_ELEMENT_TYPE reftrig_singedge_newelstypes[] =
239
{
240
HP_TRIG,
241
HP_QUAD_SINGEDGE,
242
HP_NONE,
243
};
244
int reftrig_singedge_newels[][8] =
245
{
246
{ 4, 3, 5 },
247
{ 1, 2, 4, 5 },
248
};
249
HPRef_Struct reftrig_singedge =
250
{
251
HP_TRIG,
252
reftrig_singedge_splitedges,
253
0, 0,
254
reftrig_singedge_newelstypes,
255
reftrig_singedge_newels
256
};
257
258
259
260
261
262
263
// HP_TRIG_SINGEDGECORNER1
264
int reftrig_singedgecorner1_splitedges[][3] =
265
{
266
{ 1, 2, 6 },
267
{ 1, 3, 5 },
268
{ 2, 3, 4 },
269
{ 0, 0, 0 }
270
};
271
HPREF_ELEMENT_TYPE reftrig_singedgecorner1_newelstypes[] =
272
{
273
HP_TRIG_SINGEDGECORNER1,
274
HP_QUAD_SINGEDGE,
275
HP_TRIG,
276
HP_NONE,
277
};
278
int reftrig_singedgecorner1_newels[][8] =
279
{
280
{ 1, 6, 5 },
281
{ 6, 2, 4, 5 },
282
{ 5, 4, 3 },
283
};
284
HPRef_Struct reftrig_singedgecorner1 =
285
{
286
HP_TRIG,
287
reftrig_singedgecorner1_splitedges,
288
0, 0,
289
reftrig_singedgecorner1_newelstypes,
290
reftrig_singedgecorner1_newels
291
};
292
293
294
295
296
297
298
299
300
// HP_TRIG_SINGEDGECORNER2
301
int reftrig_singedgecorner2_splitedges[][3] =
302
{
303
{ 2, 1, 6 },
304
{ 1, 3, 5 },
305
{ 2, 3, 4 },
306
{ 0, 0, 0 }
307
};
308
HPREF_ELEMENT_TYPE reftrig_singedgecorner2_newelstypes[] =
309
{
310
HP_TRIG_SINGEDGECORNER2,
311
HP_QUAD_SINGEDGE,
312
HP_TRIG,
313
HP_NONE,
314
};
315
int reftrig_singedgecorner2_newels[][8] =
316
{
317
{ 6, 2, 4},
318
{ 1, 6, 4, 5 },
319
{ 5, 4, 3 },
320
};
321
HPRef_Struct reftrig_singedgecorner2 =
322
{
323
HP_TRIG,
324
reftrig_singedgecorner2_splitedges,
325
0, 0,
326
reftrig_singedgecorner2_newelstypes,
327
reftrig_singedgecorner2_newels
328
};
329
330
331
332
333
// HP_TRIG_SINGEDGECORNER12
334
int reftrig_singedgecorner12_splitedges[][3] =
335
{
336
{ 1, 2, 4 },
337
{ 1, 3, 5 },
338
{ 2, 1, 6 },
339
{ 2, 3, 7 },
340
{ 0, 0, 0 }
341
};
342
HPREF_ELEMENT_TYPE reftrig_singedgecorner12_newelstypes[] =
343
{
344
HP_TRIG_SINGEDGECORNER1,
345
HP_TRIG_SINGEDGECORNER2,
346
HP_QUAD_SINGEDGE,
347
HP_TRIG,
348
HP_NONE,
349
};
350
int reftrig_singedgecorner12_newels[][8] =
351
{
352
{ 1, 4, 5 },
353
{ 6, 2, 7 },
354
{ 4, 6, 7, 5 },
355
{ 5, 7, 3 },
356
};
357
HPRef_Struct reftrig_singedgecorner12 =
358
{
359
HP_TRIG,
360
reftrig_singedgecorner12_splitedges,
361
0, 0,
362
reftrig_singedgecorner12_newelstypes,
363
reftrig_singedgecorner12_newels
364
};
365
366
367
368
369
370
371
372
// HP_TRIG_SINGEDGECORNER3
373
int reftrig_singedgecorner3_splitedges[][3] =
374
{
375
{ 1, 3, 4 },
376
{ 3, 1, 5 },
377
{ 2, 3, 6 },
378
{ 3, 2, 7 },
379
{ 0, 0, 0 }
380
};
381
HPREF_ELEMENT_TYPE reftrig_singedgecorner3_newelstypes[] =
382
{
383
HP_QUAD_SINGEDGE,
384
HP_QUAD,
385
HP_TRIG_SINGCORNER,
386
HP_NONE,
387
};
388
int reftrig_singedgecorner3_newels[][8] =
389
{
390
{ 1, 2, 6, 4 },
391
{ 4, 6, 7, 5 },
392
{ 3, 5, 7 },
393
};
394
HPRef_Struct reftrig_singedgecorner3 =
395
{
396
HP_TRIG,
397
reftrig_singedgecorner3_splitedges,
398
0, 0,
399
reftrig_singedgecorner3_newelstypes,
400
reftrig_singedgecorner3_newels
401
};
402
403
404
405
406
// HP_TRIG_SINGEDGECORNER13
407
int reftrig_singedgecorner13_splitedges[][3] =
408
{
409
{ 1, 2, 4 },
410
{ 1, 3, 5 },
411
{ 2, 3, 6 },
412
{ 3, 1, 7 },
413
{ 3, 2, 8 },
414
{ 0, 0, 0 }
415
};
416
HPREF_ELEMENT_TYPE reftrig_singedgecorner13_newelstypes[] =
417
{
418
HP_TRIG_SINGEDGECORNER1,
419
HP_QUAD_SINGEDGE,
420
HP_QUAD,
421
HP_TRIG_SINGCORNER,
422
HP_NONE,
423
};
424
int reftrig_singedgecorner13_newels[][8] =
425
{
426
{ 1, 4, 5 },
427
{ 4, 2, 6, 5 },
428
{ 5, 6, 8, 7 },
429
{ 3, 7, 8 },
430
};
431
HPRef_Struct reftrig_singedgecorner13 =
432
{
433
HP_TRIG,
434
reftrig_singedgecorner13_splitedges,
435
0, 0,
436
reftrig_singedgecorner13_newelstypes,
437
reftrig_singedgecorner13_newels
438
};
439
440
441
442
443
444
// HP_TRIG_SINGEDGECORNER23
445
int reftrig_singedgecorner23_splitedges[][3] =
446
{
447
{ 1, 3, 4 },
448
{ 2, 1, 5 },
449
{ 2, 3, 6 },
450
{ 3, 1, 7 },
451
{ 3, 2, 8 },
452
{ 0, 0, 0 }
453
};
454
HPREF_ELEMENT_TYPE reftrig_singedgecorner23_newelstypes[] =
455
{
456
HP_TRIG_SINGEDGECORNER2,
457
HP_QUAD_SINGEDGE,
458
HP_QUAD,
459
HP_TRIG_SINGCORNER,
460
HP_NONE,
461
};
462
int reftrig_singedgecorner23_newels[][8] =
463
{
464
{ 5, 2, 6 },
465
{ 1, 5, 6, 4 },
466
{ 4, 6, 8, 7 },
467
{ 3, 7, 8 },
468
};
469
HPRef_Struct reftrig_singedgecorner23 =
470
{
471
HP_TRIG,
472
reftrig_singedgecorner23_splitedges,
473
0, 0,
474
reftrig_singedgecorner23_newelstypes,
475
reftrig_singedgecorner23_newels
476
};
477
478
479
480
// HP_TRIG_SINGEDGECORNER123
481
int reftrig_singedgecorner123_splitedges[][3] =
482
{
483
{ 1, 2, 4 },
484
{ 1, 3, 5 },
485
{ 2, 1, 6 },
486
{ 2, 3, 7 },
487
{ 3, 1, 8 },
488
{ 3, 2, 9 },
489
{ 0, 0, 0 }
490
};
491
HPREF_ELEMENT_TYPE reftrig_singedgecorner123_newelstypes[] =
492
{
493
HP_TRIG_SINGEDGECORNER1,
494
HP_TRIG_SINGEDGECORNER2,
495
HP_QUAD_SINGEDGE,
496
HP_QUAD,
497
HP_TRIG_SINGCORNER,
498
HP_NONE,
499
};
500
int reftrig_singedgecorner123_newels[][8] =
501
{
502
{ 1, 4, 5 },
503
{ 6, 2, 7 },
504
{ 4, 6, 7, 5 },
505
{ 5, 7, 9, 8 },
506
{ 3, 8, 9 },
507
};
508
HPRef_Struct reftrig_singedgecorner123 =
509
{
510
HP_TRIG,
511
reftrig_singedgecorner123_splitedges,
512
0, 0,
513
reftrig_singedgecorner123_newelstypes,
514
reftrig_singedgecorner123_newels
515
};
516
517
// HP_TRIG_SINGEDGES
518
int reftrig_singedges_splitedges[][3] =
519
{
520
{ 1, 2, 4 },
521
{ 1, 3, 5 },
522
{ 2, 3, 6 },
523
{ 3, 2, 7 },
524
{ 0, 0, 0 }
525
};
526
int reftrig_singedges_splitfaces[][4] =
527
{
528
{ 1, 2, 3, 8 },
529
{ 0, 0, 0, 0 }
530
};
531
532
HPREF_ELEMENT_TYPE reftrig_singedges_newelstypes[] =
533
{
534
// HP_QUAD_2E,
535
HP_TRIG_SINGEDGECORNER1,
536
HP_TRIG_SINGEDGECORNER2,
537
HP_QUAD_SINGEDGE,
538
HP_QUAD_SINGEDGE,
539
HP_TRIG,
540
HP_NONE,
541
};
542
int reftrig_singedges_newels[][8] =
543
{
544
// { 1, 4, 8, 5 },
545
{ 1, 4, 8 },
546
{ 5, 1, 8 },
547
{ 4, 2, 6, 8 },
548
{ 3, 5, 8, 7 },
549
{ 6, 7, 8 },
550
};
551
HPRef_Struct reftrig_singedges =
552
{
553
HP_TRIG,
554
reftrig_singedges_splitedges,
555
reftrig_singedges_splitfaces,
556
0,
557
reftrig_singedges_newelstypes,
558
reftrig_singedges_newels
559
};
560
561
562
563
564
565
566
567
568
// HP_TRIG_SINGEDGES2
569
int reftrig_singedges2_splitedges[][3] =
570
{
571
{ 1, 2, 4 },
572
{ 1, 3, 5 },
573
{ 2, 1, 6 },
574
{ 2, 3, 7 },
575
{ 3, 2, 8 },
576
{ 0, 0, 0 }
577
};
578
int reftrig_singedges2_splitfaces[][4] =
579
{
580
{ 1, 2, 3, 9 },
581
{ 0, 0, 0, 0 }
582
};
583
584
HPREF_ELEMENT_TYPE reftrig_singedges2_newelstypes[] =
585
{
586
// HP_QUAD_2E,
587
HP_TRIG_SINGEDGECORNER1,
588
HP_TRIG_SINGEDGECORNER2,
589
HP_QUAD_SINGEDGE,
590
HP_QUAD_SINGEDGE,
591
HP_TRIG_SINGEDGECORNER2,
592
HP_TRIG,
593
HP_NONE,
594
};
595
int reftrig_singedges2_newels[][8] =
596
{
597
// { 1, 4, 9, 5 },
598
{ 1, 4, 9 },
599
{ 5, 1, 9 },
600
{ 4, 6, 7, 9 },
601
{ 3, 5, 9, 8 },
602
{ 6, 2, 7 },
603
{ 7, 8, 9 },
604
};
605
HPRef_Struct reftrig_singedges2 =
606
{
607
HP_TRIG,
608
reftrig_singedges2_splitedges,
609
reftrig_singedges2_splitfaces,
610
0,
611
reftrig_singedges2_newelstypes,
612
reftrig_singedges2_newels
613
};
614
615
616
617
618
// HP_TRIG_SINGEDGES3
619
int reftrig_singedges3_splitedges[][3] =
620
{
621
{ 1, 2, 4 },
622
{ 1, 3, 5 },
623
{ 2, 3, 6 },
624
{ 3, 1, 7 },
625
{ 3, 2, 8 },
626
{ 0, 0, 0 }
627
};
628
int reftrig_singedges3_splitfaces[][4] =
629
{
630
{ 1, 2, 3, 9 },
631
{ 0, 0, 0, 0 }
632
};
633
634
HPREF_ELEMENT_TYPE reftrig_singedges3_newelstypes[] =
635
{
636
// HP_QUAD_2E,
637
HP_TRIG_SINGEDGECORNER1,
638
HP_TRIG_SINGEDGECORNER2,
639
HP_QUAD_SINGEDGE,
640
HP_QUAD_SINGEDGE,
641
HP_TRIG_SINGEDGECORNER1,
642
HP_TRIG,
643
HP_NONE,
644
};
645
int reftrig_singedges3_newels[][8] =
646
{
647
// { 1, 4, 9, 5 },
648
{ 1, 4, 9 },
649
{ 5, 1, 9 },
650
{ 4, 2, 6, 9 },
651
{ 7, 5, 9, 8 },
652
{ 3, 7, 8 },
653
{ 6, 8, 9 },
654
};
655
HPRef_Struct reftrig_singedges3 =
656
{
657
HP_TRIG,
658
reftrig_singedges3_splitedges,
659
reftrig_singedges3_splitfaces,
660
0,
661
reftrig_singedges3_newelstypes,
662
reftrig_singedges3_newels
663
};
664
665
666
667
668
669
670
// HP_TRIG_SINGEDGES23
671
int reftrig_singedges23_splitedges[][3] =
672
{
673
{ 1, 2, 4 },
674
{ 1, 3, 5 },
675
{ 2, 1, 6 },
676
{ 2, 3, 7 },
677
{ 3, 1, 8 },
678
{ 3, 2, 9 },
679
{ 0, 0, 0 }
680
};
681
int reftrig_singedges23_splitfaces[][4] =
682
{
683
{ 1, 2, 3, 10 },
684
{ 0, 0, 0, 0 }
685
};
686
687
HPREF_ELEMENT_TYPE reftrig_singedges23_newelstypes[] =
688
{
689
// HP_QUAD_2E,
690
HP_TRIG_SINGEDGECORNER1,
691
HP_TRIG_SINGEDGECORNER2,
692
693
HP_QUAD_SINGEDGE,
694
HP_QUAD_SINGEDGE,
695
HP_TRIG_SINGEDGECORNER2,
696
HP_TRIG_SINGEDGECORNER1,
697
HP_TRIG,
698
HP_NONE,
699
};
700
int reftrig_singedges23_newels[][8] =
701
{
702
// { 1, 4, 10, 5 },
703
{ 1 , 4, 10 },
704
{ 5, 1, 10 },
705
{ 4, 6, 7, 10 },
706
{ 8, 5, 10, 9 },
707
{ 6, 2, 7 },
708
{ 3, 8, 9 },
709
{ 7, 9, 10 },
710
};
711
HPRef_Struct reftrig_singedges23 =
712
{
713
HP_TRIG,
714
reftrig_singedges23_splitedges,
715
reftrig_singedges23_splitfaces,
716
0,
717
reftrig_singedges23_newelstypes,
718
reftrig_singedges23_newels
719
};
720
721
722
// HP_TRIG_3SINGEDGES
723
int reftrig_3singedges_splitedges[][3] =
724
{
725
{ 1, 2, 4 },
726
{ 2, 1, 5 },
727
{ 2, 3, 6 },
728
{ 3, 2, 7 },
729
{ 3, 1, 8 },
730
{ 1, 3, 9 },
731
{ 0, 0, 0 }
732
};
733
int reftrig_3singedges_splitfaces[][4] =
734
{
735
{ 1, 2, 3, 10 },
736
{ 2, 3, 1, 11 },
737
{ 3, 1, 2, 12 },
738
{ 0, 0, 0, 0 }
739
};
740
741
HPREF_ELEMENT_TYPE reftrig_3singedges_newelstypes[] =
742
{
743
HP_TRIG,
744
HP_QUAD_SINGEDGE,
745
HP_QUAD_SINGEDGE,
746
HP_QUAD_SINGEDGE,
747
HP_TRIG_SINGEDGECORNER1,
748
HP_TRIG_SINGEDGECORNER2,
749
HP_TRIG_SINGEDGECORNER1,
750
HP_TRIG_SINGEDGECORNER2,
751
HP_TRIG_SINGEDGECORNER1,
752
HP_TRIG_SINGEDGECORNER2,
753
HP_NONE,
754
};
755
int reftrig_3singedges_newels[][8] =
756
{
757
{ 10, 11, 12 },
758
{ 4, 5, 11, 10 },
759
{ 6, 7, 12, 11 },
760
{ 8, 9, 10, 12 },
761
{ 1, 4, 10 },
762
{ 9, 1, 10 },
763
{ 2, 6, 11 },
764
{ 5, 2, 11 },
765
{ 3, 8, 12 },
766
{ 7, 3, 12 },
767
};
768
HPRef_Struct reftrig_3singedges =
769
{
770
HP_TRIG,
771
reftrig_3singedges_splitedges,
772
reftrig_3singedges_splitfaces,
773
0,
774
reftrig_3singedges_newelstypes,
775
reftrig_3singedges_newels
776
};
777
778