20 #ifndef LIBMESH_QUADRATURE_GM_H 21 #define LIBMESH_QUADRATURE_GM_H 24 #include "libmesh/quadrature.h" 123 virtual std::unique_ptr<QBase>
clone()
const override;
141 void gm_rule(
unsigned int s,
unsigned int dim);
150 std::vector<std::vector<unsigned int>> & result);
155 #endif // LIBMESH_QUADRATURE_GM_H ElemType
Defines an enum for geometric element types.
Order
defines an enum for polynomial orders.
virtual void init_1D(const ElemType, unsigned int) override
In 1D, use a Gauss rule.
QGrundmann_Moller(unsigned int dim, Order order=INVALID_ORDER)
Constructor.
virtual void init_2D(const ElemType, unsigned int) override
Initializes the 2D quadrature rule by filling the points and weights vectors with the appropriate val...
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.
virtual void init_3D(const ElemType, unsigned int) override
Initializes the 3D quadrature rule by filling the points and weights vectors with the appropriate val...
void gm_rule(unsigned int s, unsigned int dim)
This routine is called from init_2D() and init_3D().
This class implements the Grundmann-Moller quadrature rules for tetrahedra.
virtual std::unique_ptr< QBase > clone() const override
QGrundmann_Moller & operator=(const QGrundmann_Moller &)=default
virtual ~QGrundmann_Moller()=default
void compose_all(unsigned int s, unsigned int p, std::vector< std::vector< unsigned int >> &result)
Routine which generates p-compositions of a given order, s, as well as permutations thereof...
The QBase class provides the basic functionality from which various quadrature rules can be derived...