]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Do some things about quadrature formulae in 0d, which does not make much sense but...
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 18 May 1999 11:43:32 +0000 (11:43 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 18 May 1999 11:43:32 +0000 (11:43 +0000)
git-svn-id: https://svn.dealii.org/trunk@1337 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/base/include/base/quadrature.h
deal.II/base/include/base/tensor_base.h
deal.II/base/source/quadrature.cc

index 5d5e9699501aca3d766d0eba719958aa635751ab..5c78399d41a6e48482c86bd93d43a17d2999f9e5 100644 (file)
  * 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>
index 53724c43c433b3da4c26d82022093c29d9894c65..d253ac37e72002bbe413cc42dc67de6524fa5c3b 100644 (file)
@@ -227,7 +227,7 @@ Tensor<1,dim>::Tensor (const bool initialize) {
   Assert (dim>0, ExcDimTooSmall(dim));
 
   if (initialize)
-    for (unsigned int i=0; i<dim; ++i)
+    for (unsigned int i=0; i!=dim; ++i)
       values[i] = 0;
 };
 
index 45a74f223ba7a21a551dfda95b45180ae1992630..1992b1cf2bf694e2d09818badd45207d66c6e606 100644 (file)
@@ -5,6 +5,12 @@
 #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),
@@ -12,6 +18,14 @@ Quadrature<dim>::Quadrature (const unsigned int 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> &) {
@@ -64,6 +78,15 @@ Quadrature<dim>::~Quadrature () {};
 
 
 
+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));
@@ -72,6 +95,14 @@ const Point<dim> & Quadrature<dim>::quad_point (const unsigned int i) const {
 
 
 
+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;
@@ -79,6 +110,14 @@ const vector<Point<dim> > & Quadrature<dim>::get_quad_points () const {
 
 
 
+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));
@@ -94,6 +133,14 @@ const vector<double> & Quadrature<dim>::get_weights () const {
 
 
 
+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,

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.