Forum Message

 

 

We have moved the forum to https://forum.ngsolve.org . This is an archived version of the topics until 05/05/23. All the topics were moved to the new forum and conversations can be continued there. This forum is just kept as legacy to not invalidate old links. If you want to continue a conversation just look for the topic in the new forum.

Notice

The forum is in read only mode.

Degrees of freedom of Hcurl space of type 1

More
4 years 9 months ago #1703 by Elsakori
I am using NGSolve to solve Maxwell’s equations in time-harmonic form. I created a finite element space as:
fes = HCurl(mesh, order=3, type1=True, dirichlet=“outer")
which is the Nedelec space of first type of order 3.

Based on Nedelec’s definition of the first kind elements, the number of DOF is given by:
N_DOF=(Edges *3)+(Faces *6)+(Cells*3).
In the initial mesh, I got an identical number of the DOF, but when I refine the mesh the resulted DOF number doesn't match the number calculated by the above formula.
Here is the outputs:
Initial mesh:
#nedge= 19
#nface= 18
#ne= 6
fes.ndof = 183
calculated_ndof = 183
calculated_ndof-fes_ndof = 0

First refinement:
#nedge= 117
#nface= 138
#ne= 48
fes.ndof = 1177
calculated_ndof = 1323
calculated_ndof-fes_ndof = 146

Second refinement:
#nedge= 721
#nface= 1002
#ne= 384
fes.ndof = 8265
calculated_ndof = 9327
calculated_ndof-fes_ndof = 1062

I am grateful for any explanation

Find attached my python script.
Attachments:
More
4 years 9 months ago - 4 years 9 months ago #1704 by joachim
when we refine the mesh, we keep also coarse edges and faces (needed for some multigrid versions). There are no degrees of freedom assigned to the coarse grid faces, as you can check like this:
Code:
for face in mesh.faces: print (fes.GetDofNrs(face))
Last edit: 4 years 9 months ago by joachim.
The following user(s) said Thank You: Elsakori
More
4 years 9 months ago #1710 by Elsakori
Thank you Joachim.
Time to create page: 0.154 seconds