20 #ifndef LIBMESH_QUADRATURE_GAUSS_H 21 #define LIBMESH_QUADRATURE_GAUSS_H 24 #include "libmesh/quadrature.h" 75 virtual std::unique_ptr<QBase>
clone()
const override;
79 virtual void init_1D ()
override;
80 virtual void init_2D ()
override;
81 virtual void init_3D ()
override;
89 const unsigned int n_pts);
94 const unsigned int * permutation_ids,
95 const unsigned int n_wts);
103 const unsigned int n_pts);
108 #endif // LIBMESH_QUADRATURE_GAUSS_H Order
defines an enum for polynomial orders.
virtual QuadratureType type() const override
QuadratureType
Defines an enum for currently available quadrature rules.
The libMesh namespace provides an interface to certain functionality in the library.
void dunavant_rule2(const Real *wts, const Real *a, const Real *b, const unsigned int *permutation_ids, const unsigned int n_wts)
virtual std::unique_ptr< QBase > clone() const override
virtual ~QGauss()=default
void dunavant_rule(const Real rule_data[][4], const unsigned int n_pts)
The Dunavant rules are for triangles.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void keast_rule(const Real rule_data[][4], const unsigned int n_pts)
The Keast rules are for tets.
This class implements specific orders of Gauss quadrature.
virtual void init(const Elem &e, unsigned int p_level=invalid_uint)
Initializes the data structures for a quadrature rule for the element e.
virtual void init_3D() override
Initializes the 3D quadrature rule by filling the points and weights vectors with the appropriate val...
QGauss(unsigned int dim, Order order=INVALID_ORDER)
Constructor.
virtual void init_2D() override
Initializes the 2D quadrature rule by filling the points and weights vectors with the appropriate val...
virtual void init_1D() override
Initializes the 1D quadrature rule by filling the points and weights vectors with the appropriate val...
The QBase class provides the basic functionality from which various quadrature rules can be derived...
QGauss & operator=(const QGauss &)=default