Hello, I’m wondering that can I use DOLFINX_MPC to impose periodic BC for Nedelec elements? I find this Issue: Github repo, but don’t find any update in it. So I guess that this is not possible so far, is that true?
It is possible with some kinks. Please refer to the following:
I was able to use the method for 2D geometries and did not encounter the anomaly indicated in the thread. But that somehow meant I did not stumble upon the corner case?
Also look down for an alternate approach by @dokken that makes the mesh itself periodic.
I am not very experienced with Fenicsx, but I am also interested to use it to solve an EM problem with periodic boundary conditions using Nedelec elements. I am interested by both 2D and 3D problems on simple conforming meshes. In 3D, I would have to impose 2 different periodic boundary conditions, in x and y (for example). Is it possible to do this with your function create_periodic_mesh (by calling it twice).
Also, I was wondering if it would be simpler to generate a periodic mesh directly with GMSH (or any other meshing tools). What would be the behavior of Fenicsx when loading such a mesh? Would it work directly with MPI? Or do we need some mappings somewhere, or some other features?
Currently no, but you can call it with a single map, as for instance done in:
which was made together with Cristian Ciraci.
In theory, one could simplify the code I have made by using information from GMSH. I’ve not had time to do this yet. In the aforementioned example you see gmsh being used for the periodic map on a cube.
The function from script.py should work with MPI out of the box.