22 template <
class TPo
int,
class TArray>
27 const t_real _t0 = et + xi - 1;
29 const t_real _t2 = 2 * xi - 1;
32 v(0, 0) = _t0 * (_t1 + _t2);
34 v(0, 2) = et * (_t1 - 1);
37 v(0, 5) = 4 * _t3 * et;
40 template <
class TPo
int,
class TArray>
47 const t_real _t2 = _t0 + _t1 - 3;
50 v(0, 3) = -_t0 - 8 * xi + 4;
57 v(1, 5) = -_t1 - 8 * et + 4;
60 template <
class TPo
int,
class TArray>
77 template <
class TPo
int,
class TArray>
93 static constexpr int dim = 2;
95 static constexpr int numVertices = 3;
96 static constexpr int numNodes = 6;
97 static constexpr int numFaces = 3;
99 static constexpr t_real paramSpaceVol = 0.5;
102 static constexpr std::array<t_real, 3 * 6> standardCoords = {
112 static constexpr std::array<std::array<t_index, 10>, 3> faceNodes = {{{0, 1, 3},
117 static constexpr int numElevNodes = 0;
119 static constexpr int numBisect = 4;
120 static constexpr int numBisectVariants = 1;
124 static constexpr std::array<tBisectSub, 4> bisectElements = {{{0, 3, 5},
129 static constexpr int vtkCellType = 22;
131 static constexpr std::array<int, 6> vtkNodeOrder = {0, 1, 2, 3, 4, 5};
Core type aliases, constants, and metaprogramming utilities for the DNDS framework.
#define DNDS_DEVICE_CALLABLE
static constexpr ElemType GetFaceType(t_index)
static constexpr ElemType GetBisectElemType(t_index)
static DNDS_DEVICE_CALLABLE void Diff2(const TPoint &p, TArray &&v)
static DNDS_DEVICE_CALLABLE void Diff0(const TPoint &p, TArray &&v)
static DNDS_DEVICE_CALLABLE void Diff1(const TPoint &p, TArray &&v)
static DNDS_DEVICE_CALLABLE void Diff3(const TPoint &p, TArray &&v)
Eigen::Matrix< real, 5, 1 > v
const tPoint const tPoint const tPoint & p