Reference documentation for deal.II version 9.1.0-pre
quadrature_selector.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2003 - 2017 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 
17 #ifndef dealii_quadrature_selector_h
18 #define dealii_quadrature_selector_h
19 
20 
21 #include <deal.II/base/exceptions.h>
22 #include <deal.II/base/quadrature.h>
23 
24 #include <string>
25 
26 DEAL_II_NAMESPACE_OPEN
27 
39 template <int dim>
40 class QuadratureSelector : public Quadrature<dim>
41 {
42 public:
48  QuadratureSelector(const std::string &s, const unsigned int order = 0);
49 
55  static std::string
57 
68  int,
69  << "You tried to generate a QGauss object with an invalid "
70  << "number " << arg1
71  << " of quadrature points in each coordinate "
72  << "direction. This number must be greater than or equal "
73  << "to 1.");
78  std::string,
79  unsigned int,
80  << "You tried to generate a " << arg1
81  << " object; no order is needed for objects of this kind, but "
82  << arg2 << " was given as argument.");
87  std::string,
88  << arg1 << " is not a valid name for a quadrature rule.");
90 private:
96  static Quadrature<dim>
97  create_quadrature(const std::string &s, const unsigned int order);
98 };
99 DEAL_II_NAMESPACE_CLOSE
100 
101 #endif
#define DeclException2(Exception2, type1, type2, outsequence)
Definition: exceptions.h:420
static Quadrature< dim > create_quadrature(const std::string &s, const unsigned int order)
static::ExceptionBase & ExcInvalidQuadrature(std::string arg1)
static std::string get_quadrature_names()
QuadratureSelector(const std::string &s, const unsigned int order=0)
static::ExceptionBase & ExcInvalidQGaussOrder(int arg1)
#define DeclException1(Exception1, type1, outsequence)
Definition: exceptions.h:408
static::ExceptionBase & ExcInvalidOrder(std::string arg1, unsigned int arg2)