12 #ifndef BEMBEL_SRC_QUADRATURE_TENSORPRODUCTQUADRATUREVECTOR_HPP_
13 #define BEMBEL_SRC_QUADRATURE_TENSORPRODUCTQUADRATUREVECTOR_HPP_
21 template <
template <
unsigned int qrOrder>
class QuadratureRule,
25 QuadratureRule<Order + 1> GL;
26 Q_.xi_.resize(2, GL.xi_.size() * GL.xi_.size());
27 Q_.w_.resize(GL.w_.size() * GL.w_.size());
28 for (
auto k = 0; k < Q_.xi_.cols(); ++k) {
29 Q_.xi_.col(k) << GL.xi_[k / GL.xi_.size()], GL.xi_[k % GL.xi_.size()];
30 Q_.w_(k) = GL.w_[k / GL.w_.size()] * GL.w_[k % GL.w_.size()];
35 remainingQuadratures_;
36 const Cubature &operator[](
unsigned int i)
const {
37 return (i == Order) ? Q_ : remainingQuadratures_[i];
45 template <
template <
unsigned int qrOrder>
class QuadratureRule>
49 Q_.xi_.resize(2, GL.xi_.size() * GL.xi_.size());
50 Q_.w_.resize(GL.w_.size() * GL.w_.size());
51 for (
auto k = 0; k < Q_.xi_.cols(); ++k) {
52 Q_.xi_.col(k) << GL.xi_[k / GL.xi_.size()], GL.xi_[k % GL.xi_.size()];
53 Q_.w_(k) = GL.w_[k / GL.w_.size()] * GL.w_[k % GL.w_.size()];
57 const Cubature &operator[](
unsigned int i)
const {
return Q_; }
Routines for the evalutation of pointwise errors.