9#include "quad_rule_cache.h"
11#include "make_quad_rule.h"
15 LF_ASSERT_MSG(degree >= 0,
"degree must be non-negative.");
17 if (vector.size() < degree + 1) {
18 vector.resize(degree + 1);
20 auto& qr = vector[degree];
21 if (qr.NumPoints() == 0) {
24 LF_ASSERT_MSG(qr.Degree() >= degree,
"something is horribly wrong.");
Represents a reference element with all its properties.
constexpr unsigned int Id() const
Return a unique id for this reference element.
const QuadRule & Get(base::RefEl ref_el, unsigned degree) const
Retrieve a quadrature rule for reference element ref_el with degree d. Is identical to calling make_Q...
std::array< std::deque< QuadRule >, 5 > cache_
Represents a Quadrature Rule over one of the Reference Elements.
Rules for numerical quadrature on reference entity shapes.
QuadRule make_QuadRule(base::RefEl ref_el, unsigned degree)
Returns a QuadRule object for the given Reference Element and Degree.