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);
67 const TypeImp&
asImp()
const
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];
458 Real
refine_matrix (
const Integer i,
const Integer j,
const Integer k)
const {
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
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.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
double Real
Type représentant un réel.
Int32 Integer
Type représentant un entier.