Question about the numbering of DoFs

28 views
Skip to first unread message

yuesu jin

unread,
Aug 2, 2020, 10:39:00 PM8/2/20
to deal.II User Group
I feel confused by the numbering of the degrees of freedom. For example:

FESystem<dim> fe_basis(FE_Q<dim>(2), dim, FE_Q<dim>(1),1);

As mentioned in Glossary:

Describing "degrees of freedom" in this context requires us to simply enumerate the basis functions of the space Vh. For Q1 elements this means simply enumerating the vertices of the mesh in some way, but for higher elements one also has to enumerate the shape functions that are associated with edges, faces, or cell interiors of the mesh.


We have a vector u which has 2 components defined on 9 nodes. On each node, there are 2 base functions, so the degrees of freedom are 9*2*2 = 36. And we have a scalar p which has 1 component defined on 4 nodes. On each node, there is one base function, so the degrees of freedom are 4*1*1=4. The total degrees of freedom should be 36+4=40.

In the webpage, it gives 2*9+4*1=22 degrees of freedom, it equals the base function with the vector components.

image.png

u(0) should have two base element [phi(0),0] and [phi(0) 0], u(1) should have two base elements as well [0 phi(0)] [0 phi(1)], so here should be 4 rather than 2 degrees of freedom.

Best regards,

--
Yuesu Jin,
Ph.D student,
University of Houston,
College of Natural Sciences and Mathematics,
Department of Earth and Atmospheric Sciences,
Houston, Texas 77204-5008


Jimmy Ho

unread,
Aug 2, 2020, 11:09:02 PM8/2/20
to deal.II User Group
Hi Yuesu,

When you have a vector-valued finite element, different components of the vector are still interpolated using the same basis functions. So you can have two DOFs on each node, but there's only one basis function associated with this node.

Hope that helps!

Best,
Jimmy

yuesu jin

unread,
Aug 2, 2020, 11:57:54 PM8/2/20
to deal.II User Group
Dear Jimmy,
 Thank you for your reply. Yes, I can set up only one base function for each node. But the problem is that the example sets up two base functions for a two-component vector. FESystems fe_basis(FE_Q<dim> (2),dim,FE_Q<dim>  (1),1), which the (2) means the vector has order-2 base functions.
Best regards,
Yuesu

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/3c3bd51a-eaf4-49ce-af0f-fd6477100123o%40googlegroups.com.

Jimmy Ho

unread,
Aug 3, 2020, 12:44:38 AM8/3/20
to deal.II User Group
Hi Yuesu,

The 2 in the initialization means that the basis functions (hence the finite element for the vector part) are quadratic. Which means that each element has 9 nodes. But you should still only have one basis function associated with each node. That's why you have 9*2=18 DOFs associated with the vector problem.

Best,
Jimmy

Jimmy Ho

unread,
Aug 3, 2020, 12:50:21 AM8/3/20
to deal.II User Group
Hi Yuesu,

To be more precise: Yes, you do have two sets of basis functions in each element. A quadratic one for interpolating the vector components, and a linear one for interpolating the scalar. But when calculating DOFs associated with the vector components, you should only count the basis functions that interpolate those components, which is one basis function per node.

Hope this helps!

Best,
Jimmy

yuesu jin

unread,
Aug 3, 2020, 2:35:38 AM8/3/20
to deal.II User Group
Dear Jimmy,
  Thank you! Your answer solved my question. I had the wrong impression that higher-order polynomials will give more base functions. Shape functions just play the role of interpolation and construct the solution space. It could be a high-order polynomial but only one base function per node.  Thank you very much!
Best regards

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages