31#ifndef __B2ELEMENT_CONTINUUM_INTEGRATE_H__
32#define __B2ELEMENT_CONTINUUM_INTEGRATE_H__
36#include "elements/properties/b2solid_mechanics.H"
37#include "elements/smr/b2element_continuum_util.H"
38#include "utils/b2linear_algebra.H"
48 static const int n = 1;
49 static const int o = 1;
50 static const double r[1];
51 static const double w[1];
56 static const int n = 2;
57 static const int o = 3;
58 static const double r[2];
59 static const double w[2];
64 static const int n = 3;
65 static const int o = 5;
66 static const double r[3];
67 static const double w[3];
72 static const int n = 4;
73 static const int o = 7;
74 static const double r[4];
75 static const double w[4];
80 static const int n = 5;
81 static const int o = 9;
82 static const double r[5];
83 static const double w[5];
88 static const int n = 6;
89 static const int o = 11;
90 static const double r[6];
91 static const double w[6];
96 static const int n = 7;
97 static const int o = 13;
98 static const double r[7];
99 static const double w[7];
104 static const int n = 8;
105 static const int o = 15;
106 static const double r[8];
107 static const double w[8];
112 static const int n = 9;
113 static const int o = 17;
114 static const double r[9];
115 static const double w[9];
120 static const int n = 10;
121 static const int o = 19;
122 static const double r[10];
123 static const double w[10];
128 static const int n = 11;
129 static const int o = 21;
130 static const double r[11];
131 static const double w[11];
136 static const int n = 12;
137 static const int o = 23;
138 static const double r[12];
139 static const double w[12];
144 static const int n = 13;
145 static const int o = 25;
146 static const double r[13];
147 static const double w[13];
152 static const int n = 14;
153 static const int o = 27;
154 static const double r[14];
155 static const double w[14];
160 static const int n = 15;
161 static const int o = 29;
162 static const double r[15];
163 static const double w[15];
168 static const int n = 16;
169 static const int o = 31;
170 static const double r[16];
171 static const double w[16];
176 static const int n = 17;
177 static const int o = 33;
178 static const double r[17];
179 static const double w[17];
184 static const int n = 18;
185 static const int o = 35;
186 static const double r[18];
187 static const double w[18];
192 static const int n = 19;
193 static const int o = 37;
194 static const double r[19];
195 static const double w[19];
200 static const int n = 20;
201 static const int o = 39;
202 static const double r[20];
203 static const double w[20];
208 static const int n = 21;
209 static const int o = 41;
210 static const double r[21];
211 static const double w[21];
216 static const int n = 22;
217 static const int o = 43;
218 static const double r[22];
219 static const double w[22];
224 static const int n = 23;
225 static const int o = 45;
226 static const double r[23];
227 static const double w[23];
232 static const int n = 24;
233 static const int o = 47;
234 static const double r[24];
235 static const double w[24];
240 static const int n = 25;
241 static const int o = 49;
242 static const double r[25];
243 static const double w[25];
248 static const int n = 26;
249 static const int o = 51;
250 static const double r[26];
251 static const double w[26];
256 static const int n = 27;
257 static const int o = 53;
258 static const double r[27];
259 static const double w[27];
264 static const int n = 28;
265 static const int o = 55;
266 static const double r[28];
267 static const double w[28];
272 static const int n = 29;
273 static const int o = 57;
274 static const double r[29];
275 static const double w[29];
280 static const int n = 30;
281 static const int o = 59;
282 static const double r[30];
283 static const double w[30];
288 static const int n = 31;
289 static const int o = 61;
290 static const double r[31];
291 static const double w[31];
296 static const int n = 32;
297 static const int o = 63;
298 static const double r[32];
299 static const double w[32];
308 static const int n = 1;
309 static const int o = 1;
310 static const double r[1];
311 static const double w[1];
316 static const int n = 2;
317 static const int o = 1;
318 static const double r[2];
319 static const double w[2];
324 static const int n = 3;
325 static const int o = 3;
326 static const double r[3];
327 static const double w[3];
332 static const int n = 4;
333 static const int o = 5;
334 static const double r[4];
335 static const double w[4];
340 static const int n = 5;
341 static const int o = 7;
342 static const double r[5];
343 static const double w[5];
348 static const int n = 6;
349 static const int o = 9;
350 static const double r[6];
351 static const double w[6];
356 static const int n = 7;
357 static const int o = 11;
358 static const double r[7];
359 static const double w[7];
364 static const int n = 8;
365 static const int o = 13;
366 static const double r[8];
367 static const double w[8];
372 static const int n = 9;
373 static const int o = 15;
374 static const double r[9];
375 static const double w[9];
380 static const int n = 10;
381 static const int o = 17;
382 static const double r[10];
383 static const double w[10];
388 static const int n = 11;
389 static const int o = 19;
390 static const double r[11];
391 static const double w[11];
396 static const int n = 12;
397 static const int o = 21;
398 static const double r[12];
399 static const double w[12];
404 static const int n = 13;
405 static const int o = 23;
406 static const double r[13];
407 static const double w[13];
412 static const int n = 14;
413 static const int o = 25;
414 static const double r[14];
415 static const double w[14];
420 static const int n = 15;
421 static const int o = 27;
422 static const double r[15];
423 static const double w[15];
428 static const int n = 16;
429 static const int o = 29;
430 static const double r[16];
431 static const double w[16];
436 static const int n = 17;
437 static const int o = 31;
438 static const double r[17];
439 static const double w[17];
444 static const int n = 18;
445 static const int o = 33;
446 static const double r[18];
447 static const double w[18];
452 static const int n = 19;
453 static const int o = 35;
454 static const double r[19];
455 static const double w[19];
460 static const int n = 20;
461 static const int o = 37;
462 static const double r[20];
463 static const double w[20];
468 static const int n = 21;
469 static const int o = 39;
470 static const double r[21];
471 static const double w[21];
476 static const int n = 22;
477 static const int o = 41;
478 static const double r[22];
479 static const double w[22];
484 static const int n = 23;
485 static const int o = 43;
486 static const double r[23];
487 static const double w[23];
492 static const int n = 24;
493 static const int o = 45;
494 static const double r[24];
495 static const double w[24];
500 static const int n = 25;
501 static const int o = 47;
502 static const double r[25];
503 static const double w[25];
508 static const int n = 26;
509 static const int o = 49;
510 static const double r[26];
511 static const double w[26];
516 static const int n = 27;
517 static const int o = 51;
518 static const double r[27];
519 static const double w[27];
524 static const int n = 28;
525 static const int o = 53;
526 static const double r[28];
527 static const double w[28];
532 static const int n = 29;
533 static const int o = 55;
534 static const double r[29];
535 static const double w[29];
540 static const int n = 30;
541 static const int o = 57;
542 static const double r[30];
543 static const double w[30];
548 static const int n = 31;
549 static const int o = 59;
550 static const double r[31];
551 static const double w[31];
556 static const int n = 32;
557 static const int o = 61;
558 static const double r[32];
559 static const double w[32];
568 static const int n = 1;
569 static const int o = 1;
570 static const double r[1];
571 static const double w[1];
576 static const int n = 2;
577 static const int o = 1;
578 static const double r[2];
579 static const double w[2];
584 static const int n = 3;
585 static const int o = 3;
586 static const double r[3];
587 static const double w[3];
592 static const int n = 4;
593 static const int o = n - 1;
594 static const double r[4];
595 static const double w[4];
600 static const int n = 5;
601 static const int o = n - 1;
602 static const double r[5];
603 static const double w[5];
608 static const int n = 6;
609 static const int o = n - 1;
610 static const double r[6];
611 static const double w[6];
616 static const int n = 7;
617 static const int o = n - 1;
618 static const double r[7];
619 static const double w[7];
624 static const int n = 8;
625 static const int o = n - 1;
626 static const double r[8];
627 static const double w[8];
632 static const int n = 9;
633 static const int o = n - 1;
634 static const double r[9];
635 static const double w[9];
640 static const int n = 10;
641 static const int o = n - 1;
642 static const double r[10];
643 static const double w[10];
648 static const int n = 11;
649 static const int o = n - 1;
650 static const double r[11];
651 static const double w[11];
656 static const int n = 12;
657 static const int o = n - 1;
658 static const double r[12];
659 static const double w[12];
664 static const int n = 13;
665 static const int o = n - 1;
666 static const double r[13];
667 static const double w[13];
672 static const int n = 14;
673 static const int o = n - 1;
674 static const double r[14];
675 static const double w[14];
680 static const int n = 15;
681 static const int o = n - 1;
682 static const double r[15];
683 static const double w[15];
688 static const int n = 16;
689 static const int o = n - 1;
690 static const double r[16];
691 static const double w[16];
696 static const int n = 17;
697 static const int o = n - 1;
698 static const double r[17];
699 static const double w[17];
704 static const int n = 18;
705 static const int o = n - 1;
706 static const double r[18];
707 static const double w[18];
712 static const int n = 19;
713 static const int o = n - 1;
714 static const double r[19];
715 static const double w[19];
720 static const int n = 20;
721 static const int o = n - 1;
722 static const double r[20];
723 static const double w[20];
728 static const int n = 21;
729 static const int o = n - 1;
730 static const double r[21];
731 static const double w[21];
736 static const int n = 22;
737 static const int o = n - 1;
738 static const double r[22];
739 static const double w[22];
744 static const int n = 23;
745 static const int o = n - 1;
746 static const double r[23];
747 static const double w[23];
752 static const int n = 24;
753 static const int o = n - 1;
754 static const double r[24];
755 static const double w[24];
760 static const int n = 25;
761 static const int o = n - 1;
762 static const double r[25];
763 static const double w[25];
768 static const int n = 26;
769 static const int o = n - 1;
770 static const double r[26];
771 static const double w[26];
776 static const int n = 27;
777 static const int o = n - 1;
778 static const double r[27];
779 static const double w[27];
784 static const int n = 28;
785 static const int o = n - 1;
786 static const double r[28];
787 static const double w[28];
792 static const int n = 29;
793 static const int o = n - 1;
794 static const double r[29];
795 static const double w[29];
800 static const int n = 30;
801 static const int o = n - 1;
802 static const double r[30];
803 static const double w[30];
808 static const int n = 31;
809 static const int o = n - 1;
810 static const double r[31];
811 static const double w[31];
816 static const int n = 32;
817 static const int o = n - 1;
818 static const double r[32];
819 static const double w[32];
824 static const int n = 33;
825 static const int o = n - 1;
826 static const double r[33];
827 static const double w[33];
836 static const int n = 1;
837 static const int o = 1;
838 static const double r[1];
839 static const double s[1];
840 static const double w[1];
845 static const int n = 3;
846 static const int o = 2;
847 static const double r[3];
848 static const double s[3];
849 static const double w[3];
854 static const int n = 6;
855 static const int o = 3;
856 static const double r[6];
857 static const double s[6];
858 static const double w[6];
863 static const int n = 7;
864 static const int o = 5;
865 static const double r[7];
866 static const double s[7];
867 static const double w[7];
872 static const int n = 12;
873 static const int o = 6;
874 static const double r[12];
875 static const double s[12];
876 static const double w[12];
881 static const int n = 15;
882 static const int o = 7;
883 static const double r[15];
884 static const double s[15];
885 static const double w[15];
890 static const int n = 16;
891 static const int o = 8;
892 static const double r[16];
893 static const double s[16];
894 static const double w[16];
899 static const int n = 19;
900 static const int o = 9;
901 static const double r[19];
902 static const double s[19];
903 static const double w[19];
908 static const int n = 25;
909 static const int o = 10;
910 static const double r[25];
911 static const double s[25];
912 static const double w[25];
917 static const int n = 28;
918 static const int o = 11;
919 static const double r[28];
920 static const double s[28];
921 static const double w[28];
926 static const int n = 33;
927 static const int o = 12;
928 static const double r[33];
929 static const double s[33];
930 static const double w[33];
935 static const int n = 37;
936 static const int o = 13;
937 static const double r[37];
938 static const double s[37];
939 static const double w[37];
944 static const int n = 42;
945 static const int o = 14;
946 static const double r[42];
947 static const double s[42];
948 static const double w[42];
953 static const int n = 49;
954 static const int o = 15;
955 static const double r[49];
956 static const double s[49];
957 static const double w[49];
962 static const int n = 55;
963 static const int o = 16;
964 static const double r[55];
965 static const double s[55];
966 static const double w[55];
971 static const int n = 60;
972 static const int o = 17;
973 static const double r[60];
974 static const double s[60];
975 static const double w[60];
980 static const int n = 67;
981 static const int o = 18;
982 static const double r[67];
983 static const double s[67];
984 static const double w[67];
989 static const int n = 73;
990 static const int o = 19;
991 static const double r[73];
992 static const double s[73];
993 static const double w[73];
998 static const int n = 79;
999 static const int o = 20;
1000 static const double r[79];
1001 static const double s[79];
1002 static const double w[79];
1009 static const double r[87];
1010 static const double s[87];
1011 static const double w[87];
1018 static const double r[96];
1019 static const double s[96];
1020 static const double w[96];
1027 static const double r[103];
1028 static const double s[103];
1029 static const double w[103];
1036 static const double r[112];
1037 static const double s[112];
1038 static const double w[112];
1045 static const double r[120];
1046 static const double s[120];
1047 static const double w[120];
1054 static const double r[130];
1055 static const double s[130];
1056 static const double w[130];
1063 static const double r[141];
1064 static const double s[141];
1065 static const double w[141];
1072 static const double r[150];
1073 static const double s[150];
1074 static const double w[150];
1081 static const double r[159];
1082 static const double s[159];
1083 static const double w[159];
1090 static const double r[171];
1091 static const double s[171];
1092 static const double w[171];
1099 static const double r[181];
1100 static const double s[181];
1101 static const double w[181];
1108 static const double r[193];
1109 static const double s[193];
1110 static const double w[193];
1117 static const double r[204];
1118 static const double s[204];
1119 static const double w[204];
1126 static const double r[214];
1127 static const double s[214];
1128 static const double w[214];
1135 static const double r[228];
1136 static const double s[228];
1137 static const double w[228];
1144 static const double r[243];
1145 static const double s[243];
1146 static const double w[243];
1153 static const double r[252];
1154 static const double s[252];
1155 static const double w[252];
1162 static const double r[267];
1163 static const double s[267];
1164 static const double w[267];
1171 static const double r[282];
1172 static const double s[282];
1173 static const double w[282];
1180 static const double r[295];
1181 static const double s[295];
1182 static const double w[295];
1189 static const double r[309];
1190 static const double s[309];
1191 static const double w[309];
1198 static const double r[324];
1199 static const double s[324];
1200 static const double w[324];
1207 static const double r[339];
1208 static const double s[339];
1209 static const double w[339];
1216 static const double r[354];
1217 static const double s[354];
1218 static const double w[354];
1225 static const double r[370];
1226 static const double s[370];
1227 static const double w[370];
1234 static const double r[385];
1235 static const double s[385];
1236 static const double w[385];
1243 static const double r[399];
1244 static const double s[399];
1245 static const double w[399];
1252 static const double r[423];
1253 static const double s[423];
1254 static const double w[423];
1261 static const double r[435];
1262 static const double s[435];
1263 static const double w[435];
1270 static const double r[453];
1271 static const double s[453];
1272 static const double w[453];
1282 static const int o = 1;
1283 static const int n = 1;
1284 static const double r[1];
1285 static const double s[1];
1286 static const double t[1];
1287 static const double w[1];
1290 static const double a1;
1296 static const int o = 2;
1297 static const int n = 4;
1298 static const double r[4];
1299 static const double s[4];
1300 static const double t[4];
1301 static const double w[4];
1304 static const double a1;
1305 static const double a2;
1306 static const double w1;
1312 static const int o = 3;
1313 static const int n = 5;
1314 static const double r[5];
1315 static const double s[5];
1316 static const double t[5];
1317 static const double w[5];
1320 static const double a1;
1321 static const double a2;
1322 static const double a3;
1323 static const double w1;
1324 static const double w2;
1330 static const int o = 4;
1331 static const int n = 14;
1332 static const double r[14];
1333 static const double s[14];
1334 static const double t[14];
1335 static const double w[14];
1341 static const int o = 5;
1342 static const int n = 15;
1343 static const double r[15];
1344 static const double s[15];
1345 static const double t[15];
1346 static const double w[15];
1352 static const int o = 6;
1353 static const int n = 24;
1354 static const double r[24];
1355 static const double s[24];
1356 static const double t[24];
1357 static const double w[24];
1365class Irons_Param_15 {
1367 static const int o = 5;
1368 static const int n = 15;
1369 static const double r[15];
1370 static const double s[15];
1371 static const double t[15];
1372 static const double w[15];
1374 static const double r1;
1375 static const double w1;
1376 static const double w2;
1377 static const double w3;
1385class Hex_Reduced_Param_9 {
1387 static const int o = 3;
1388 static const int n = 9;
1389 static const double r[9];
1390 static const double s[9];
1391 static const double t[9];
1392 static const double w[9];
1394 static const double r1;
1395 static const double w0;
1396 static const double w1;
1405 int get_num()
const {
return 1; }
1407 void get_point(
const int point_index,
double& r,
double& weight)
const {
1408 assert(point_index == 0);
1413 void get_point(
const int point_index, Natural_Coor& rst,
double& weight)
const {
1414 std::fill(rst.data(), rst.data() + 3, 0.);
1415 get_point(point_index, rst[0], weight);
1425 IS_L() : scheme(0), index(0) {}
1427 int get_num_schemes()
const;
1429 int get_scheme()
const {
return scheme; }
1431 void set_scheme(
const int scheme);
1433 void set_scheme_name(
const std::string& scheme_name);
1435 const char* get_scheme_name()
const {
return scheme_names[scheme]; }
1437 void set_order(
const int order);
1439 int get_max_order()
const;
1441 int get_order()
const;
1443 void set_num(
const int num_);
1445 int get_num()
const;
1447 void get_point(
const int point_index,
double& r,
double& weight)
const;
1449 void get_point(
const int point_index, Natural_Coor& rst,
double& weight)
const {
1450 std::fill(rst.data(), rst.data() + 3, 0.);
1451 get_point(point_index, rst[0], weight);
1454 void init(ElementProperty& property);
1458 enum { GL = 0, GLL = 1, CC = 2, EVENLYSPACED = 3 };
1461 static const char* scheme_names[4];
1466 static const int gl_nn = 32;
1467 static const int gl_n[gl_nn];
1468 static const int gl_o[gl_nn];
1469 static const double* gl_r[gl_nn];
1470 static const double* gl_w[gl_nn];
1471 static const int gll_nn = 32;
1472 static const int gll_n[gll_nn];
1473 static const int gll_o[gll_nn];
1474 static const double* gll_r[gll_nn];
1475 static const double* gll_w[gll_nn];
1476 static const int cc_nn = 32;
1477 static const int cc_n[cc_nn];
1478 static const int cc_o[cc_nn];
1479 static const double* cc_r[cc_nn];
1480 static const double* cc_w[cc_nn];
1489 IS_T() : scheme(0), index(0) {}
1491 int get_num_schemes()
const {
return 1; }
1493 int get_scheme()
const {
return scheme; }
1495 void set_scheme(
const int scheme);
1497 void set_scheme_name(
const std::string& scheme);
1499 const char* get_scheme_name()
const {
return scheme_names[scheme]; }
1501 void set_order(
const int order);
1503 int get_max_order()
const;
1505 int get_order()
const;
1507 void set_num(
const int num_);
1509 int get_num()
const;
1511 void get_point(
const int point_index,
double rst[2],
double& weight)
const;
1513 void get_point(
const int point_index, Natural_Coor& rst,
double& weight)
const {
1514 std::fill(rst.data(), rst.data() + 3, 0.);
1515 get_point(point_index, rst.data(), weight);
1518 void init(ElementProperty& property);
1525 static const char* scheme_names[1];
1527 static const int pt_nn = 50;
1528 static const int pt_n[pt_nn];
1529 static const int pt_o[pt_nn];
1530 static const double* pt_r[pt_nn];
1531 static const double* pt_s[pt_nn];
1532 static const double* pt_w[pt_nn];
1544 const IS_L& operator[](
const int direction)
const {
return is_l[direction]; }
1546 IS_L& operator[](
const int direction) {
return is_l[direction]; }
1548 void set_order(
const int order) {
1570 Exception() <<
THROW;
1573 for (
int i = 0; i != 2; ++i) { is_l[i].set_order(o); }
1576 int get_order()
const {
return is_l[0].get_order() + is_l[1].get_order(); }
1578 void set_num(
const int num) {
1633 Exception() <<
THROW;
1636 for (
int i = 0; i != 2; ++i) { is_l[i].set_num(n); }
1639 int get_num()
const {
return is_l[0].get_num() * is_l[1].get_num(); }
1641 void get_point(
const int point_index,
double rst[2],
double& weight)
const {
1642 const int n0 = is_l[0].get_num();
1643 const int index[2] = {point_index % n0, point_index / n0};
1645 for (
int i = 0; i != 2; ++i) { is_l[i].get_point(index[i], rst[i], w[i]); }
1646 weight = w[0] * w[1];
1649 void get_point(
const int point_index, Natural_Coor& rst,
double& weight)
const {
1650 std::fill(rst.data(), rst.data() + 3, 0.);
1651 get_point(point_index, rst.data(), weight);
1654 void init(ElementProperty& property);
1666 IS_TE() : scheme(0), order(0) {}
1668 int get_num_schemes()
const {
return 1; }
1670 int get_scheme()
const {
return scheme; }
1672 void set_scheme(
const int scheme);
1674 void set_scheme_name(
const std::string& scheme);
1676 const char* get_scheme_name()
const {
return scheme_names[scheme]; }
1678 void set_order(
const int order);
1680 int get_max_order()
const;
1682 int get_order()
const;
1684 void set_num(
const int num_);
1686 int get_num()
const;
1688 void get_point(
const int index,
double rst[3],
double& weight)
const;
1690 void get_point(
const int index, Natural_Coor& rst,
double& weight)
const {
1691 get_point(index, rst.data(), weight);
1694 void init(ElementProperty& property);
1701 static const char* scheme_names[1];
1703 static const int pte_nn = 6;
1704 static const int pte_n[pte_nn];
1705 static const double* pte_r[pte_nn];
1706 static const double* pte_s[pte_nn];
1707 static const double* pte_t[pte_nn];
1708 static const double* pte_w[pte_nn];
1710 static const int pt_nn = 7;
1711 static const int pt_n[pt_nn];
1712 static const double* pt_r[pt_nn];
1713 static const double* pt_s[pt_nn];
1714 static const double* pt_w[pt_nn];
1716 static const int pgl_nn = 7;
1717 static const int pgl_gn[pgl_nn];
1718 static const double* pgl_gr[pgl_nn];
1719 static const double* pgl_gw[pgl_nn];
1734 void set_num(
const int num) {
1737 triangle.set_num(1);
1741 triangle.set_num(3);
1745 triangle.set_num(3);
1749 triangle.set_num(7);
1753 Exception() <<
THROW;
1758 int get_num()
const {
return triangle.get_num() * line.get_num(); }
1760 void get_point(
const int point_index,
double rst[3],
double& weight)
const {
1761 const int n = triangle.get_num();
1763 triangle.get_point(point_index % n, rst, w[0]);
1764 line.get_point(point_index / n, rst[2], w[1]);
1765 weight = w[0] * w[1];
1768 void get_point(
const int point_index, Natural_Coor& rst,
double& weight)
const {
1769 get_point(point_index, rst.data(), weight);
1772 void init(ElementProperty& property);
1781 const IS_L& operator[](
const int direction)
const {
return is_l[direction]; }
1783 IS_L& operator[](
const int direction) {
return is_l[direction]; }
1785 void set_order(
const int order) {
1804 Exception() <<
THROW;
1807 for (
int i = 0; i != 3; ++i) { is_l[i].set_order(o); }
1810 int get_order()
const {
1811 return is_l[0].get_order() + is_l[1].get_order() + is_l[2].get_order();
1814 void set_num(
const int num) {
1833 Exception() <<
THROW;
1836 for (
int i = 0; i != 3; ++i) { is_l[i].set_num(n); }
1839 int get_num()
const {
return is_l[0].get_num() * is_l[1].get_num() * is_l[2].get_num(); }
1841 void get_point(
const int point_index,
double rst[3],
double& weight)
const {
1842 const int n0 = is_l[0].get_num();
1843 const int n1 = is_l[1].get_num();
1844 const int index[3] = {point_index % n0, (point_index / n0) % n1, point_index / (n0 * n1)};
1846 for (
int i = 0; i != 3; ++i) { is_l[i].get_point(index[i], rst[i], w[i]); }
1847 weight = w[0] * w[1] * w[2];
1850 void get_point(
const int point_index, Natural_Coor& rst,
double& weight)
const {
1851 get_point(point_index, rst.data(), weight);
1854 void init(ElementProperty& property);
#define THROW
Definition b2exception.H:198
Contains the base classes for implementing Finite Elements.
Definition b2boundary_condition.H:32