So I was curious if there exists documentation on how V.dim() is determined given a polynomial degree. For example when I look at an interval mesh with 32 cells (elements), V.dim()=33, which made me wonder how the basis functions are defined in 1d for CG and DG.

Moreover, given an element \Omega_i in lets say 2d or 3d, is there documentation for what \phi_i looks like, both in CG and DG, when sets say the elements are tetrahedron? I’m guessing the form of the basis function is highly dependent on the element type it must have support over?

The only difference between a Lagrange and DG basis function is that there are duplicate entries in the dofmap (for every dof on a vertex, edge or facet), causing discontinuity for DG.

For basis functions, you can consider DefElement: DefElement or symfem