FEM Basis and Integration package similar to fenics-basix?

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?

What do you want to do? p-type elements on simplexes?

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 have high order quadrature on simplices (and other elements) in GitHub - jlchan/NodesAndModes.jl: Nodes and modes for high order finite element methods, as well as high order basis functions. However, these basis functions are H1 only, and don’t include Hdiv/Hcurl bases (e.g., Nedelec, RT, BDM, etc).

1 Like

That looks awesome! I was intending on doing DG following the same textbook actually.

Oh, great! You might also find GitHub - jlchan/StartUpDG.jl: Initializes and sets up reference elements and physical meshes for DG. useful. It basically does the “StartUp1D/2D/3D” routines from the book (with some generalizations).

Please let me know if anything can be made clearer in the package - we welcome any feedback and issues on Github.

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.