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

cgeuzaine at uliege.be cgeuzaine at uliege.be
Fri Nov 23 18:37:23 CET 2018


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. <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



More information about the gmsh mailing list