-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Curl error of interpolation is too large for non-conforming Nedelec elements #69
Comments
Can you try to interpolate a FE function in the FE space to see if the interpolation error is zero? |
Yes, I interpolated the FEM solution into the FE space, and the interpolation error was zero. |
Can you try to do the same test with lagrangian elements? |
Can you try to interpolate an analytical function which you know is going to be in the FE space into the FE space and see whether the interpolation error is zero? |
Do you mean solving the same Maxwell's equation using Lagrangian elements?
Yes, the error is zero up to machine precision. |
No. To solve a poisson problem with lagrangian elements, and see whether you have a similar behaviour as with Nedelec (i.e.. higher interpolation errors at the regions where there are jumps in refinement level). If the interpolation error is zero with functions in FE space, then I am positive the hanging DoF constraints coefficients are computed correctly, so I am not sure if there is anything wrong in the results you are showing. In these experiments, you are only using a single quadtree in the forest, correct? |
Here are the results of a Poisson problem test. ----------------------- Iteration 0 -----------------------
FEM errors: L2 = 0.000246, H1 = 0.012765.
Interpolation errors: L2 = 0.000246, H1 = 0.012766.
Interpolation / FEM: L2 = 1.000962, H1 = 1.000077.
-----------------------------------------------------------
----------------------- Iteration 1 -----------------------
FEM errors: L2 = 0.000218, H1 = 0.011541.
Interpolation errors: L2 = 0.000219, H1 = 0.011575.
Interpolation / FEM: L2 = 1.004337, H1 = 1.002911.
-----------------------------------------------------------
----------------------- Iteration 2 -----------------------
FEM errors: L2 = 0.000166, H1 = 0.009167.
Interpolation errors: L2 = 0.000168, H1 = 0.009228.
Interpolation / FEM: L2 = 1.011550, H1 = 1.006596.
-----------------------------------------------------------
----------------------- Iteration 3 -----------------------
FEM errors: L2 = 0.000111, H1 = 0.006566.
Interpolation errors: L2 = 0.000114, H1 = 0.006671.
Interpolation / FEM: L2 = 1.029868, H1 = 1.016066.
----------------------------------------------------------- The Lagrangian interpolation seems correct.
Is Nedelec interpolation on non-conforming mesh something new? It is for sure an issue that the Nedelec interpolation is not curl-conforming.
Yes. I also tried 4 quadtrees, the results are similar, i.e. the interpolation error is much larger than the FEM error. |
ok, I will take a look when I have some time. |
Hi @amartinhuertas,
When the mesh is non-conforming and Nedelec elements are used, the error of the
FEFunction
produced by theinterpolate
function is too far away from the FEM solution based on the same mesh with the same order. I have the following MWE:The output of the above script is:
At iteration 0, the mesh is conforming, the curl error of the interpolation is nearly the same as that of the FEM solution. However, at iterations 1-3, the mesh becomes non-conforming, and the curl error of the interpolation is increasingly different from that of the FEM solution.
I also have the mesh and the curl error comparison at iteration 3.
Notice that the curl error is really large around the jump of different level of refinement elements.
The interpolation has discontinuity in its curl even though my analytic function is very smooth.
The text was updated successfully, but these errors were encountered: