Add Hvec and basis projection operators

Created by: vcarlier

This PR implement the basis projection operators and adds the "Hvec" space to the Derham sequence.

They are linear operators Vh^k -> Vh^l where Vh^k and Vh^l are any of the spaces from the DeRham sequence, that can be written as vh --> \Pi^l(f v_h) where \Pi denotes the geometric projection and f is a tensor function of the good shape so that the expression can make sense (e.g (1,1) tensor if Vh^k and Vh^l and scalar spaces, (1,d) if Vh^l is a vector space and Vh^k is scalar, etc...).

The "Hvec" space is just the (H^1)^d space taken as a product of Vh^0, we also added the geometric projection for this space.

Other small changes : -Add backend pyccel-gcc-mpi that allows the use of OpenMP -Add the possibility to pass a metric to the iterative linear solver Bicg and Stabbicg in the case one doesn't want the error with the standard vector scalar product but other metric (for example the L2 metric of the underlying FemSpace)

Merge request reports

Loading