Dear all,

I am trying to build a periodic mesh for a complex geometry, made by cylinders, which is bounded by a cube (Boolean intersection). To do the periodic mesh I have used Periodic Surface {} = {} Translate {} command to make it periodic in the three opposite surfaces (xy,xz,yz) of the intersected cube, as indicated in the attached .geo file.

However, I receive the following errors:

“No corresponding point x for periodic connection of surface xx to yy” or “Different number of points (a vs b) for periodic correspondence between surfaces aa and bb”.

I have tried to fix the error without any success. I would like to know why is this happening and how can the .geo file be modified to fix the problem.

I would appreciate if someone could help me with this issue.

Thank you very much,

Lucia
SetFactory('OpenCASCADE');
Box(1) = {0,0,0,1.0,1.0,1.0};
Cylinder(2) = {0.25,0.25,0.25,-0.25,-0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(3) = {0.25,0.25,0.25,0.25,0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(4) = {0.25,0.25,0.25,0.25,-0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(5) = {0.25,0.25,0.25,-0.25,0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(6) = {0.75,0.25,0.25,0.25,-0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(7) = {0.75,0.25,0.25,-0.25,0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(8) = {0.75,0.25,0.25,-0.25,-0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(9) = {0.75,0.25,0.25,0.25,0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(10) = {0.75,0.75,0.25,0.25,0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(11) = {0.75,0.75,0.25,-0.25,-0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(12) = {0.75,0.75,0.25,-0.25,0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(13) = {0.75,0.75,0.25,0.25,-0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(14) = {0.25,0.75,0.25,-0.25,0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(15) = {0.25,0.75,0.25,0.25,-0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(16) = {0.25,0.75,0.25,0.25,0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(17) = {0.25,0.75,0.25,-0.25,-0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(18) = {0.25,0.25,0.75,-0.25,-0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(19) = {0.25,0.25,0.75,0.25,0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(20) = {0.25,0.25,0.75,0.25,-0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(21) = {0.25,0.25,0.75,-0.25,0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(22) = {0.75,0.25,0.75,0.25,-0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(23) = {0.75,0.25,0.75,-0.25,0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(24) = {0.75,0.25,0.75,-0.25,-0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(25) = {0.75,0.25,0.75,0.25,0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(26) = {0.75,0.75,0.75,0.25,0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(27) = {0.75,0.75,0.75,-0.25,-0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(28) = {0.75,0.75,0.75,-0.25,0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(29) = {0.75,0.75,0.75,0.25,-0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(30) = {0.25,0.75,0.75,-0.25,0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(31) = {0.25,0.75,0.75,0.25,-0.25,0.25,7.5981991889420897E-002,2*Pi};
Cylinder(32) = {0.25,0.75,0.75,0.25,0.25,-0.25,7.5981991889420897E-002,2*Pi};
Cylinder(33) = {0.25,0.75,0.75,-0.25,-0.25,-0.25,7.5981991889420897E-002,2*Pi};
BooleanUnion(34) = 
{Volume{2};Volume{3};Volume{4};Volume{5};Volume{6};Volume{7};Volume{8};Volume{9};Volume{10};Volume{11};Volume{12};Volume{13};Volume{14};Volume{15};Volume{16};Volume{17};Volume{18};Volume{19};Volume{20};Volume{21};Volume{22};Volume{23};Volume{24};Volume{25};Volume{26};Volume{27};Volume{28};Volume{29};Volume{30};Volume{31};Volume{32};Delete;
 }{ Volume{33}; Delete; };
BooleanIntersection(35)={ Volume{34}; Delete;}{Volume{1}; Delete;};
e=1e-6;
Rx=1;
Ry=1;
Rz=1;
bottomx() = Surface In BoundingBox{-e,-e,-e, e,1+e,1+e};
bottomy() = Surface In BoundingBox{-e,-e,-e, 1+e,e,1+e};
bottomz() = Surface In BoundingBox{-e,-e,-e, 1+e,1+e,e};
topx() = Surface In BoundingBox{1-e,-e,-e,1 +e,1+e,1+e};
topy() = Surface In BoundingBox{-e,1-e,-e, 1+e,1+e,1+e};
topz() = Surface In BoundingBox{-e,-e,1-e, 1+e,1+e,1+e};
Periodic Surface{topx()} = {bottomx()} Translate{1, 0, 0};
Periodic Surface{topy()} = {bottomy()} Translate{0,1 ,0};
Periodic Surface{topz()} = {bottomz()} Translate{0,0,1};
_______________________________________________
gmsh mailing list
gmsh@onelab.info
http://onelab.info/mailman/listinfo/gmsh

Reply via email to