26 std::move(weights), 2 * n - 1);
31 Eigen::MatrixXd points2d(2, n * n);
32 points2d.row(0) = Eigen::kroneckerProduct(points1d.transpose(),
33 Eigen::MatrixXd::Ones(1, n));
34 points2d.row(1) = points1d.transpose().replicate(1, n);
36 Eigen::kroneckerProduct(weights1d, weights1d), 2 * n - 1);
41 return detail::HardcodedQuadRule<base::RefEl::kTria(), 1>();
43 return detail::HardcodedQuadRule<base::RefEl::kTria(), 2>();
46 return detail::HardcodedQuadRule<base::RefEl::kTria(), 4>();
48 return detail::HardcodedQuadRule<base::RefEl::kTria(), 5>();
50 return detail::HardcodedQuadRule<base::RefEl::kTria(), 6>();
52 return detail::HardcodedQuadRule<base::RefEl::kTria(), 7>();
54 return detail::HardcodedQuadRule<base::RefEl::kTria(), 8>();
56 return detail::HardcodedQuadRule<base::RefEl::kTria(), 9>();
58 return detail::HardcodedQuadRule<base::RefEl::kTria(), 10>();
60 return detail::HardcodedQuadRule<base::RefEl::kTria(), 11>();
62 return detail::HardcodedQuadRule<base::RefEl::kTria(), 12>();
64 return detail::HardcodedQuadRule<base::RefEl::kTria(), 13>();
66 return detail::HardcodedQuadRule<base::RefEl::kTria(), 14>();
68 return detail::HardcodedQuadRule<base::RefEl::kTria(), 15>();
70 return detail::HardcodedQuadRule<base::RefEl::kTria(), 16>();
72 return detail::HardcodedQuadRule<base::RefEl::kTria(), 17>();
74 return detail::HardcodedQuadRule<base::RefEl::kTria(), 18>();
76 return detail::HardcodedQuadRule<base::RefEl::kTria(), 19>();
78 return detail::HardcodedQuadRule<base::RefEl::kTria(), 20>();
80 return detail::HardcodedQuadRule<base::RefEl::kTria(), 21>();
82 return detail::HardcodedQuadRule<base::RefEl::kTria(), 22>();
84 return detail::HardcodedQuadRule<base::RefEl::kTria(), 23>();
86 return detail::HardcodedQuadRule<base::RefEl::kTria(), 24>();
88 return detail::HardcodedQuadRule<base::RefEl::kTria(), 25>();
90 return detail::HardcodedQuadRule<base::RefEl::kTria(), 26>();
92 return detail::HardcodedQuadRule<base::RefEl::kTria(), 27>();
94 return detail::HardcodedQuadRule<base::RefEl::kTria(), 28>();
96 return detail::HardcodedQuadRule<base::RefEl::kTria(), 29>();
98 return detail::HardcodedQuadRule<base::RefEl::kTria(), 30>();
100 return detail::HardcodedQuadRule<base::RefEl::kTria(), 31>();
102 return detail::HardcodedQuadRule<base::RefEl::kTria(), 32>();
104 return detail::HardcodedQuadRule<base::RefEl::kTria(), 33>();
106 return detail::HardcodedQuadRule<base::RefEl::kTria(), 34>();
108 return detail::HardcodedQuadRule<base::RefEl::kTria(), 35>();
110 return detail::HardcodedQuadRule<base::RefEl::kTria(), 36>();
112 return detail::HardcodedQuadRule<base::RefEl::kTria(), 37>();
114 return detail::HardcodedQuadRule<base::RefEl::kTria(), 38>();
116 return detail::HardcodedQuadRule<base::RefEl::kTria(), 39>();
118 return detail::HardcodedQuadRule<base::RefEl::kTria(), 40>();
120 return detail::HardcodedQuadRule<base::RefEl::kTria(), 41>();
122 return detail::HardcodedQuadRule<base::RefEl::kTria(), 42>();
124 return detail::HardcodedQuadRule<base::RefEl::kTria(), 43>();
126 return detail::HardcodedQuadRule<base::RefEl::kTria(), 44>();
128 return detail::HardcodedQuadRule<base::RefEl::kTria(), 45>();
130 return detail::HardcodedQuadRule<base::RefEl::kTria(), 46>();
132 return detail::HardcodedQuadRule<base::RefEl::kTria(), 47>();
134 return detail::HardcodedQuadRule<base::RefEl::kTria(), 48>();
136 return detail::HardcodedQuadRule<base::RefEl::kTria(), 49>();
138 return detail::HardcodedQuadRule<base::RefEl::kTria(), 50>();
145 jac_p.array() = (jac_p.array() + 1) / 2.;
146 jac_w.array() *= 0.25;
147 Eigen::MatrixXd points2d(2, n * n);
148 points2d.row(0) = Eigen::kroneckerProduct(
149 leg_p.transpose(), (1 - jac_p.transpose().array()).matrix());
150 points2d.row(1) = jac_p.transpose().replicate(1, n);
152 Eigen::kroneckerProduct(leg_w, jac_w), 2 * n - 1);
156 false,
"No Quadrature rules implemented for this reference element yet.");
214 Eigen::MatrixXd points(2, 6);
215 Eigen::VectorXd weights(6);
223 points(0, 3) = 1.0 / 6.0;
224 points(1, 3) = 1.0 / 6.0;
225 points(0, 4) = 1.0 / 6.0;
226 points(1, 4) = 2.0 / 3.0;
227 points(0, 5) = 2.0 / 3.0;
228 points(1, 5) = 1.0 / 6.0;
230 weights << 1.0, 1.0, 1.0, 9.0, 9.0, 9.0;