93{
94 const double r = rst[0];
95 const double s = rst[1];
96 const double t = rst[2];
97 const static double sign1[] = {-1.0, 1.0, 1.0};
98 const static double sign2[] = {1.0, -1.0, 1.0};
99 const static double sign3[] = {1.0, 1.0, -1.0};
100 for (int i = 0; i < 3; i++)
101 {
104 dN[20 * i + 2] =
108 dN[20 * i + 5] =
110 dN[20 * i + 6] = sign1[i] * sign2[i] * sign3[i] *
112 dN[20 * i + 7] =
114
117 dN[20 * i + 14] =
120
121 {
122 int const co = (i + 2) % 3;
124 dN[20 * i + 15] =
126 dN[20 * i + 13] =
128 dN[20 * i + 9] =
130 }
131
132 {
133 int const co = (i + 1) % 3;
135 dN[20 * i + 17] =
137 dN[20 * i + 18] =
139 dN[20 * i + 19] =
141 }
142 }
143}
double dShapeFunctionHexHQ_Corner(const double r, const double s, const double t, const int ty)
double dShapeFunctionHexHQ_Middle(const double r, const double s, const double t, const int ty)