15 template <ElemType>
struct ShapeFuncImpl;
21 template <
class TPo
int,
class TArray>
26 const t_real _t0 = et + xi - 1;
28 const t_real _t2 = 2*xi - 1;
31 v(0, 0) = _t0*(_t1 + _t2);
33 v(0, 2) = et*(_t1 - 1);
39 template <
class TPo
int,
class TArray>
46 const t_real _t2 = _t0 + _t1 - 3;
49 v(0, 3) = -_t0 - 8*xi + 4;
56 v(1, 5) = -_t1 - 8*et + 4;
59 template <
class TPo
int,
class TArray>
76 template <
class TPo
int,
class TArray>
104 static constexpr int dim = 2;
106 static constexpr int numVertices = 3;
107 static constexpr int numNodes = 6;
108 static constexpr int numFaces = 3;
110 static constexpr t_real paramSpaceVol = 0.5;
123 static constexpr std::array<t_real, 3 * 6> standardCoords = {
149 static constexpr std::array<std::array<t_index, 10>, 3> faceNodes = {{
162 static constexpr int numElevNodes = 0;
169 static constexpr int numBisect = 4;
172 static constexpr int numBisectVariants = 1;
189 static constexpr std::array<tBisectSub, 4> bisectElements = {{
200 static constexpr int vtkCellType = 22;
209 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)
Get the element type of a face (edge)
static constexpr ElemType GetBisectElemType(t_index)
Get the element type of a sub-element after bisection.
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