36 template<
unsigned int dim>
65 static const double unit_cell_volume[] = { 1, 1, 0.5, 1./6 };
72 this->quadrature_points.push_back({});
73 this->weights.push_back(1);
77 nquads =
sizeof(q1d) /
sizeof(pQUAD);
81 nquads =
sizeof(q2d) /
sizeof(pQUAD);
85 nquads =
sizeof(q3d) /
sizeof(pQUAD);
89 OLD_ASSERT(order < nquads,
"Quadrature of given order is not implemented.");
92 for (
int i=0; i<q[order]->npoints; i++)
94 for (
unsigned int j=0; j<dim; j++)
95 p[j] = q[order]->points[i*(dim+1)+j];
97 this->quadrature_points.push_back(p);
102 this->weights.push_back(q[order]->weights[i]*unit_cell_volume[dim]);
Symmetric Gauss-Legendre quadrature formulae on simplices.
Global macros to enhance readability and debugging, general constants.
Definitions of particular quadrature rules on simplices.
QGauss(const unsigned int order)
Create a formula of given order.