basis edge evaluation
Problem
Currently evaluating the basis functions with an edge quadrature results in the edger projection being returned. For a non-conforming space this is a lower polynomial than perhaps expected. For example in the case of the H^1-nc space the edge projection is only P^{k-1} instead of P^k. So a CR lowest order element would return the constant average instead of the linear function.
Solution
We should return a function u_e
such that
- int_e u_e m = int_e Pi^eu m for m in P^l if Pi^eu in P^l
- int_e u_e m = int_e Pi^0u m for m in P^k\P^l
Implementation
Change
edgeShapeFunctionSet = interpolation()(intersection, edgePhiVector, mask);
to take the element value projection and return an augmented edgePhiVector
which included the additional moments using the value projection.
This could be used both for the gradient projection
and the edge caching quadrature.
Edited by Andreas Dedner