|
| v0.14.0
|
Go to the source code of this file.
|
int | i4_modp (int i, int j) |
|
int | i4_wrap (int ival, int ilo, int ihi) |
|
double | r8_huge () |
|
int | r8_nint (double x) |
|
void | reference_to_physical_t3 (double t[], int n, double ref[], double phy[]) |
|
double | triangle_area (double t[2 *3]) |
|
int | triangle_ncc_degree (int rule) |
|
int | triangle_ncc_order_num (int rule) |
|
void | triangle_ncc_rule (int rule, int order_num, double xy[], double w[]) |
|
int | triangle_ncc_rule_num () |
|
int * | triangle_ncc_suborder (int rule, int suborder_num) |
|
int | triangle_ncc_suborder_num (int rule) |
|
void | triangle_ncc_subrule (int rule, int suborder_num, double suborder_xyz[], double suborder_w[]) |
|
void | triangle_ncc_subrule_01 (int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d) |
|
void | triangle_ncc_subrule_02 (int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d) |
|
void | triangle_ncc_subrule_03 (int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d) |
|
void | triangle_ncc_subrule_04 (int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d) |
|
void | triangle_ncc_subrule_05 (int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d) |
|
void | triangle_ncc_subrule_06 (int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d) |
|
void | triangle_ncc_subrule_07 (int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d) |
|
void | triangle_ncc_subrule_08 (int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d) |
|
void | triangle_ncc_subrule_09 (int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d) |
|
◆ i4_modp()
int i4_modp |
( |
int |
i, |
|
|
int |
j |
|
) |
| |
Definition at line 89 of file triangle_ncc_rule.c.
149 fprintf ( stderr,
"\n" );
150 fprintf ( stderr,
"I4_MODP - Fatal error!\n" );
151 fprintf ( stderr,
" I4_MODP ( I, J ) called with J = %d\n",
j );
159 value = value + abs (
j );
◆ i4_wrap()
int i4_wrap |
( |
int |
ival, |
|
|
int |
ilo, |
|
|
int |
ihi |
|
) |
| |
◆ r8_huge()
◆ r8_nint()
◆ reference_to_physical_t3()
Definition at line 347 of file triangle_ncc_rule.c.
410 for (
i = 0;
i < 2;
i++ )
412 for (
j = 0;
j <
n;
j++ )
414 phy[
i+
j*2] =
t[
i+0*2] * ( 1.0 - ref[0+
j*2] - ref[1+
j*2] )
415 +
t[
i+1*2] * + ref[0+
j*2]
416 +
t[
i+2*2] * + ref[1+
j*2];
◆ triangle_area()
Definition at line 472 of file triangle_ncc_rule.c.
515 t[0+0*2] * (
t[1+1*2] -
t[1+2*2] ) +
516 t[0+1*2] * (
t[1+2*2] -
t[1+0*2] ) +
517 t[0+2*2] * (
t[1+0*2] -
t[1+1*2] ) );
◆ triangle_ncc_degree()
int triangle_ncc_degree |
( |
int |
rule | ) |
|
Definition at line 523 of file triangle_ncc_rule.c.
560 if ( 1 <= rule && rule <= 9 )
567 fprintf ( stderr,
"\n" );
568 fprintf ( stderr,
"TRIANGLE_NCC_DEGREE - Fatal error!\n" );
569 fprintf ( stderr,
" Illegal RULE = %d\n", rule );
◆ triangle_ncc_order_num()
int triangle_ncc_order_num |
( |
int |
rule | ) |
|
◆ triangle_ncc_rule()
void triangle_ncc_rule |
( |
int |
rule, |
|
|
int |
order_num, |
|
|
double |
xy[], |
|
|
double |
w[] |
|
) |
| |
Definition at line 633 of file triangle_ncc_rule.c.
677 double *suborder_xyz;
683 suborder_xyz = (
double * ) malloc ( 3 * suborder_num *
sizeof (
double ) );
684 suborder_w = (
double * ) malloc ( suborder_num *
sizeof (
double ) );
694 for ( s = 0; s < suborder_num; s++ )
696 if ( suborder[s] == 1 )
698 xy[0+o*2] = suborder_xyz[0+s*3];
699 xy[1+o*2] = suborder_xyz[1+s*3];
700 w[o] = suborder_w[s];
703 else if ( suborder[s] == 3 )
705 for (
k = 0;
k < 3;
k++ )
707 xy[0+o*2] = suborder_xyz [
i4_wrap(
k, 0,2) + s*3 ];
708 xy[1+o*2] = suborder_xyz [
i4_wrap(
k+1,0,2) + s*3 ];
709 w[o] = suborder_w[s];
713 else if ( suborder[s] == 6 )
715 for (
k = 0;
k < 3;
k++ )
717 xy[0+o*2] = suborder_xyz [
i4_wrap(
k, 0,2) + s*3 ];
718 xy[1+o*2] = suborder_xyz [
i4_wrap(
k+1,0,2) + s*3 ];
719 w[o] = suborder_w[s];
723 for (
k = 0;
k < 3;
k++ )
725 xy[0+o*2] = suborder_xyz [
i4_wrap(
k+1,0,2) + s*3 ];
726 xy[1+o*2] = suborder_xyz [
i4_wrap(
k, 0,2) + s*3 ];
727 w[o] = suborder_w[s];
733 fprintf ( stderr,
"\n" );
734 fprintf ( stderr,
"TRIANGLE_NCC_RULE - Fatal error!\n" );
735 fprintf ( stderr,
" Illegal SUBORDER(%d) = %d\n", s, suborder[s] );
741 free ( suborder_xyz );
◆ triangle_ncc_rule_num()
int triangle_ncc_rule_num |
( |
| ) |
|
◆ triangle_ncc_suborder()
int* triangle_ncc_suborder |
( |
int |
rule, |
|
|
int |
suborder_num |
|
) |
| |
Definition at line 788 of file triangle_ncc_rule.c.
827 suborder = (
int * ) malloc ( suborder_num *
sizeof (
int ) );
833 else if ( rule == 2 )
837 else if ( rule == 3 )
841 else if ( rule == 4 )
847 else if ( rule == 5 )
853 else if ( rule == 6 )
861 else if ( rule == 7 )
870 else if ( rule == 8 )
881 else if ( rule == 9 )
895 fprintf ( stderr,
"\n" );
896 fprintf ( stderr,
"TRIANGLE_NCC_SUBORDER - Fatal error!\n" );
897 fprintf ( stderr,
" Illegal RULE = %d\n", rule );
◆ triangle_ncc_suborder_num()
int triangle_ncc_suborder_num |
( |
int |
rule | ) |
|
Definition at line 905 of file triangle_ncc_rule.c.
946 else if ( rule == 2 )
950 else if ( rule == 3 )
954 else if ( rule == 4 )
958 else if ( rule == 5 )
962 else if ( rule == 6 )
966 else if ( rule == 7 )
970 else if ( rule == 8 )
974 else if ( rule == 9 )
981 fprintf ( stderr,
"\n" );
982 fprintf ( stderr,
"TRIANGLE_NCC_SUBORDER_NUM - Fatal error!\n" );
983 fprintf ( stderr,
" Illegal RULE = %d\n", rule );
◆ triangle_ncc_subrule()
void triangle_ncc_subrule |
( |
int |
rule, |
|
|
int |
suborder_num, |
|
|
double |
suborder_xyz[], |
|
|
double |
suborder_w[] |
|
) |
| |
Definition at line 991 of file triangle_ncc_rule.c.
1036 int *suborder_xyz_n;
1038 suborder_xyz_n = (
int * ) malloc ( 3 * suborder_num *
sizeof (
int ) );
1039 suborder_w_n = (
int * ) malloc ( suborder_num *
sizeof (
int ) );
1044 suborder_w_n, &suborder_w_d );
1046 else if ( rule == 2 )
1049 suborder_w_n, &suborder_w_d );
1051 else if ( rule == 3 )
1054 suborder_w_n, &suborder_w_d );
1056 else if ( rule == 4 )
1059 suborder_w_n, &suborder_w_d );
1061 else if ( rule == 5 )
1064 suborder_w_n, &suborder_w_d );
1066 else if ( rule == 6 )
1069 suborder_w_n, &suborder_w_d );
1071 else if ( rule == 7 )
1074 suborder_w_n, &suborder_w_d );
1076 else if ( rule == 8 )
1079 suborder_w_n, &suborder_w_d );
1081 else if ( rule == 9 )
1084 suborder_w_n, &suborder_w_d );
1088 fprintf ( stderr,
"\n" );
1089 fprintf ( stderr,
"TRIANGLE_NCC_SUBRULE - Fatal error!\n" );
1090 fprintf ( stderr,
" Illegal RULE = %d\n", rule );
1094 for ( s = 0; s < suborder_num; s++ )
1096 for (
i = 0;
i < 3;
i++ )
1098 suborder_xyz[
i+s*3] =
1099 (
double ) ( suborder_xyz_n[
i+s*3] )
1100 / (
double ) ( suborder_xyz_d );
1103 for ( s = 0; s < suborder_num; s++ )
1105 suborder_w[s] = (
double ) suborder_w_n[s] / (
double ) suborder_w_d;
1108 free ( suborder_w_n );
1109 free ( suborder_xyz_n );
◆ triangle_ncc_subrule_01()
void triangle_ncc_subrule_01 |
( |
int |
suborder_num, |
|
|
int |
suborder_xyz_n[], |
|
|
int * |
suborder_xyz_d, |
|
|
int |
suborder_w_n[], |
|
|
int * |
suborder_w_d |
|
) |
| |
Definition at line 1115 of file triangle_ncc_rule.c.
1162 int suborder_xyz_n_01[3*1] = {
1165 int suborder_xyz_d_01 = 3;
1166 int suborder_w_n_01[1] = { 1 };
1167 int suborder_w_d_01 = 1;
1169 for ( s = 0; s < suborder_num; s++ )
1171 for (
i = 0;
i < 3;
i++ )
1173 suborder_xyz_n[
i+s*3] = suborder_xyz_n_01[
i+s*3];
1176 *suborder_xyz_d = suborder_xyz_d_01;
1178 for ( s = 0; s < suborder_num; s++ )
1180 suborder_w_n[s] = suborder_w_n_01[s];
1182 *suborder_w_d = suborder_w_d_01;
◆ triangle_ncc_subrule_02()
void triangle_ncc_subrule_02 |
( |
int |
suborder_num, |
|
|
int |
suborder_xyz_n[], |
|
|
int * |
suborder_xyz_d, |
|
|
int |
suborder_w_n[], |
|
|
int * |
suborder_w_d |
|
) |
| |
Definition at line 1188 of file triangle_ncc_rule.c.
1235 int suborder_xyz_n_02[3*1] = {
1238 int suborder_xyz_d_02 = 1;
1239 int suborder_w_n_02[1] = { 1 };
1240 int suborder_w_d_02 = 3;
1242 for ( s = 0; s < suborder_num; s++ )
1244 for (
i = 0;
i < 3;
i++ )
1246 suborder_xyz_n[
i+s*3] = suborder_xyz_n_02[
i+s*3];
1249 *suborder_xyz_d = suborder_xyz_d_02;
1251 for ( s = 0; s < suborder_num; s++ )
1253 suborder_w_n[s] = suborder_w_n_02[s];
1255 *suborder_w_d = suborder_w_d_02;
◆ triangle_ncc_subrule_03()
void triangle_ncc_subrule_03 |
( |
int |
suborder_num, |
|
|
int |
suborder_xyz_n[], |
|
|
int * |
suborder_xyz_d, |
|
|
int |
suborder_w_n[], |
|
|
int * |
suborder_w_d |
|
) |
| |
Definition at line 1261 of file triangle_ncc_rule.c.
1308 int suborder_xyz_n_03[3*1] = {
1311 int suborder_xyz_d_03 = 2;
1312 int suborder_w_n_03[1] = { 1 };
1313 int suborder_w_d_03 = 3;
1315 for ( s = 0; s < suborder_num; s++ )
1317 for (
i = 0;
i < 3;
i++ )
1319 suborder_xyz_n[
i+s*3] = suborder_xyz_n_03[
i+s*3];
1322 *suborder_xyz_d = suborder_xyz_d_03;
1324 for ( s = 0; s < suborder_num; s++ )
1326 suborder_w_n[s] = suborder_w_n_03[s];
1328 *suborder_w_d = suborder_w_d_03;
◆ triangle_ncc_subrule_04()
void triangle_ncc_subrule_04 |
( |
int |
suborder_num, |
|
|
int |
suborder_xyz_n[], |
|
|
int * |
suborder_xyz_d, |
|
|
int |
suborder_w_n[], |
|
|
int * |
suborder_w_d |
|
) |
| |
Definition at line 1334 of file triangle_ncc_rule.c.
1381 int suborder_xyz_n_04[3*3] = {
1386 int suborder_xyz_d_04 = 3;
1387 int suborder_w_n_04[3] = { 4, 9, 54 };
1388 int suborder_w_d_04 = 120;
1390 for ( s = 0; s < suborder_num; s++ )
1392 for (
i = 0;
i < 3;
i++ )
1394 suborder_xyz_n[
i+s*3] = suborder_xyz_n_04[
i+s*3];
1397 *suborder_xyz_d = suborder_xyz_d_04;
1399 for ( s = 0; s < suborder_num; s++ )
1401 suborder_w_n[s] = suborder_w_n_04[s];
1403 *suborder_w_d = suborder_w_d_04;
◆ triangle_ncc_subrule_05()
void triangle_ncc_subrule_05 |
( |
int |
suborder_num, |
|
|
int |
suborder_xyz_n[], |
|
|
int * |
suborder_xyz_d, |
|
|
int |
suborder_w_n[], |
|
|
int * |
suborder_w_d |
|
) |
| |
Definition at line 1409 of file triangle_ncc_rule.c.
1456 int suborder_xyz_n_05[3*3] = {
1461 int suborder_xyz_d_05 = 4;
1462 int suborder_w_n_05[3] = { 4, -1, 8 };
1463 int suborder_w_d_05 = 45;
1465 for ( s = 0; s < suborder_num; s++ )
1467 for (
i = 0;
i < 3;
i++ )
1469 suborder_xyz_n[
i+s*3] = suborder_xyz_n_05[
i+s*3];
1472 *suborder_xyz_d = suborder_xyz_d_05;
1474 for ( s = 0; s < suborder_num; s++ )
1476 suborder_w_n[s] = suborder_w_n_05[s];
1478 *suborder_w_d = suborder_w_d_05;
◆ triangle_ncc_subrule_06()
void triangle_ncc_subrule_06 |
( |
int |
suborder_num, |
|
|
int |
suborder_xyz_n[], |
|
|
int * |
suborder_xyz_d, |
|
|
int |
suborder_w_n[], |
|
|
int * |
suborder_w_d |
|
) |
| |
Definition at line 1484 of file triangle_ncc_rule.c.
1531 int suborder_xyz_n_06[3*5] = {
1538 int suborder_xyz_d_06 = 5;
1539 int suborder_w_n_06[5] = { 11, 25, 25, 200, 25 };
1540 int suborder_w_d_06 = 1008;
1542 for ( s = 0; s < suborder_num; s++ )
1544 for (
i = 0;
i < 3;
i++ )
1546 suborder_xyz_n[
i+s*3] = suborder_xyz_n_06[
i+s*3];
1549 *suborder_xyz_d = suborder_xyz_d_06;
1551 for ( s = 0; s < suborder_num; s++ )
1553 suborder_w_n[s] = suborder_w_n_06[s];
1555 *suborder_w_d = suborder_w_d_06;
◆ triangle_ncc_subrule_07()
void triangle_ncc_subrule_07 |
( |
int |
suborder_num, |
|
|
int |
suborder_xyz_n[], |
|
|
int * |
suborder_xyz_d, |
|
|
int |
suborder_w_n[], |
|
|
int * |
suborder_w_d |
|
) |
| |
Definition at line 1561 of file triangle_ncc_rule.c.
1608 int suborder_xyz_n_07[3*6] = {
1616 int suborder_xyz_d_07 = 6;
1617 int suborder_w_n_07[6] = { 36, -27, 72, 64, 72, -54 };
1618 int suborder_w_d_07 = 840;
1620 for ( s = 0; s < suborder_num; s++ )
1622 for (
i = 0;
i < 3;
i++ )
1624 suborder_xyz_n[
i+s*3] = suborder_xyz_n_07[
i+s*3];
1627 *suborder_xyz_d = suborder_xyz_d_07;
1629 for ( s = 0; s < suborder_num; s++ )
1631 suborder_w_n[s] = suborder_w_n_07[s];
1633 *suborder_w_d = suborder_w_d_07;
◆ triangle_ncc_subrule_08()
void triangle_ncc_subrule_08 |
( |
int |
suborder_num, |
|
|
int |
suborder_xyz_n[], |
|
|
int * |
suborder_xyz_d, |
|
|
int |
suborder_w_n[], |
|
|
int * |
suborder_w_d |
|
) |
| |
Definition at line 1639 of file triangle_ncc_rule.c.
1686 int suborder_xyz_n_08[3*8] = {
1696 int suborder_xyz_d_08 = 7;
1697 int suborder_w_n_08[8] = { 1336, 2989, 3577, 32242, 2695, -6860, 44590, 3430 };
1698 int suborder_w_d_08 = 259200;
1700 for ( s = 0; s < suborder_num; s++ )
1702 for (
i = 0;
i < 3;
i++ )
1704 suborder_xyz_n[
i+s*3] = suborder_xyz_n_08[
i+s*3];
1707 *suborder_xyz_d = suborder_xyz_d_08;
1709 for ( s = 0; s < suborder_num; s++ )
1711 suborder_w_n[s] = suborder_w_n_08[s];
1713 *suborder_w_d = suborder_w_d_08;
◆ triangle_ncc_subrule_09()
void triangle_ncc_subrule_09 |
( |
int |
suborder_num, |
|
|
int |
suborder_xyz_n[], |
|
|
int * |
suborder_xyz_d, |
|
|
int |
suborder_w_n[], |
|
|
int * |
suborder_w_d |
|
) |
| |
Definition at line 1719 of file triangle_ncc_rule.c.
1766 int suborder_xyz_n_09[3*9] = {
1777 int suborder_xyz_d_09 = 8;
1778 int suborder_w_n_09[9] = {
1779 368, -468, 704, 1136, 832, -1083, 672, -1448, 1472 };
1780 int suborder_w_d_09 = 14175;
1782 for ( s = 0; s < suborder_num; s++ )
1784 for (
i = 0;
i < 3;
i++ )
1786 suborder_xyz_n[
i+s*3] = suborder_xyz_n_09[
i+s*3];
1789 *suborder_xyz_d = suborder_xyz_d_09;
1791 for ( s = 0; s < suborder_num; s++ )
1793 suborder_w_n[s] = suborder_w_n_09[s];
1795 *suborder_w_d = suborder_w_d_09;
double w(double eqiv, double dot_tau, double f, double sigma_y, double sigma_Y)
void triangle_ncc_subrule_02(int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d)
void triangle_ncc_subrule_06(int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d)
void triangle_ncc_subrule_07(int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d)
void triangle_ncc_subrule(int rule, int suborder_num, double suborder_xyz[], double suborder_w[])
int triangle_ncc_suborder_num(int rule)
void triangle_ncc_subrule_03(int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d)
void triangle_ncc_subrule_05(int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d)
void triangle_ncc_subrule_08(int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d)
void triangle_ncc_subrule_01(int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d)
int * triangle_ncc_suborder(int rule, int suborder_num)
constexpr double t
plate stiffness
FTensor::Index< 'i', SPACE_DIM > i
void triangle_ncc_subrule_09(int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d)
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
void triangle_ncc_subrule_04(int suborder_num, int suborder_xyz_n[], int *suborder_xyz_d, int suborder_w_n[], int *suborder_w_d)
int i4_wrap(int ival, int ilo, int ihi)
int i4_modp(int i, int j)