Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
quadrature_selector.h
1 // ---------------------------------------------------------------------
2 // @f$Id: quadrature_selector.h 30036 2013-07-18 16:55:32Z maier @f$
3 //
4 // Copyright (C) 2003 - 2013 by the deal.II authors
5 //
6 // This file is part of the deal.II library.
7 //
8 // The deal.II library is free software; you can use it, redistribute
9 // it, and/or modify it under the terms of the GNU Lesser General
10 // Public License as published by the Free Software Foundation; either
11 // version 2.1 of the License, or (at your option) any later version.
12 // The full text of the license can be found in the file LICENSE at
13 // the top level of the deal.II distribution.
14 //
15 // ---------------------------------------------------------------------
16 
17 
18 #ifndef __deal2__quadrature_selector_h
19 #define __deal2__quadrature_selector_h
20 
21 
22 #include <deal.II/base/quadrature.h>
24 
25 #include <string>
26 
27 DEAL_II_NAMESPACE_OPEN
28 
42 template<int dim>
43 class QuadratureSelector : public Quadrature<dim>
44 {
45 public:
54  QuadratureSelector (const std::string &s,
55  const unsigned int order=0);
56 
66  static std::string get_quadrature_names();
67 
75  DeclException1 (ExcInvalidQGaussOrder,
76  int,
77  << "You tried to generate QGauss with an invalid order of "
78  << arg1 << " (must be >= 2)");
82  DeclException2 (ExcInvalidOrder,
83  std::string,
84  unsigned int,
85  << "You tried to generate a " << arg1
86  << " object; no order is needed (" << arg2
87  << " was given as parameter)");
91  DeclException1 (ExcInvalidQuadrature,
92  std::string,
93  << arg1
94  << " is not a valid quadrature name for a quadrature rule");
96 private:
105  static
107  create_quadrature (const std::string &s,
108  const unsigned int order);
109 };
110 DEAL_II_NAMESPACE_CLOSE
111 
112 #endif
DeclException2(ExcInvalidOrder, std::string, unsigned int,<< "You tried to generate a "<< arg1<< " object; no order is needed ("<< arg2<< " was given as parameter)")
QuadratureSelector(const std::string &s, const unsigned int order=0)
DeclException1(ExcInvalidQGaussOrder, int,<< "You tried to generate QGauss with an invalid order of "<< arg1<< " (must be >= 2)")
static std::string get_quadrature_names()
static Quadrature< dim > create_quadrature(const std::string &s, const unsigned int order)