16 const double L1 = x[0];
17 const double L2 = x[1];
18 const double L0 = 1.0 - L1 - L2;
19 const double t = x[2];
20 const double tt1 = 1.0 - t * t;
22 double v1 = 2.0 * L0 - 1;
23 double v2 = 2.0 * L1 - 1;
24 double v3 = 2.0 * L2 - 1;
26 N[0] = 0.5 * L0 * (v1 * (1.0 - t) - tt1);
27 N[1] = 0.5 * L1 * (v2 * (1.0 - t) - tt1);
28 N[2] = 0.5 * L2 * (v3 * (1.0 - t) - tt1);
30 N[3] = 0.5 * L0 * (v1 * (1.0 + t) - tt1);
31 N[4] = 0.5 * L1 * (v2 * (1.0 + t) - tt1);
32 N[5] = 0.5 * L2 * (v3 * (1.0 + t) - tt1);
38 N[6] = v1 * (1.0 - t);
39 N[7] = v2 * (1.0 - t);
40 N[8] = v3 * (1.0 - t);
42 N[9] = v1 * (1.0 + t);
43 N[10] = v2 * (1.0 + t);
44 N[11] = v3 * (1.0 + t);
54 const double L1 = x[0];
55 const double L2 = x[1];
56 const double L0 = 1.0 - L1 - L2;
57 const double t = x[2];
58 const double tt1 = 1.0 - t * t;
61 double v1 = (4.0 * L0 - 1);
62 double v2 = (4.0 * L1 - 1);
64 dN[0] = -0.5 * (v1 * (1.0 - t) - tt1);
65 dN[1] = 0.5 * (v2 * (1.0 - t) - tt1);
68 dN[3] = -0.5 * (v1 * (1.0 + t) - tt1);
69 dN[4] = 0.5 * (v2 * (1.0 + t) - tt1);
72 dN[6] = 2.0 * (L0 - L1) * (1.0 - t);
73 dN[7] = 2.0 * L2 * (1.0 - t);
76 dN[9] = 2.0 * (L0 - L1) * (1.0 + t);
77 dN[10] = 2.0 * L2 * (1.0 + t);
89 dN[17] = 0.5 * (v1 * (1.0 - t) - tt1);
93 dN[20] = 0.5 * (v1 * (1.0 + t) - tt1);
95 dN[21] = -2.0 * L1 * (1.0 - t);
98 dN[23] = v1 * (1.0 - t);
100 dN[24] = -2.0 * L1 * (1.0 + t);
102 dN[26] = v1 * (1.0 + t);
111 double v3 = 2.0 * L2 - 1;
113 dN[30] = 0.5 * L0 * (-v1 + 2.0 * t);
114 dN[31] = 0.5 * L1 * (-v2 + 2.0 * t);
115 dN[32] = 0.5 * L2 * (-v3 + 2.0 * t);
117 dN[33] = 0.5 * L0 * (v1 + 2.0 * t);
118 dN[34] = 0.5 * L1 * (v2 + 2.0 * t);
119 dN[35] = 0.5 * L2 * (v3 + 2.0 * t);
121 dN[36] = -2.0 * L0 * L1;
122 dN[37] = -2.0 * L1 * L2;
123 dN[38] = -2.0 * L2 * L0;
129 dN[42] = -2.0 * L0 * t;
130 dN[43] = -2.0 * L1 * t;
131 dN[44] = -2.0 * L2 * t;