Hello,
I am trying to solve a problem with periodic BCs on a pair of opposite faces. The 3D mesh is built with Gmsh. I was careful to have identical 2D meshes on the two faces when building the mesh (using the Gmsh command Periodic Surface {...} = {...} Translate {...};
).
Everything works fine if I don’t try to impose periodic BCs, but I get an error message that looks like this if I define a FE space with periodic BCs:
Exec error : Periodic 3d: the both number of face is not the same
-- number :1
err code 8 , mpirank 3
vertex : 9 31.1703 0 0 214 Abscisses: s = 31.1703 0 2 0
missing Border element : 555 105 107 194
vertex : 282 -17.8123 13.1265 0 312 Abscisses: s = -17.8123 13.1265 23 141
Exec error : periodic: Sorry one vertex of face is losted
Here is something close to a MWE:
load "msh3"
load "PETSc"
load "gmsh"
int[int] n2oSaved;
int[int] n2oLoaded;
macro dimension()3// EOM
include "macro_ddm.idp"
macro def(i)[i, i#B, i#C, i#D]//
macro init(i)[i, i, i, i]// EOM
func Pk = [P1b,P1b,P1b,P1];
mesh3 Th = readmesh3("mesh.mesh");
Mat A;
macro ThN2O()n2oSaved//
createMat(Th, A, Pk);
fespace Wh(Th, Pk); // works
fespace Wh(Th, Pk, periodic=[[6,x,y],[7,x,y]]); // does not work
I can send the mesh if needed.
Has anyone faced the same problem or, conversely, managed to use periodic BCs with a Gmsh mesh?
Thank you.