13 template <
class T_X,
class T_N>
16 N[0] = (1.0 -
r[0]) * (1.0 -
r[1]) * (1.0 -
r[2]) * 0.125;
17 N[1] = (1.0 +
r[0]) * (1.0 -
r[1]) * (1.0 -
r[2]) * 0.125;
18 N[2] = (1.0 +
r[0]) * (1.0 +
r[1]) * (1.0 -
r[2]) * 0.125;
19 N[3] = (1.0 -
r[0]) * (1.0 +
r[1]) * (1.0 -
r[2]) * 0.125;
20 N[4] = (1.0 -
r[0]) * (1.0 -
r[1]) * (1.0 +
r[2]) * 0.125;
21 N[5] = (1.0 +
r[0]) * (1.0 -
r[1]) * (1.0 +
r[2]) * 0.125;
22 N[6] = (1.0 +
r[0]) * (1.0 +
r[1]) * (1.0 +
r[2]) * 0.125;
23 N[7] = (1.0 -
r[0]) * (1.0 +
r[1]) * (1.0 +
r[2]) * 0.125;
26 template <
class T_X,
class T_N>
30 dN[0] = -(1.0 -
r[1]) * (1.0 -
r[2]) * 0.125;
32 dN[2] = +(1.0 +
r[1]) * (1.0 -
r[2]) * 0.125;
34 dN[4] = -(1.0 -
r[1]) * (1.0 +
r[2]) * 0.125;
36 dN[6] = +(1.0 +
r[1]) * (1.0 +
r[2]) * 0.125;
40 dN[8] = -(1.0 -
r[0]) * (1.0 -
r[2]) * 0.125;
41 dN[9] = -(1.0 +
r[0]) * (1.0 -
r[2]) * 0.125;
44 dN[12] = -(1.0 -
r[0]) * (1.0 +
r[2]) * 0.125;
45 dN[13] = -(1.0 +
r[0]) * (1.0 +
r[2]) * 0.125;
50 dN[16] = -(1.0 -
r[0]) * (1.0 -
r[1]) * 0.125;
51 dN[17] = -(1.0 +
r[0]) * (1.0 -
r[1]) * 0.125;
52 dN[18] = -(1.0 +
r[0]) * (1.0 +
r[1]) * 0.125;
53 dN[19] = -(1.0 -
r[0]) * (1.0 +
r[1]) * 0.125;
static void computeGradShapeFunction(const T_X &r, T_N &dN)
static void computeShapeFunction(const T_X &r, T_N &N)