45 std::vector<Point> & gausspoints = gauss_rule.
get_points();
46 std::vector<Real> & gaussweights = gauss_rule.
get_weights();
47 std::size_t numgausspts = gausspoints.size();
50 for (std::size_t i = 0; i != numgausspts; ++i)
52 _points[3*i](0) = gausspoints[i](0) +
53 gausspoints[i](1) / 3.;
54 _points[3*i](1) = gausspoints[i](1) / 3.;
55 _points[3*i+1](0) = gausspoints[i](1) / 3.;
56 _points[3*i+1](1) = gausspoints[i](0) +
57 gausspoints[i](1) / 3.;
59 gausspoints[i](0) * 2./3. -
60 gausspoints[i](1) / 3.;
62 gausspoints[i](0) / 3. +
63 gausspoints[i](1) * 2./3.;
64 _weights[3*i] = gaussweights[i] / 3.;
75 libmesh_error_msg(
"Element type not supported!:" << type_in);
virtual void init(const ElemType type=INVALID_ELEM, unsigned int p_level=0)
const std::vector< Real > & get_weights() const
std::vector< Point > _points
std::vector< Real > _weights
void init_2D(const ElemType _type=INVALID_ELEM, unsigned int p_level=0) override
const std::vector< Point > & get_points() const
Implements 1, 2, and 3D "Gaussian" quadrature rules.