> On 24 Nov 2018, at 16:56, Christophe Geuzaine <[email protected]> wrote: > > > >> On 23 Nov 2018, at 18:37, [email protected] wrote: >> >> 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? > > I have made the new optimization pass for high-order perdiodic meshes > optional - using the same option that we already use for optimizing > non-periodic high-order meshes. This should provide better backward > compatibility with Gmsh 3. >
There's now an independent option to control the correction of high-order periodic meshes (Mesh.HighOrderPeriodic). With this all our older test-cases behave the same by default with Gmsh 3 and Gmsh 4. Christophe > Can you test the latest snapshot and let us know? > > Christophe > > >> >> 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 > > — > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science > http://www.montefiore.ulg.ac.be/~geuzaine > > Free software: http://gmsh.info | http://getdp.info | http://onelab.info — Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine Free software: http://gmsh.info | http://getdp.info | http://onelab.info _______________________________________________ gmsh mailing list [email protected] http://onelab.info/mailman/listinfo/gmsh
