[Gmsh] Periodic surfaces not working for second-order elements in gmsh4

Hulsen, M.A. M.A.Hulsen at tue.nl
Mon Nov 26 09:54:17 CET 2018


Compatibility between Gmsh 3 and 4 for version 4.0.6 is indeed much improved. Thanks!

Martien Hulsen

> On 25 Nov 2018, at 09:09, Christophe Geuzaine <cgeuzaine at uliege.be> wrote:
> 
> 
> 
>> On 24 Nov 2018, at 16:56, Christophe Geuzaine <cgeuzaine at uliege.be> wrote:
>> 
>> 
>> 
>>> On 23 Nov 2018, at 18:37, cgeuzaine at uliege.be 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. <M.A.Hulsen at tue.nl> 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
>>>> gmsh at onelab.info
>>>> 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
> 



More information about the gmsh mailing list