[Gmsh] Controlling the tetrahedra orientation in an extruded 3D mesh
Christophe Geuzaine
cgeuzaine at ulg.ac.be
Thu Apr 23 21:54:37 CEST 2015
> On 14 Apr 2015, at 10:24, marco restelli <mrestelli at gmail.com> wrote:
>
> Dear all,
> I am unable to control the tetrahedra orientation in an extruded 3D
> mesh.
>
> More in details: consider the following .geo file. If I set
> "Transfinite Right" or "Left" for the surfaces 18 and 26, which are
> two of the sides generated during the surface extrusion, this
> orientation is followed by the 2D grids, but seems to be ignored by
> the 3D grid, which has a rather irregular pattern. Is there a way to
> control the 3D grid orientations?
>
Unfortunately, no: there’s no way to guarantee the orientation in a general geometrical configuration. The seemingly random orientations you observe are die to swaps that are performed to recover the boundary mesh.
> In fact, for me it would be enough to ensure that the 3D grid is
> periodic on the two faces 18 and 26, regardless of the specific
> orientation.
>
> I am using gmsh 2.8.5
>
> Thank you!
>
> Marco
>
>
>
> // Create a line directed along the x axis
>
> P1 = newp; Point(P1) = {0.0,0.0,0.0,0.0};
> P2 = newp; Point(P2) = {3.0,0.0,0.0,0.0};
>
> L1 = newreg; Line(L1) = {P1,P2};
> Transfinite Line{L1} = 8;
>
>
> // Extrude the line along the y axis
>
> levs = { 0.1 , 0.3 , 0.6 , 1.0 };
> ones = { 1 , 1 , 1 , 1 };
>
> pp = Extrude{0.0,2.0,0.0}{
> Line{L1}; Layers{ones[],levs[]};
> };
> S1 = pp[1]; // newly created surface
>
>
> // Extrude the resulting surface along the z axis
> pp[] = Extrude{0,0,1}{ Surface{S1}; Layers{3}; };
>
>
> // Set the orientation on the two surfaces 18 and 26
> Transfinite Surface{18} Right; // works for 2D grid, but not for 3D grid
> Transfinite Surface{26} Left;
>
> _______________________________________________
> gmsh mailing list
> gmsh at geuz.org
> http://www.geuz.org/mailman/listinfo/gmsh
--
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science
http://www.montefiore.ulg.ac.be/~geuzaine