Skip to content

Easy access to quadraturerule and referenceelement

This adds new functions quadratureRule() and referenceElement() to reduce the amount of boiler plate code in the local operators as well as new wrappers around Dune::ReferenceElement and Dune::QuadratureRule. These wrappers have value semantics and can be copied around freely.

The freestanding functions are also injected into the Dune namespace to enable ADL lookup. This is important to allow for forward compatibility once the functions appear in the core modules.

Use it like this:

#include <dune/pdelab/common/singletonaccess.hh>

auto geo = eg.geometry();
auto ref_el = referenceElement(geo); // capture by value!

std::size_t quadrature_order = 4;
for (auto& ip : quadratureRule(geo,quadrature_order))
{
  // loop over points
}

Merge request reports