12#ifndef ARCANE_ITEMREFINEMENTPATTERN_H
13#define ARCANE_ITEMREFINEMENTPATTERN_H
18#include "arcane/utils/Real3.h"
19#include "arcane/utils/TraceInfo.h"
20#include "arcane/utils/NotSupportedException.h"
21#include "arcane/utils/NotImplementedException.h"
23#include "arcane/ArcaneTypes.h"
24#include "arcane/utils/FatalErrorException.h"
25#include "arcane/utils/StringBuilder.h"
36template <
class TypeImp>
41 Real refine_matrix (
const Integer i,
const Integer
j,
const Integer
k)
const
43 return asImp().refine_matrix(i,
j,
k);
45 Integer face_mapping (
const Integer i,
const Integer
j)
const
47 return asImp().face_mapping(i,
j);
49 Integer face_mapping_topo (
const Integer i,
const Integer
j)
const
51 return asImp().face_mapping_topo(i,
j);
53 Integer hChildrenTypeId (
const Integer i)
const
55 return asImp().hChildrenTypeId(i);
57 Integer getNbHChildren ()
const {
58 return asImp().getNbHChildren();
65 return static_cast<TypeImp&
> (*this);
69 return static_cast<const TypeImp&
> (*this);
105 return _refine_matrix[i][
j][
k];
107 Integer face_mapping (
const Integer i,
const Integer
j)
const
109 return _face_mapping[i][
j];
111 Integer face_mapping_topo (
const Integer i,
const Integer j)
const
113 return _face_mapping_topo[i][j];
115 Integer hChildrenTypeId (
const Integer)
const
119 Integer getNbHChildren ()
const
121 return m_nb_hChildren;
126 static const Integer m_nb_hChildren = 4;
128 static const Real _refine_matrix[4][4][4];
129 static const Integer _face_mapping[4][4];
130 static const Integer _face_mapping_topo[4][4];
146 return _refine_matrix [i][
j][
k];
148 Integer face_mapping (
const Integer i,
const Integer
j)
const
150 return _face_mapping [i][
j];
152 Integer face_mapping_topo (
const Integer i,
const Integer j)
const
154 return _face_mapping_topo [i][j];
156 Integer hChildrenTypeId (
const Integer)
const
158 return IT_Hexaedron8;
160 Integer getNbHChildren ()
const
162 return m_nb_hChildren;
165 static const Integer m_nb_hChildren = 8;
167 static const Real _refine_matrix[8][8][8];
168 static const Integer _face_mapping[8][6];
169 static const Integer _face_mapping_topo[8][6];
186 Integer face_mapping (
const Integer,
const Integer)
const
190 Integer hChildrenTypeId (
const Integer)
const
192 return IT_Hexaedron8;
194 Integer getNbHChildren ()
const
196 return m_nb_hChildren;
199 static const Integer m_nb_hChildren = 27;
200 static const double _refine_matrix_1[27][8][8];
216 if (i < 2)
return _refine_matrix_1 [i][
j][
k];
217 if (i < 4)
return _refine_matrix_2 [i-2][
j][
k];
218 if (i < 6)
return _refine_matrix_3 [i-4][
j][
k];
219 return _refine_matrix_4 [i-6][
j][
k];
221 Integer face_mapping (
const Integer i,
const Integer
j)
const
223 if (i < 2)
return _face_mapping_1 [i][
j];
224 if (i < 4)
return _face_mapping_2 [i-2][
j];
225 if (i < 6)
return _face_mapping_3 [i-4][
j];
226 return _face_mapping_4 [i-6][
j];
228 Integer face_mapping_topo (
const Integer i,
const Integer j)
const
230 if (i < 2)
return _face_mapping_topo_1 [i][j];
231 if (i < 4)
return _face_mapping_topo_2 [i-2][j];
232 if (i < 6)
return _face_mapping_topo_3 [i-4][j];
233 return _face_mapping_topo_4 [i-6][j];
235 Integer hChildrenTypeId (
const Integer i)
const {
236 if (i < 2)
return IT_Hexaedron8;
237 if (i < 4)
return IT_Pentaedron6;
238 if (i < 6)
return IT_Pyramid5;
239 return IT_Tetraedron4;
241 Integer getNbHChildren ()
const
243 return m_nb_hChildren;
248 static const Integer m_nb_hChildren = 8;
250 static const double _refine_matrix_1[2][8][4];
251 static const Integer _face_mapping_1[2][6];
252 static const Integer _face_mapping_topo_1[2][6];
254 static const double _refine_matrix_2[2][6][4];
255 static const Integer _face_mapping_2[2][5];
256 static const Integer _face_mapping_topo_2[2][5];
258 static const double _refine_matrix_3[2][5][4];
259 static const Integer _face_mapping_3[2][5];
260 static const Integer _face_mapping_topo_3[2][5];
262 static const double _refine_matrix_4[2][4][4];
263 static const Integer _face_mapping_4[2][4];
264 static const Integer _face_mapping_topo_4[2][4];
279 return _refine_matrix_1 [i][
j][
k];
281 Integer face_mapping (
const Integer,
const Integer)
const
285 Integer hChildrenTypeId (
const Integer)
const
287 return IT_Tetraedron4;
289 Integer getNbHChildren ()
const
291 return m_nb_hChildren;
296 static const Integer m_nb_hChildren = 8;
297 static const double _refine_matrix_1[8][4][4];
314 Integer face_mapping (
const Integer,
const Integer)
const
318 Integer hChildrenTypeId (
const Integer)
const
320 return IT_Tetraedron4;
322 Integer getNbHChildren ()
const
324 return m_nb_hChildren;
329 static const Integer m_nb_hChildren = 32;
330 static const double _refine_matrix_1[32][4][4];
346 if (i<4)
return _refine_matrix_1 [i][
j][
k];
347 return _refine_matrix_2 [i-4][
j][
k];
349 Integer face_mapping (
const Integer i,
const Integer
j)
const
351 if (i<4)
return _face_mapping_1 [i][
j];
352 return _face_mapping_2 [i-4][
j];
354 Integer face_mapping_topo (
const Integer i,
const Integer j)
const
356 if (i<4)
return _face_mapping_topo_1 [i][j];
357 return _face_mapping_topo_2 [i-4][j];
359 Integer hChildrenTypeId (
const Integer i)
const
361 if (i<4)
return IT_Hexaedron8;
362 return IT_Pentaedron6;
364 Integer getNbHChildren ()
const
366 return m_nb_hChildren;
371 static const Integer m_nb_hChildren = 8;
373 static const double _refine_matrix_1[4][8][6];
374 static const Integer _face_mapping_1[4][6];
375 static const Integer _face_mapping_topo_1[4][6];
377 static const double _refine_matrix_2[4][6][6];
378 static const Integer _face_mapping_2[4][5];
379 static const Integer _face_mapping_topo_2[4][5];
394 return _refine_matrix_1 [i][
j][
k];
396 Integer face_mapping (
const Integer,
const Integer)
const
400 Integer hChildrenTypeId (
const Integer)
const
402 return IT_Pentaedron6;
404 Integer getNbHChildren ()
const
406 return m_nb_hChildren;
411 static const Integer m_nb_hChildren = 8;
412 static const double _refine_matrix_1[8][6][6];
429 Integer face_mapping (
const Integer,
const Integer)
const
433 Integer hChildrenTypeId (
const Integer)
const
435 return IT_Pentaedron6;
437 Integer getNbHChildren ()
const
439 return m_nb_hChildren;
442 static const Integer m_nb_hChildren = 27;
444 static const double _refine_matrix_1[27][6][6];
459 if (i < 4)
return _refine_matrix_1 [i][
j][
k];
460 return _refine_matrix_2 [i-4][
j][
k];
462 Integer face_mapping (
const Integer i,
const Integer
j)
const {
463 if (i < 4)
return _face_mapping_1 [i][
j];
464 return _face_mapping_2 [i-4][
j];
466 Integer face_mapping_topo (
const Integer i,
const Integer j)
const {
467 if (i < 4)
return _face_mapping_topo_1 [i][j];
468 return _face_mapping_topo_2 [i-4][j];
470 Integer hChildrenTypeId (
const Integer i)
const {
471 if (i < 4)
return IT_Hexaedron8;
474 Integer getNbHChildren ()
const {
475 return m_nb_hChildren;
478 static const Integer m_nb_hChildren = 8;
480 static const double _refine_matrix_1[4][8][5];
481 static const Integer _face_mapping_1[4][6];
482 static const Integer _face_mapping_topo_1[4][6];
484 static const double _refine_matrix_2[4][5][5];
485 static const Integer _face_mapping_2[4][5];
486 static const Integer _face_mapping_topo_2[4][5];
501 if (i < 4)
return _refine_matrix_1 [i][
j][
k];
502 return _refine_matrix_2 [i-4][
j][
k];
504 Integer face_mapping (
const Integer,
const Integer)
const
508 Integer hChildrenTypeId (
const Integer i)
const
510 if (i < 4)
return IT_Pyramid5;
511 return IT_Tetraedron4;
513 Integer getNbHChildren ()
const {
514 return m_nb_hChildren;
517 static const Integer m_nb_hChildren = 12;
519 static const double _refine_matrix_1[4][5][5];
521 static const double _refine_matrix_2[8][4][5];
537 if (i < 6)
return _refine_matrix_1 [i][
j][
k];
538 return _refine_matrix_2 [i-6][
j][
k];
541 Integer hChildrenTypeId (
const Integer i)
const {
542 if (i < 6)
return IT_Pyramid5;
543 return IT_Tetraedron4;
545 Integer getNbHChildren ()
const {
546 return m_nb_hChildren;
549 static const Integer m_nb_hChildren = 10;
551 static const double _refine_matrix_1[6][5][5];
553 static const double _refine_matrix_2[4][4][5];
571 Integer face_mapping (
const Integer,
const Integer)
const
575 Integer hChildrenTypeId (
const Integer)
const
579 Integer getNbHChildren ()
const
581 return m_nb_hChildren;
586 static const Integer m_nb_hChildren = 4;
587 static const double _refine_matrix_1[4][5][5];
602 if (i < 19)
return _refine_matrix_1 [i][
j][
k];
603 return _refine_matrix_2 [i-19][
j][
k];
606 Integer face_mapping (
const Integer,
const Integer)
const
610 Integer hChildrenTypeId (
const Integer i)
const
612 if (i < 19)
return IT_Pyramid5;
613 return IT_Tetraedron4;
615 Integer getNbHChildren ()
const
617 return m_nb_hChildren;
622 static const Integer m_nb_hChildren = 31;
623 static const double _refine_matrix_1[19][5][5];
624 static const double _refine_matrix_2[12][4][5];
640 if (i < 2)
return _refine_matrix_1 [i][
j][
k];
641 if (i < 6)
return _refine_matrix_2 [i-2][
j][
k];
642 return _refine_matrix_3 [i-6][
j][
k];
647 if (i < 2)
return _face_mapping_1 [i][
j];
648 if (i < 6)
return _face_mapping_2 [i-2][
j];
649 return _face_mapping_3 [i-6][
j];
651 Integer face_mapping_topo (
const Integer i,
const Integer
j)
const
653 if (i < 2)
return _face_mapping_topo_1 [i][
j];
654 if (i < 6)
return _face_mapping_topo_2 [i-2][
j];
655 return _face_mapping_topo_3 [i-6][
j];
657 Integer hChildrenTypeId (
const Integer i)
const
659 if (i < 2)
return IT_Hexaedron8;
660 if (i < 6)
return IT_Pentaedron6;
663 Integer getNbHChildren ()
const
665 return m_nb_hChildren;
668 static const Integer m_nb_hChildren = 8;
670 static const double _refine_matrix_1[2][8][5];
671 static const Integer _face_mapping_1[2][6];
672 static const Integer _face_mapping_topo_1[2][6];
674 static const double _refine_matrix_2[4][6][5];
675 static const Integer _face_mapping_2[4][5];
676 static const Integer _face_mapping_topo_2[4][5];
678 static const double _refine_matrix_3[2][5][5];
679 static const Integer _face_mapping_3[2][4];
680 static const Integer _face_mapping_topo_3[2][4];
696 return _refine_matrix_1 [i][
j][
k];
698 return _refine_matrix_2 [i-3][
j][
k];
699 return _refine_matrix_3 [i-5][
j][
k];
701 Integer face_mapping (
const Integer,
const Integer)
const
705 Integer hChildrenTypeId (
const Integer i)
const
710 return IT_Pentaedron6;
713 Integer getNbHChildren ()
const
715 return m_nb_hChildren;
718 static const Integer m_nb_hChildren = 6;
720 static const double _refine_matrix_1[3][5][5];
722 static const double _refine_matrix_2[2][6][5];
724 static const double _refine_matrix_3[1][7][5];
740 if (i < 7)
return _refine_matrix_1 [i][
j][
k];
741 if (i < 11)
return _refine_matrix_2 [i-7][
j][
k];
742 if (i < 14)
return _refine_matrix_3 [i-11][
j][
k];
743 if (i < 16)
return _refine_matrix_4 [i-14][
j][
k];
744 return _refine_matrix_5 [i-16][
j][
k];
746 Integer face_mapping (
const Integer,
const Integer)
const
750 Integer hChildrenTypeId (
const Integer i)
const
752 if (i < 7)
return IT_HemiHexa5;
753 if (i < 11)
return IT_Pentaedron6;
754 if (i < 14)
return IT_HemiHexa6;
755 if (i < 16)
return IT_HemiHexa7;
756 return IT_Hexaedron8;
758 Integer getNbHChildren ()
const
760 return m_nb_hChildren;
763 static const Integer m_nb_hChildren = 17;
764 static const double _refine_matrix_1[7][5][5];
765 static const double _refine_matrix_2[4][6][5];
766 static const double _refine_matrix_3[3][6][5];
767 static const double _refine_matrix_4[2][7][5];
768 static const double _refine_matrix_5[1][8][5];
784 if (i < 4)
return _refine_matrix_1 [i][
j][
k];
785 return _refine_matrix_2 [i-4][
j][
k];
787 Integer face_mapping (
const Integer i,
const Integer
j)
const
789 if (i < 4)
return _face_mapping_1 [i][
j];
790 return _face_mapping_2 [i-4][
j];
792 Integer face_mapping_topo (
const Integer i,
const Integer j)
const
794 if (i < 4)
return _face_mapping_topo_1 [i][j];
795 return _face_mapping_topo_2 [i-4][j];
797 Integer hChildrenTypeId (
const Integer i)
const
799 if (i < 4)
return IT_Hexaedron8;
802 Integer getNbHChildren ()
const
804 return m_nb_hChildren;
807 static const Integer m_nb_hChildren = 8;
809 static const double _refine_matrix_1[4][8][6];
810 static const Integer _face_mapping_1[4][6];
811 static const Integer _face_mapping_topo_1[4][6];
813 static const double _refine_matrix_2[4][7][6];
814 static const Integer _face_mapping_2[4][6];
815 static const Integer _face_mapping_topo_2[4][6];
830 if (i < 4)
return _refine_matrix_1 [i][
j][
k];
831 return _refine_matrix_2 [i-4][
j][
k];
833 Integer face_mapping (
const Integer,
const Integer)
const
837 Integer hChildrenTypeId (
const Integer i)
const
839 if (i < 4)
return IT_HemiHexa5;
842 Integer getNbHChildren ()
const
844 return m_nb_hChildren;
849 static const Integer m_nb_hChildren = 8;
850 static const double _refine_matrix_1[4][5][6];
851 static const double _refine_matrix_2[4][7][6];
866 if (i < 6)
return _refine_matrix_1 [i][
j][
k];
867 if (i < 18)
return _refine_matrix_2 [i-6][
j][
k];
868 if (i < 24)
return _refine_matrix_3 [i-18][
j][
k];
869 return _refine_matrix_4 [i-24][
j][
k];
871 Integer face_mapping (
const Integer,
const Integer)
const
875 Integer hChildrenTypeId (
const Integer i)
const
877 if (i < 6)
return IT_HemiHexa6;
878 if (i < 18)
return IT_HemiHexa5;
879 if (i < 24)
return IT_HemiHexa7;
880 return IT_Hexaedron8;
882 Integer getNbHChildren ()
const
884 return m_nb_hChildren;
889 static const Integer m_nb_hChildren = 25;
890 static const double _refine_matrix_1[6][6][6];
891 static const double _refine_matrix_2[12][5][6];
892 static const double _refine_matrix_3[6][7][6];
893 static const double _refine_matrix_4[1][8][6];
909 if (i < 6)
return _refine_matrix_1 [i][
j][
k];
910 return _refine_matrix_2 [i-6][
j][
k];
915 if (i < 6)
return _face_mapping_1 [i][
j];
916 return _face_mapping_2 [i-6][
j];
918 Integer face_mapping_topo (
const Integer i,
const Integer
j)
const
920 if (i < 6)
return _face_mapping_topo_1 [i][
j];
921 return _face_mapping_topo_2 [i-6][
j];
923 Integer hChildrenTypeId (
const Integer i)
const
925 if (i < 6)
return IT_Hexaedron8;
928 Integer getNbHChildren ()
const
930 return m_nb_hChildren;
935 static const Integer m_nb_hChildren = 8;
937 static const double _refine_matrix_1[6][8][7];
938 static const Integer _face_mapping_1[6][6];
939 static const Integer _face_mapping_topo_1[6][6];
941 static const double _refine_matrix_2[2][7][7];
942 static const Integer _face_mapping_2[2][6];
943 static const Integer _face_mapping_topo_2[2][6];
959 if (i < 4)
return _refine_matrix_1 [i][
j][
k];
960 if (i < 8)
return _refine_matrix_2 [i-4][
j][
k];
961 if (i < 10)
return _refine_matrix_3 [i-8][
j][
k];
962 return _refine_matrix_4 [i-10][
j][
k];
964 Integer face_mapping (
const Integer,
const Integer)
const
968 Integer hChildrenTypeId (
const Integer i)
const
970 if (i < 4)
return IT_HemiHexa7;
971 if (i < 8)
return IT_Pentaedron6;
972 if (i < 10)
return IT_HemiHexa5;
973 return IT_Hexaedron8;
975 Integer getNbHChildren ()
const
977 return m_nb_hChildren;
982 static const Integer m_nb_hChildren = 11;
983 static const double _refine_matrix_1[4][7][7];
984 static const double _refine_matrix_2[4][6][7];
985 static const double _refine_matrix_3[2][5][7];
986 static const double _refine_matrix_4[1][8][7];
1001 if (i < 8)
return _refine_matrix_1 [i][
j][
k];
1002 if (i < 22)
return _refine_matrix_2 [i-8][
j][
k];
1003 if (i < 31)
return _refine_matrix_3 [i-22][
j][
k];
1004 return _refine_matrix_4 [i-31][
j][
k];
1006 Integer face_mapping (
const Integer,
const Integer)
const
1010 Integer hChildrenTypeId (
const Integer i)
const
1012 if (i < 8)
return IT_HemiHexa7;
1013 if (i < 22)
return IT_Pentaedron6;
1014 if (i < 31)
return IT_HemiHexa5;
1015 return IT_Hexaedron8;
1017 Integer getNbHChildren ()
const
1019 return m_nb_hChildren;
1024 static const Integer m_nb_hChildren = 38;
1025 static const double _refine_matrix_1[8][7][7];
1026 static const double _refine_matrix_2[14][6][7];
1027 static const double _refine_matrix_3[9][5][7];
1028 static const double _refine_matrix_4[7][8][7];
1044 if (i < 4)
return _refine_matrix_1 [i][
j][
k];
1045 return _refine_matrix_2 [i-4][
j][
k];
1047 Integer face_mapping (
const Integer i,
const Integer
j)
const
1049 if (i < 4)
return _face_mapping_1 [i][
j];
1050 return _face_mapping_2 [i-4][
j];
1052 Integer face_mapping_topo (
const Integer i,
const Integer j)
const
1054 if (i < 4)
return _face_mapping_topo_1 [i][j];
1055 return _face_mapping_topo_2 [i-4][j];
1057 Integer hChildrenTypeId (
const Integer i)
const
1059 if (i < 4)
return IT_Hexaedron8;
1060 return IT_HemiHexa7;
1062 Integer getNbHChildren ()
const
1064 return m_nb_hChildren;
1069 static const Integer m_nb_hChildren = 8;
1070 static const double _refine_matrix_1[4][8][6];
1071 static const Integer _face_mapping_1[4][6];
1072 static const Integer _face_mapping_topo_1[4][6];
1073 static const double _refine_matrix_2[4][7][6];
1074 static const Integer _face_mapping_2[4][6];
1075 static const Integer _face_mapping_topo_2[4][6];
1090 if (i < 4)
return _refine_matrix_1 [i][
j][
k];
1091 return _refine_matrix_2 [i-4][
j][
k];
1093 Integer face_mapping (
const Integer,
const Integer)
const
1097 Integer hChildrenTypeId (
const Integer i)
const
1099 if (i < 4)
return IT_AntiWedgeLeft6;
1100 return IT_Pentaedron6;
1102 Integer getNbHChildren ()
const
1104 return m_nb_hChildren;
1109 static const Integer m_nb_hChildren = 8;
1110 static const double _refine_matrix_1[4][6][6];
1111 static const double _refine_matrix_2[4][6][6];
1126 if (i < 9)
return _refine_matrix_1 [i][
j][
k];
1127 return _refine_matrix_2 [i-9][
j][
k];
1129 Integer face_mapping (
const Integer,
const Integer)
const
1133 Integer hChildrenTypeId (
const Integer i)
const
1135 if (i < 9)
return IT_AntiWedgeLeft6;
1136 return IT_Pentaedron6;
1138 Integer getNbHChildren ()
const
1140 return m_nb_hChildren;
1145 static const Integer m_nb_hChildren = 27;
1146 static const double _refine_matrix_1[9][6][6];
1147 static const double _refine_matrix_2[18][6][6];
1163 if (i < 4)
return _refine_matrix_1 [i][
j][
k];
1164 return _refine_matrix_2 [i-4][
j][
k];
1166 Integer face_mapping (
const Integer i,
const Integer
j)
const
1168 if (i < 4)
return _face_mapping_1 [i][
j];
1169 return _face_mapping_2 [i-4][
j];
1171 Integer face_mapping_topo (
const Integer i,
const Integer j)
const
1173 if (i < 4)
return _face_mapping_topo_1 [i][j];
1174 return _face_mapping_topo_2 [i-4][j];
1176 Integer hChildrenTypeId (
const Integer i)
const
1178 if (i < 4)
return IT_Hexaedron8;
1179 return IT_HemiHexa7;
1181 Integer getNbHChildren ()
const
1183 return m_nb_hChildren;
1188 static const Integer m_nb_hChildren = 8;
1189 static const double _refine_matrix_1[4][8][6];
1190 static const Integer _face_mapping_1[4][6];
1191 static const Integer _face_mapping_topo_1[4][6];
1192 static const double _refine_matrix_2[4][7][6];
1193 static const Integer _face_mapping_2[4][6];
1194 static const Integer _face_mapping_topo_2[4][6];
1209 if (i < 4)
return _refine_matrix_1 [i][
j][
k];
1210 return _refine_matrix_2 [i-4][
j][
k];
1212 Integer face_mapping (
const Integer,
const Integer)
const
1216 Integer hChildrenTypeId (
const Integer i)
const
1218 if (i < 4)
return IT_AntiWedgeRight6;
1219 return IT_Pentaedron6;
1221 Integer getNbHChildren ()
const
1223 return m_nb_hChildren;
1228 static const Integer m_nb_hChildren = 8;
1229 static const double _refine_matrix_1[4][6][6];
1230 static const double _refine_matrix_2[4][6][6];
1245 if (i < 9)
return _refine_matrix_1 [i][
j][
k];
1246 return _refine_matrix_2 [i-9][
j][
k];
1249 Integer face_mapping (
const Integer,
const Integer)
const
1253 Integer hChildrenTypeId (
const Integer i)
const
1255 if (i < 9)
return IT_AntiWedgeRight6;
1256 return IT_Pentaedron6;
1258 Integer getNbHChildren ()
const
1260 return m_nb_hChildren;
1265 static const Integer m_nb_hChildren = 27;
1266 static const double _refine_matrix_1[9][6][6];
1267 static const double _refine_matrix_2[18][6][6];
1283 if (i < 2)
return _refine_matrix_1 [i][
j][
k];
1284 return _refine_matrix_2 [i-2][
j][
k];
1289 if (i < 2)
return _face_mapping_1 [i][
j];
1290 return _face_mapping_2 [i-2][
j];
1292 Integer face_mapping_topo (
const Integer i,
const Integer
j)
const
1294 if (i < 2)
return _face_mapping_topo_1 [i][
j];
1295 return _face_mapping_topo_2 [i-2][
j];
1297 Integer hChildrenTypeId (
const Integer i)
const
1299 if (i < 2)
return IT_Hexaedron8;
1300 return IT_HemiHexa7;
1302 Integer getNbHChildren ()
const
1304 return m_nb_hChildren;
1309 static const Integer m_nb_hChildren = 8;
1310 static const double _refine_matrix_1[2][8][5];
1311 static const Integer _face_mapping_1[2][6];
1312 static const Integer _face_mapping_topo_1[2][6];
1313 static const double _refine_matrix_2[6][7][5];
1314 static const Integer _face_mapping_2[6][6];
1315 static const Integer _face_mapping_topo_2[6][6];
1330 if (i < 3)
return _refine_matrix_1 [i][
j][
k];
1331 if (i < 7)
return _refine_matrix_2 [i-3][
j][
k];
1332 return _refine_matrix_3 [i-7][
j][
k];
1334 Integer face_mapping (
const Integer,
const Integer)
const
1338 Integer hChildrenTypeId (
const Integer i)
const
1340 if (i < 3)
return IT_DiTetra5;
1341 if (i < 7)
return IT_Pyramid5;
1342 return IT_Tetraedron4;
1344 Integer getNbHChildren ()
const
1346 return m_nb_hChildren;
1351 static const Integer m_nb_hChildren = 9;
1352 static const double _refine_matrix_1[3][5][5];
1353 static const double _refine_matrix_2[4][5][5];
1354 static const double _refine_matrix_3[2][4][5];
1369 if (i < 7)
return _refine_matrix_1 [i][
j][
k];
1370 return _refine_matrix_2 [i-7][
j][
k];
1372 Integer face_mapping (
const Integer,
const Integer)
const
1376 Integer hChildrenTypeId (
const Integer i)
const
1380 return IT_Tetraedron4;
1382 Integer getNbHChildren ()
const
1384 return m_nb_hChildren;
1387 static const Integer m_nb_hChildren = 9;
1388 static const double _refine_matrix_1[7][5][5];
1389 static const double _refine_matrix_2[2][4][5];
1406 Integer face_mapping (
const Integer,
const Integer)
const
1410 Integer hChildrenTypeId (
const Integer)
const
1412 return IT_Tetraedron4;
1414 Integer getNbHChildren ()
const
1416 return m_nb_hChildren;
1419 static const Integer m_nb_hChildren = 64;
1420 static const double _refine_matrix_1[64][4][5];
1437 Integer face_mapping (
const Integer,
const Integer)
const
1441 Integer hChildrenTypeId (
const Integer)
const
1443 return IT_Tetraedron4;
1445 Integer getNbHChildren ()
const
1447 return m_nb_hChildren;
1450 static const Integer m_nb_hChildren = 32;
1451 static const double _refine_matrix_1[32][5][5];
Fichier de configuration d'Arcane.
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer, const Integer, const Integer) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer, const Integer, const Integer) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer, const Integer, const Integer) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Integer face_mapping(const Integer i, const Integer j) const
mapping des orientations des faces des mailles filles avec les faces de la la maille mère
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Integer face_mapping(const Integer i, const Integer j) const
mapping des orientations des faces des mailles filles avec les faces de la la maille mère
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Integer face_mapping(const Integer i, const Integer j) const
mapping des orientations des faces des mailles filles avec les faces de la la maille mère
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Real refine_matrix(const Integer, const Integer, const Integer) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer, const Integer, const Integer) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
TypeImp & asImp()
Barton & Nackman Trick.
Real refine_matrix(const Integer, const Integer, const Integer) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Real refine_matrix(const Integer i, const Integer j, const Integer k) const
matrice de transformation des noeuds de la maille mère en noeuds des mailles filles
Exception lorsqu'une erreur fatale est survenue.
Exception lorsqu'une fonction n'est pas implémentée.
Exception lorsqu'une opération n'est pas supportée.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.