29{
30 const double r = rs[0];
31 const double s = rs[1];
32
33
34 dN[0] = (1 + s) * (2 * r + s) * 0.25;
35 dN[1] = (1 + s) * (2 * r - s) * 0.25;
36 dN[2] = (1 - s) * (2 * r + s) * 0.25;
37 dN[3] = (1 - s) * (2 * r - s) * 0.25;
38
39 dN[4] = -r * (1 + s);
40 dN[5] = -(1 - s * s) * 0.5;
41 dN[6] = -r * (1 - s);
42 dN[7] = (1 - s * s) * 0.5;
43
44
45 dN[8] = (1 + r) * (r + 2 * s) * 0.25;
46 dN[9] = -(1 - r) * (r - 2 * s) * 0.25;
47 dN[10] = (1 - r) * (r + 2 * s) * 0.25;
48 dN[11] = -(1 + r) * (r - 2 * s) * 0.25;
49
50 dN[12] = (1 - r * r) * 0.5;
51 dN[13] = -(1 - r) * s;
52 dN[14] = -(1 - r * r) * 0.5;
53 dN[15] = -(1 + r) * s;
54}