quadrature_monomial.h
Go to the documentation of this file.
1 // The libMesh Finite Element Library.
2 // Copyright (C) 2002-2014 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
3 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License, or (at your option) any later version.
8 
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
13 
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 
18 
19 
20 #ifndef LIBMESH_QUADRATURE_MONOMIAL_H
21 #define LIBMESH_QUADRATURE_MONOMIAL_H
22 
23 // Local includes
24 #include "libmesh/quadrature.h"
25 
26 // C++ includes
27 
28 namespace libMesh
29 {
30 
31 
32 
33 
65 class QMonomial : public QBase
66 {
67  public:
68 
72  QMonomial (const unsigned int _dim,
73  const Order _order=INVALID_ORDER);
74 
78  ~QMonomial();
79 
83  QuadratureType type() const { return QMONOMIAL; }
84 
85 
86  private:
87 
88  void init_1D (const ElemType,
89  unsigned int =0)
90  {
91  // See about making this non-pure virtual in the base class?
92  libmesh_error();
93  }
94 
98  void init_2D (const ElemType _type=INVALID_ELEM,
99  unsigned int p_level=0);
100 
104  void init_3D (const ElemType _type=INVALID_ELEM,
105  unsigned int p_level=0);
106 
107 
108 
121  void wissmann_rule(const Real rule_data[][3],
122  const unsigned int n_pts);
123 
144  void stroud_rule(const Real rule_data[][3],
145  const unsigned int* rule_symmetry,
146  const unsigned int n_pts);
147 
185  void kim_rule(const Real rule_data[][4],
186  const unsigned int* rule_id,
187  const unsigned int n_pts);
188 };
189 
190 
191 
192 } // namespace libMesh
193 
194 
195 
196 
197 
198 #endif // LIBMESH_QUADRATURE_MONOMIAL_H

Site Created By: libMesh Developers
Last modified: February 07 2014 16:57:07 UTC

Hosted By:
SourceForge.net Logo