20 #ifndef LIBMESH_QUADRATURE_GM_H 21 #define LIBMESH_QUADRATURE_GM_H 24 #include "libmesh/quadrature.h" 126 virtual std::unique_ptr<QBase>
clone()
const override;
135 virtual void init_1D ()
override;
136 virtual void init_2D ()
override;
137 virtual void init_3D ()
override;
144 void gm_rule(
unsigned int s,
unsigned int dim);
153 std::vector<std::vector<unsigned int>> & result);
158 #endif // LIBMESH_QUADRATURE_GM_H virtual void init_1D() override
In 1D, use a Gauss rule.
Order
defines an enum for polynomial orders.
QGrundmann_Moller(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 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 gm_rule(unsigned int s, unsigned int dim)
This routine is called from init_2D() and init_3D().
virtual void init_3D() override
Initializes the 3D quadrature rule by filling the points and weights vectors with the appropriate val...
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
virtual void init(const Elem &e, unsigned int p_level=invalid_uint)
Initializes the data structures for a quadrature rule for the element e.
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...