www.mooseframework.org
ArbitraryQuadrature.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef ARBITRARYQUADRATURE_H
16 #define ARBITRARYQUADRATURE_H
17 
18 // MOOSE includes
19 #include "Moose.h" // using namespace libMesh
20 
21 #include "libmesh/quadrature.h"
22 
27 class ArbitraryQuadrature : public QBase
28 {
29 public:
30  ArbitraryQuadrature(const unsigned int _dim, const Order _order = INVALID_ORDER);
31 
32  virtual ~ArbitraryQuadrature() = default;
33 
34  QuadratureType type() const override;
35 
36  void setPoints(const std::vector<Point> & points);
37 
38  virtual bool shapes_need_reinit() override { return true; }
39 
40 private:
46  void init_1D(const ElemType _type = INVALID_ELEM, unsigned int p_level = 0) override;
47  void init_2D(const ElemType _type = INVALID_ELEM, unsigned int p_level = 0) override;
48  void init_3D(const ElemType _type = INVALID_ELEM, unsigned int p_level = 0) override;
49 };
50 
51 #endif // ARBITRARYQUADRATURE_H
void init_2D(const ElemType _type=INVALID_ELEM, unsigned int p_level=0) override
void setPoints(const std::vector< Point > &points)
void init_1D(const ElemType _type=INVALID_ELEM, unsigned int p_level=0) override
These functions must be defined to fulfill the interface expected by the quadrature initialization ro...
virtual ~ArbitraryQuadrature()=default
Implements a fake quadrature rule where you can specify the locations (in the reference domain) of th...
QuadratureType type() const override
void init_3D(const ElemType _type=INVALID_ELEM, unsigned int p_level=0) override
virtual bool shapes_need_reinit() override
ArbitraryQuadrature(const unsigned int _dim, const Order _order=INVALID_ORDER)