19namespace quadrature_interpolator
24 using k = QuadratureInterpolator::DetKernels;
26 k::Specialization<2,2,2,2>::Add();
27 k::Specialization<2,2,2,3>::Add();
28 k::Specialization<2,2,2,4>::Add();
29 k::Specialization<2,2,2,6>::Add();
30 k::Specialization<2,2,3,4>::Add();
31 k::Specialization<2,2,3,6>::Add();
32 k::Specialization<2,2,4,4>::Add();
33 k::Specialization<2,2,4,6>::Add();
34 k::Specialization<2,2,5,6>::Add();
36 k::Specialization<3,3,2,4>::Add();
37 k::Specialization<3,3,3,3>::Add();
38 k::Specialization<3,3,3,5>::Add();
39 k::Specialization<3,3,3,6>::Add();
40 k::Specialization<3,3,4,6>::Add();
41 k::Specialization<3,3,3,4>::Add();
50QuadratureInterpolator::DetKernels::Fallback(
51 int DIM,
int SDIM,
int D1D,
int Q1D)
53 if (
DIM == 1) {
return internal::quadrature_interpolator::Det1D; }
54 else if (
DIM == 2 &&
SDIM == 2) {
return internal::quadrature_interpolator::Det2D; }
55 else if (
DIM == 2 &&
SDIM == 3) {
return internal::quadrature_interpolator::Det2DSurface; }
60 if (D1D <= MD && Q1D <= MQ) {
return internal::quadrature_interpolator::Det3D<0,0,true>; }
61 else {
return internal::quadrature_interpolator::Det3D<0,0,false>; }
63 else { MFEM_ABORT(
""); }
void(*)(const int NE, const real_t *, const real_t *, const real_t *, real_t *, const int, const int, Vector *) DetKernelType
static const DeviceDofQuadLimits & Get()
Return a const reference to the DeviceDofQuadLimits singleton.
int MAX_DET_1D
Maximum number of points for determinant computation in QuadratureInterpolator.