22 template <
class TPo
int,
class TArray>
30 const t_real _t2 = ((0.125)) * zt + (-0.125);
31 const t_real _t3 = _t1 * _t2;
34 const t_real _t6 = _t2 * _t5;
35 const t_real _t7 = ((0.125)) * zt + (0.125);
36 const t_real _t8 = _t1 * _t7;
37 const t_real _t9 = _t5 * _t7;
48 template <
class TPo
int,
class TArray>
55 const t_real _t1 = ((0.125)) * zt + (-0.125);
56 const t_real _t2 = _t0 * _t1;
58 const t_real _t4 = _t1 * _t3;
59 const t_real _t5 = ((0.125)) * zt + (0.125);
60 const t_real _t6 = _t0 * _t5;
61 const t_real _t7 = _t3 * _t5;
63 const t_real _t9 = _t1 * _t8;
64 const t_real _t10 = xi + 1;
65 const t_real _t11 = _t1 * _t10;
66 const t_real _t12 = _t5 * _t8;
67 const t_real _t13 = _t10 * _t5;
68 const t_real _t14 = ((0.125)) * _t0;
69 const t_real _t15 = _t14 * _t8;
70 const t_real _t16 = _t10 * _t14;
71 const t_real _t17 = ((0.125)) * _t3;
72 const t_real _t18 = _t10 * _t17;
73 const t_real _t19 = _t17 * _t8;
100 template <
class TPo
int,
class TArray>
106 const t_real _t0 = ((0.125)) * zt;
107 const t_real _t1 = _t0 + (-0.125);
109 const t_real _t3 = _t0 + (0.125);
111 const t_real _t5 = ((0.125)) * xi;
112 const t_real _t6 = _t5 + (-0.125);
114 const t_real _t8 = _t5 + (0.125);
116 const t_real _t10 = ((0.125)) * et;
117 const t_real _t11 = _t10 + (-0.125);
118 const t_real _t12 = -_t11;
119 const t_real _t13 = _t10 + (0.125);
120 const t_real _t14 = -_t13;
147 template <
class TPo
int,
class TArray>
171 static constexpr int dim = 3;
173 static constexpr int numVertices = 8;
174 static constexpr int numNodes = 8;
175 static constexpr int numFaces = 6;
176 static constexpr int numEdges = 12;
178 static constexpr t_real paramSpaceVol = 8.0;
181 static constexpr std::array<t_real, 3 * 8> standardCoords = {
193 static constexpr std::array<std::array<t_index, 10>, 6> faceNodes = {{{0, 3, 2, 1},
202 static constexpr std::array<std::array<t_index, 3>, 12> edgeNodes = {{{0, 1},
216 static constexpr int numElevNodes = 19;
218 static constexpr std::array<tElevSpan, 19> elevSpans = {{{0, 1},
236 {0, 1, 2, 3, 4, 5, 6, 7}}};
238 static constexpr std::array<ElemType, 19> elevNodeSpanTypes = {
239 Line2,
Line2,
Line2,
Line2,
Line2,
Line2,
Line2,
Line2,
Line2,
Line2,
Line2,
Line2,
Quad4,
Quad4,
Quad4,
Quad4,
Quad4,
Quad4,
Hex8};
241 static constexpr int vtkCellType = 12;
243 static constexpr std::array<int, 8> vtkNodeOrder = {0, 1, 2, 3, 4, 5, 6, 7};
Core type aliases, constants, and metaprogramming utilities for the DNDS framework.
#define DNDS_DEVICE_CALLABLE
static constexpr ElemType GetFaceType(t_index)
static constexpr ElemType GetEdgeType(t_index)
static DNDS_DEVICE_CALLABLE void Diff1(const TPoint &p, TArray &&v)
static DNDS_DEVICE_CALLABLE void Diff0(const TPoint &p, TArray &&v)
static DNDS_DEVICE_CALLABLE void Diff3(const TPoint &p, TArray &&v)
static DNDS_DEVICE_CALLABLE void Diff2(const TPoint &p, TArray &&v)
Eigen::Matrix< real, 5, 1 > v
const tPoint const tPoint const tPoint & p