include/deal.II/base/quadrature_selector.h

00001 //---------------------------------------------------------------------------
00002 //    @f$Id: quadrature_selector.h 25345 2012-03-31 08:37:04Z bangerth @f$
00003 //
00004 //    Copyright (C) 2003, 2004, 2005, 2006, 2012 by the deal.II authors
00005 //
00006 //    This file is subject to QPL and may not be  distributed
00007 //    without copyright and license information. Please refer
00008 //    to the file deal.II/doc/license.html for the  text  and
00009 //    further information on this license.
00010 //
00011 //---------------------------------------------------------------------------
00012 
00013 #ifndef __deal2__quadrature_selector_h
00014 #define __deal2__quadrature_selector_h
00015 
00016 
00017 #include <deal.II/base/quadrature.h>
00018 #include <deal.II/base/exceptions.h>
00019 
00020 #include <string>
00021 
00022 DEAL_II_NAMESPACE_OPEN
00023 
00037 template<int dim>
00038 class QuadratureSelector : public Quadrature<dim>
00039 {
00040   public:
00049     QuadratureSelector (const std::string &s,
00050                         const unsigned int order=0);
00051 
00061     static std::string get_quadrature_names();
00062 
00070     DeclException1 (ExcInvalidQGaussOrder,
00071                     int,
00072                     << "You tried to generate QGauss with an invalid order of "
00073                     << arg1 << " (must be >= 2)");
00077     DeclException2 (ExcInvalidOrder,
00078                     std::string,
00079                     unsigned int,
00080                     << "You tried to generate a " << arg1
00081                     << " object; no order is needed (" << arg2
00082                     << " was given as parameter)");
00086     DeclException1 (ExcInvalidQuadrature,
00087                     std::string,
00088                     << arg1
00089                     << " is not a valid quadrature name for a quadrature rule");
00091   private:
00100     static
00101     Quadrature<dim>
00102     create_quadrature (const std::string &s,
00103                        const unsigned int order);
00104 };
00105 DEAL_II_NAMESPACE_CLOSE
00106 
00107 #endif
00108 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Wed May 23 2012 06:07:31 by doxygen 1.7.3