Dear Martien, Indeed, the more advanced periodic meshing features introduced in Gmsh 4 currently require the transformation to be specified explicitly for high order meshes.
@Koen - would it be possible to implement a fallback (that just assumes that the parametrizations are compatible, without checking) in your new algo, to restore Gmsh 3 compatibility for simple geometries? Christophe > On 23 Nov 2018, at 18:31, Hulsen, M.A. <[email protected]> wrote: > > Hi, > > The following geo file is not working correctly with gmsh -3 -order 2 (I am > using 4.0.5) whereas it used to work in gmsh3.0.6. > > ox = 0.0; > oy = 0.0; > oz = 0.0; > lx = 4.0; > ly = 4.0; > lz = 4.0; > dx_box = 0.6; > Point(1) = {ox, oy, oz, dx_box}; > Point(2) = {ox+lx, oy, oz, dx_box}; > Point(3) = {ox+lx, oy, oz+lz, dx_box}; > Point(4) = {ox, oy, oz+lz, dx_box}; > Point(5) = {ox, oy+ly, oz, dx_box}; > Point(6) = {ox+lx, oy+ly, oz, dx_box}; > Point(7) = {ox+lx, oy+ly, oz+lz, dx_box}; > Point(8) = {ox, oy+ly, oz+lz, dx_box}; > For i In {1:8} > Physical Point(i) = i; > EndFor > Line(1) = {1, 2}; > Line(2) = {2, 3}; > Line(3) = {3, 4}; > Line(4) = {4, 1}; > Line(5) = {3, 7}; > Line(6) = {7, 6}; > Line(7) = {6, 2}; > Line(8) = {1, 5}; > Line(9) = {5, 8}; > Line(10) = {8, 4}; > Line(11) = {8, 7}; > Line(12) = {6, 5}; > Line Loop(1) = {1, 2, 3, 4}; > Line Loop(2) = {2, 5, 6, 7}; > Line Loop(3) = {12, 9, 11, 6}; > Line Loop(4) = {4, 8, 9, 10}; > Line Loop(5) = {3, -10, 11, -5}; > Line Loop(6) = {1, -7, 12, -8}; > For i In {1:6} > Plane Surface(i) = {i}; > Physical Surface(i) = i; > EndFor > Periodic Surface 2{2,5,6,7} = 4{-4,-10,-9,-8}; > Periodic Surface 6{1,-7,12,-8} = 5{-3,5,-11,10}; > Periodic Surface 3{12,9,11,6}= 1{-1,-4,-3,-2}; > surf_loop[0] = newsl; > Surface Loop(surf_loop[0]) = {1, 2, 3, 4, 5, 6}; > Volume(1) = {surf_loop[]} ; > Physical Volume(1) = {1}; > > Replacing the line loops with: > > Line Loop(1) = {-1,-4,-3,-2}; > Line Loop(2) = {2, 5, 6, 7}; > Line Loop(3) = {12, 9, 11, 6}; > Line Loop(4) = {-4,-10,-9,-8}; > Line Loop(5) = {-3,5,-11,10}; > Line Loop(6) = {1, -7, 12, -8}; > > and the periodic surfaces with: > > Periodic Surface {2} = {4} Translate{lx,0,0}; > Periodic Surface {3} = {1} Translate{0,ly,0}; > Periodic Surface {5} = {6} Translate{0,0,lz}; > > works both in gmsh3 and gmsh4. So I do have a workaround, but > incompatibilities between 3 and 4 can lead to users avoiding the new version. > > Martien Hulsen > > > _______________________________________________ > gmsh mailing list > [email protected] > http://onelab.info/mailman/listinfo/gmsh _______________________________________________ gmsh mailing list [email protected] http://onelab.info/mailman/listinfo/gmsh
