"FunctionSpace" with first order elements producing less DOFs than mesh nodes


I am using “FunctionSpace” to produce a function space on a given mesh for a given element type (I’m using “CG”), element order (first order), and constraint condition, i.e.,

FunctionSpace(mesh, “CG”, 1, constrained_domain = PeriodicConstraint)

Is there any reason that the function space produced would include fewer DOFs than the number of nodes in the mesh? I am finding this occurs (and there are usually 10-20 DOFs fewer than the ~600 nodes in the mesh), but I am unsure of why/how this could happen. The particular problem I find this occurring in is quite large. Could it be a memory issue?

Thank you for any insight!

When you constrain your function space

you eliminate dofs at one of the periodic boundaries

I see. Thank you very much, dokken.