21 #include "libmesh/quadrature_clough.h" 22 #include "libmesh/quadrature_gauss.h" 23 #include "libmesh/enum_to_string.h" 46 std::vector<Point> & gausspoints = gauss_rule.
get_points();
47 std::vector<Real> & gaussweights = gauss_rule.
get_weights();
48 std::size_t numgausspts = gausspoints.size();
51 for (std::size_t i = 0; i != numgausspts; ++i)
53 _points[3*i](0) = gausspoints[i](0) +
54 gausspoints[i](1) / 3.;
55 _points[3*i](1) = gausspoints[i](1) / 3.;
56 _points[3*i+1](0) = gausspoints[i](1) / 3.;
57 _points[3*i+1](1) = gausspoints[i](0) +
58 gausspoints[i](1) / 3.;
60 gausspoints[i](0) * 2./3. -
61 gausspoints[i](1) / 3.;
63 gausspoints[i](0) / 3. +
64 gausspoints[i](1) * 2./3.;
65 _weights[3*i] = gaussweights[i] / 3.;
ElemType _type
The type of element for which the current values have been computed.
const std::vector< Real > & get_weights() const
The libMesh namespace provides an interface to certain functionality in the library.
std::vector< Point > _points
The locations of the quadrature points in reference element space.
std::vector< Real > _weights
The quadrature weights.
unsigned int _p_level
The p-level of the element for which the current values have been computed.
virtual void init_2D() override
Initializes the 2D quadrature rule by filling the points and weights vectors with the appropriate val...
std::string enum_to_string(const T e)
Order _order
The polynomial order which the quadrature rule is capable of integrating exactly. ...
const std::vector< Point > & get_points() const
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.