* one in one dimension. There is a special constructor to generate a
* quadrature formula from two others.
*
+ *
+ * For some programs it is necessary to have a quadrature object for faces.
+ * These programs fail to link if compiled for only one space dimension,
+ * since there quadrature rules for faces just don't make no sense. In
+ * order to allow these programs to be linked anyway, for class #Quadrature<0>#
+ * all functions are provided in the #quadrature.cc# file, but they will
+ * throw exceptions if actually called. The only function which is allowed
+ * to be called is the constructor taking one integer, which in this case
+ * ignores its parameter, and of course the destructor.
+ *
* @author Wolfgang Bangerth, 1998
*/
template <int dim>
#include <base/quadrature.h>
+template <>
+Quadrature<0>::Quadrature (const unsigned int)
+{};
+
+
+
template <int dim>
Quadrature<dim>::Quadrature (const unsigned int n_q) :
n_quadrature_points(n_q),
weights (n_q, 0) {};
+// template <>
+// Quadrature<0>::Quadrature (const Quadrature<-1> &,
+// const Quadrature<1> &) {
+// Assert (false, ExcInternalError());
+// };
+
+
+
template <>
Quadrature<1>::Quadrature (const Quadrature<0> &,
const Quadrature<1> &) {
+template <>
+const Point<0> & Quadrature<0>::quad_point (const unsigned int) const {
+ Assert (false, ExcInternalError());
+ static const Point<0> dummy;
+ return dummy;
+};
+
+
+
template <int dim>
const Point<dim> & Quadrature<dim>::quad_point (const unsigned int i) const {
Assert (i<n_quadrature_points, ExcInvalidIndex(i, n_quadrature_points));
+template <>
+const vector<Point<0> > & Quadrature<0>::get_quad_points () const {
+ Assert (false, ExcInternalError());
+ return quadrature_points;
+};
+
+
+
template <int dim>
const vector<Point<dim> > & Quadrature<dim>::get_quad_points () const {
return quadrature_points;
+template <>
+double Quadrature<0>::weight (const unsigned int) const {
+ Assert (false, ExcInternalError());
+ return 0;
+};
+
+
+
template <int dim>
double Quadrature<dim>::weight (const unsigned int i) const {
Assert (i<n_quadrature_points, ExcInvalidIndex(i, n_quadrature_points));
+template <>
+const vector<double> & Quadrature<0>::get_weights () const {
+ Assert (false, ExcInternalError());
+ return weights;
+};
+
+
+
template <>
void QProjector<2>::project_to_face (const Quadrature<1> &quadrature,
const unsigned int face_no,