[Gmsh] Swaping the orientation of the triangles in Transfinite Surfaces (with Alternate)

Christophe Geuzaine cgeuzaine at ulg.ac.be
Tue Jul 9 08:03:34 CEST 2013


On 16 May 2013, at 18:40, Jose Paulo Moitinho de Almeida <moitinho at civil.ist.utl.pt> wrote:

> 
> I wanted to create a triangular Transfinite Surface mesh , but was not able to 
> control the position of the initial triangle created by gmsh (the corners 
> always have only element, as in 1.png). 
> 
> After looking at the code I swapped the logic in Mesh/meshGFaceTransfinite.cpp
> from 
>                ((i % 2 == 0 && j % 2 == 1) ||
>                 (i % 2 == 1 && j % 2 == 0)))){ 
> to
>                ((i % 2 == 0 && j % 2 == 0) ||
>                  (i % 2 == 1 && j % 2 == 1)))){
> and managed to obtain the result that I wanted (in 2.png).
> 
> Is there an easier way to achieve this? 
> 
> If there isn't, it would not be too complicated to include an additional 
> option to Transfinite Surface, so that instead of "Left, Right and Alternate" 
> we could opt between  "Left, Right AlternateLeft and AlternateRight", with 
> Alternate still legal and equivalent to the current option.
> 
> I should be able to propose a patch (not now...), but before I start opinions 
> are welcome.
> 


Hi Jose - That's a good idea: send a patch and I will merge it.


> Regards
> 
> ZP
> 
> PS: I also considered the idea of adding an additional option, which would 
> create a mesh where both diagonals are always inserted, so that using 
> 
> Transfinite Line{1,2,3,4} = 2;
> Transfinite Surface {6} = {1, 2, 3, 4} "OtherNewOption";
> 
> in the attached file, would result in 3.png.
> 
> I understand that an additional set of vertices is needed, and this is not so 
> immediate. Would it be too complicated to include them in the code?
> <square.geo><1.png><2.png><3.png>_______________________________________________
> 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