Go to the documentation of this file.
20 #include "libmesh/quadrature_monomial.h"
21 #include "libmesh/enum_quadrature_type.h"
38 const unsigned int n_pts)
40 for (
unsigned int i=0, c=0; i<n_pts; ++i)
47 if (rule_data[i][0] != static_cast<Real>(0.0))
58 const unsigned int * rule_symmetry,
59 const unsigned int n_pts)
61 for (
unsigned int i=0, c=0; i<n_pts; ++i)
68 switch(rule_symmetry[i])
123 libmesh_assert_equal_to (y, 0.0);
157 libmesh_assert_not_equal_to (x, 0.0);
185 libmesh_assert_equal_to (x, 0.0);
186 libmesh_assert_not_equal_to (y, 0.0);
197 libmesh_error_msg(
"Unknown symmetry!");
206 const unsigned int * rule_id,
207 const unsigned int n_pts)
209 for (
unsigned int i=0, c=0; i<n_pts; ++i)
354 libmesh_error_msg(
"Unknown rule ID: " << rule_id[i] <<
"!");
void stroud_rule(const Real rule_data[][3], const unsigned int *rule_symmetry, const unsigned int n_pts)
Stroud's rules for quads and hexes can have one of several different types of symmetry.
void kim_rule(const Real rule_data[][4], const unsigned int *rule_id, const unsigned int n_pts)
Rules from Kim and Song, Comm.
The libMesh namespace provides an interface to certain functionality in the library.
QuadratureType
Defines an enum for currently available quadrature rules.
virtual QuadratureType type() const override
void wissmann_rule(const Real rule_data[][3], const unsigned int n_pts)
Wissmann published three interesting "partially symmetric" rules for integrating degree 4,...
A Point defines a location in LIBMESH_DIM dimensional Real space.
std::vector< Real > _weights
The quadrature weights.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< Point > _points
The locations of the quadrature points in reference element space.