9 const double L1 = x[0];
10 const double L2 = x[1];
11 const double L0 = 1.0 - L1 - L2;
12 const double t = x[2];
13 const double tt1 = 1.0 - t * t;
15 double v1 = 2.0 * L0 - 1;
16 double v2 = 2.0 * L1 - 1;
17 double v3 = 2.0 * L2 - 1;
19 N[0] = 0.5 * L0 * (v1 * (1.0 - t) - tt1);
20 N[1] = 0.5 * L1 * (v2 * (1.0 - t) - tt1);
21 N[2] = 0.5 * L2 * (v3 * (1.0 - t) - tt1);
23 N[3] = 0.5 * L0 * (v1 * (1.0 + t) - tt1);
24 N[4] = 0.5 * L1 * (v2 * (1.0 + t) - tt1);
25 N[5] = 0.5 * L2 * (v3 * (1.0 + t) - tt1);
31 N[6] = v1 * (1.0 - t);
32 N[7] = v2 * (1.0 - t);
33 N[8] = v3 * (1.0 - t);
35 N[9] = v1 * (1.0 + t);
36 N[10] = v2 * (1.0 + t);
37 N[11] = v3 * (1.0 + t);
47 const double L1 = x[0];
48 const double L2 = x[1];
49 const double L0 = 1.0 - L1 - L2;
50 const double t = x[2];
51 const double tt1 = 1.0 - t * t;
54 double v1 = (4.0 * L0 - 1);
55 double v2 = (4.0 * L1 - 1);
57 dN[0] = -0.5 * (v1 * (1.0 - t) - tt1);
58 dN[1] = 0.5 * (v2 * (1.0 - t) - tt1);
61 dN[3] = -0.5 * (v1 * (1.0 + t) - tt1);
62 dN[4] = 0.5 * (v2 * (1.0 + t) - tt1);
65 dN[6] = 2.0 * (L0 - L1) * (1.0 - t);
66 dN[7] = 2.0 * L2 * (1.0 - t);
69 dN[9] = 2.0 * (L0 - L1) * (1.0 + t);
70 dN[10] = 2.0 * L2 * (1.0 + t);
82 dN[17] = 0.5 * (v1 * (1.0 - t) - tt1);
86 dN[20] = 0.5 * (v1 * (1.0 + t) - tt1);
88 dN[21] = -2.0 * L1 * (1.0 - t);
91 dN[23] = v1 * (1.0 - t);
93 dN[24] = -2.0 * L1 * (1.0 + t);
95 dN[26] = v1 * (1.0 + t);
104 double v3 = 2.0 * L2 - 1;
106 dN[30] = 0.5 * L0 * (-v1 + 2.0 * t);
107 dN[31] = 0.5 * L1 * (-v2 + 2.0 * t);
108 dN[32] = 0.5 * L2 * (-v3 + 2.0 * t);
110 dN[33] = 0.5 * L0 * (v1 + 2.0 * t);
111 dN[34] = 0.5 * L1 * (v2 + 2.0 * t);
112 dN[35] = 0.5 * L2 * (v3 + 2.0 * t);
114 dN[36] = -2.0 * L0 * L1;
115 dN[37] = -2.0 * L1 * L2;
116 dN[38] = -2.0 * L2 * L0;
122 dN[42] = -2.0 * L0 * t;
123 dN[43] = -2.0 * L1 * t;
124 dN[44] = -2.0 * L2 * t;