I’m looking for a package to define quadrature points on simplex elements, as well as a variety of basis function types (specifically high order Lagrange polynomials and high order nedelec elements), similar to: GitHub - FEniCS/basix: FEniCS finite element basis evaluation library

It seems JuliaFEM isn’t maintained anymore, Ferrite only appears to have second order functions, GridAP seems to be the most maintained package, but I really only need a small part.

One thing that seems to make the most sense is just calling basix from either a python or c++ interface in Julia?

I would like to use a gmsh simplex mesh, with second or third order tetrahedrals. Then on those tetrahedrals, I want to try high order vector-edge elements or high order polynomials. I realize now I can probably just use the gmsh api to get the quad points and basis and shape functions, but I thought it would be nice to have a gmsh independent implementation.

I should note that there are some slight differences compared with the Nodal DG book - we don’t compute surface integrals in terms of nodal/interpolation points, but using surface quadrature points (this is for reasons of stability related to formulations for nonlinear conservation laws). Consequently, some of the arrays in the Nodal DG book like vmapM, vmapP are missing as there are no analogues for this setting.