16 return 0.125 * (
r - 1) * (s - 1) * (t - 1) * (
r + s + t + 2.0);
22 return 0.25 * (1 -
r *
r) * (s - 1) * (t - 1);
26 const double t,
const int ty)
31 return 0.125 * (s - 1) * (t - 1) * (2.0 *
r + s + t + 1.0);
33 return 0.125 * (t - 1) * (
r - 1) * (2.0 * s +
r + t + 1.0);
35 return 0.125 * (
r - 1) * (s - 1) * (2.0 * t + s +
r + 1.0);
41 const double t,
const int ty)
46 return -0.5 *
r * (s - 1) * (t - 1);
48 return 0.25 * (1 -
r *
r) * (t - 1);
50 return 0.25 * (1 -
r *
r) * (s - 1);
59 template <
class T_X,
class T_N>
62 const double r = rst[0];
63 const double s = rst[1];
64 const double t = rst[2];
91 template <
class T_X,
class T_N>
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++)
110 dNdr[20 * i + 6] = sign1[i] * sign2[i] * sign3[i] *
122 int const co = (i + 2) % 3;
133 int const co = (i + 1) % 3;
static void computeShapeFunction(const T_X &r, T_N &N)
static void computeGradShapeFunction(const T_X &r, T_N &dN)
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)
double ShapeFunctionHexHQ_Corner(const double r, const double s, const double t)
double ShapeFunctionHexHQ_Middle(const double r, const double s, const double t)