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