From eeaedbd2acfc7d2adb1a48456953e2fbab546934 Mon Sep 17 00:00:00 2001 From: wolf Date: Fri, 6 Aug 1999 17:10:33 +0000 Subject: [PATCH] Remove the QGauss1 preprocessor define, remove QIterated{Trapez,Simpson}. git-svn-id: https://svn.dealii.org/trunk@1628 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/base/include/base/quadrature.h | 5 +++ deal.II/base/include/base/quadrature_lib.h | 33 +--------------- deal.II/base/source/quadrature_lib.cc | 45 +--------------------- 3 files changed, 7 insertions(+), 76 deletions(-) diff --git a/deal.II/base/include/base/quadrature.h b/deal.II/base/include/base/quadrature.h index 9db08d31e6..bf8baf338d 100644 --- a/deal.II/base/include/base/quadrature.h +++ b/deal.II/base/include/base/quadrature.h @@ -157,6 +157,11 @@ class Quadrature { * argument given to the constructor needs to be a quadrature formula in * one space dimension, rather than in #dim# dimensions. * + * The aim of this class is to provide a + * low order formula, where the error constant can be tuned by + * increasing the number of quadrature points. This is useful in + * integrating non-differentiable functions on cells. + * * @author Wolfgang Bangerth 1999 */ template diff --git a/deal.II/base/include/base/quadrature_lib.h b/deal.II/base/include/base/quadrature_lib.h index 455ddb9ca0..91098017a8 100644 --- a/deal.II/base/include/base/quadrature_lib.h +++ b/deal.II/base/include/base/quadrature_lib.h @@ -127,7 +127,6 @@ class QGauss8 : public Quadrature /** * Midpoint quadrature rule, exact for linear polynomials. - * For compatibility, this rule may be accessed as #QGauss1#, too. */ template class QMidpoint : public Quadrature @@ -136,7 +135,7 @@ class QMidpoint : public Quadrature QMidpoint (); }; -#define QGauss1 QMidpoint + /** * Simpson quadrature rule, exact for polynomials of degree 3. @@ -161,36 +160,6 @@ class QTrapez : public Quadrature }; -/** - * Iterated trapezoidal rule. The aim of this class is to provide a - * low order formula, where the error constant can be tuned by - * increasing the number of quadrature points. This is useful in - * integrating non-differentiable functions on cells. - * - * For internal use, it may be worth to know that the points are - * ordered in a fashion such that the last coordinate is the one which - * runs fastest and then lexicographically from back to front. - */ -template -class QIteratedTrapez : - public Quadrature -{ -public: - QIteratedTrapez(const unsigned intervals); -}; - -/** - * Iterated Simpson rule. - * Like #QIteratedTrapez#, this class provides a lower order formula, - * while the error constant can be tuned by choosing the number of sub-cells. - */ -template -class QIteratedSimpson : - public Quadrature -{ -public: - QIteratedSimpson(const unsigned intervals); -}; /*---------------------------- quadrature_lib.h ---------------------------*/ /* end of #ifndef __quadrature_lib_H */ diff --git a/deal.II/base/source/quadrature_lib.cc b/deal.II/base/source/quadrature_lib.cc index c8ef626694..a88aae710c 100644 --- a/deal.II/base/source/quadrature_lib.cc +++ b/deal.II/base/source/quadrature_lib.cc @@ -313,39 +313,6 @@ QTrapez<1>::QTrapez () : }; }; -template <> -QIteratedTrapez<1>::QIteratedTrapez (const unsigned n) : - Quadrature<1> (n+1) -{ - // Loop over INTERIOR points - for (unsigned int i=1; i(1.*i/n); - weights[i] = 1./n; - }; - quadrature_points[0] = Point<1>(0.); - weights[0] = .5/n; - quadrature_points[n] = Point<1>(1.); - weights[n] = .5/n; -} - -template<> -QIteratedSimpson<1>::QIteratedSimpson(const unsigned n) : - Quadrature<1> (2*n+1) -{ - weights.clear(); - - for (unsigned int i=0 ; i(1.*i/n); - quadrature_points[2*i+1] = Point<1>(1.*i/n+.5/n); - - weights[2*i] += 1./(6*n); - weights[2*i+1] += 4./(6*n); - weights[2*i+2] += 1./(6*n); - } - quadrature_points[2*n] = Point<1>(1.); -} // construct the quadrature formulae in higher dimensions by // tensor product of lower dimensions @@ -389,17 +356,11 @@ template QTrapez::QTrapez () : Quadrature (QTrapez(), QTrapez<1>()){}; -template -QIteratedTrapez::QIteratedTrapez (const unsigned n) : - Quadrature (QIteratedTrapez(n), QIteratedTrapez<1>(n)) {}; - -template -QIteratedSimpson::QIteratedSimpson (const unsigned n) : - Quadrature (QIteratedTrapez(n), QIteratedTrapez<1>(n)) {}; // explicite specialization +// note that 1d formulae are specialized by implementation above template class QGauss2<2>; template class QGauss3<2>; template class QGauss4<2>; @@ -410,8 +371,6 @@ template class QGauss8<2>; template class QMidpoint<2>; template class QSimpson<2>; template class QTrapez<2>; -template class QIteratedTrapez<2>; -template class QIteratedSimpson<2>; template class QGauss2<3>; template class QGauss3<3>; @@ -423,5 +382,3 @@ template class QGauss8<3>; template class QMidpoint<3>; template class QSimpson<3>; template class QTrapez<3>; -template class QIteratedTrapez<3>; -template class QIteratedSimpson<3>; -- 2.39.5