[Gmsh] Hybrid mesh and combine triangles in quadrilaterals

Fabian f.braennstroem at gmx.de
Sun Nov 9 18:25:18 CET 2008


Hi Christophe,

Christophe Geuzaine wrote:
> Fabian wrote:
>   
>> Hi Christophe,
>>
>> thanks a lot!
>>
>> Actually, it seems that I wasted a lot of time to create a hex mesh for 
>> a room airflow setup with a jet just in the middle of one wall.
>> I attached my approach. It looks like, that I could have done it a lot 
>> easier and with much less transfinite surfaces/volumnes using 'Extrude'. 
>> Though, do you think that it could be a problem to expand the inlet 
>> section just like in my attached approach using extrude? The middle 
>> section should expand, whereas the other part of the room would become 
>> smaller in the x-direction...
>>     
>
> Hi Fabian - Unfortunately no... But I don't think it would be too 
> complicated to add such a feature(?)
>
> In the meantime we've added an automatic way to compute the corners of 
> the transfinite interpolation for surfaces. (You can now just use 
> "Transfinite Surface{1,2,3,4};" if the surfaces 1...4 are simple 
> surfaces that only have 3 or 4 bounding vertices. For more complicated 
> surfaces you'll still need to specify the corners by hand. Idem for 
> volumes.). The patch should be available in tomorrow's nightly build.
>
>   
Nice feature! Are there any plans for the volume with simple ones? Would 
be great :-)

Regards!
Fabian
>   
>> Regards!
>> Fabian
>>
>>
>> Christophe Geuzaine wrote:
>>     
>>> Fabian wrote:
>>>  
>>>       
>>>> Hi Christophe,
>>>>
>>>> Christophe Geuzaine wrote:
>>>>    
>>>>         
>>>>> Fabian wrote:
>>>>>  
>>>>>      
>>>>>           
>>>>>> Hi,
>>>>>>
>>>>>> I just saw the geometry and wonder, if there is a chance to extrude 
>>>>>> the             
>>>>>>             
>>>>> sure: cf. attached file.
>>>>>         
>>>>>           
>>>> Oh, thanks! Am I able to declare any progression or bump to the 
>>>> extrude volume as well? Would be great.
>>>>
>>>>     
>>>>         
>>> You can specify the number of elements and the relative height of each
>>> extruded layer. For example:
>>>
>>> Extrude {0, 0, 1} {
>>>    Surface{9, 1};
>>>    Layers{{1,1,1,1,1,1}, {0.05,0.15,0.5,0.85,0.95,1}};
>>>    Recombine;
>>> }
>>>
>>> You could thus generate a progression with something like this:
>>>
>>> n = 6;
>>> r = 2;
>>> a = (r - 1) / (r^n - 1);
>>> one[0] = 1;
>>> layer[0] = a;
>>> For i In {1:n-1}
>>>    one[i] = 1;
>>>    layer[i] = layer[i-1] + a * r^i;
>>> EndFor
>>> Extrude {0, 0, 1} { Surface{9, 1}; Layers{one[], layer[]}; Recombine; }
>>>
>>>
>>>
>>>
>>>
>>>  
>>>       
>>>> Fabian
>>>>
>>>>
>>>>    
>>>>         
>>>>>  
>>>>>      
>>>>>           
>>>>>> surfaces and create a transfinite volume?
>>>>>> It's probably not working due to more than six surfaces building 
>>>>>> the volumen!? Would be nice, if this would work, though...
>>>>>>
>>>>>> Fabian
>>>>>>
>>>>>> Christophe Geuzaine wrote:
>>>>>>           
>>>>>>             
>>>>>>> Durufle Marc wrote:
>>>>>>>                 
>>>>>>>               
>>>>>>>> Hi,
>>>>>>>> I have two questions :
>>>>>>>>
>>>>>>>> 1- How do you create hybrid meshes in 2-D (quad-dominant with a 
>>>>>>>> few triangles) ?
>>>>>>>> Until now, I am using the Recombine option, but often I get 
>>>>>>>> non-convex quadrilaterals.
>>>>>>>> In the picture attached to this message, you can see that two 
>>>>>>>> elements (in black) are non-convex
>>>>>>>> quads and that's a problem ... So, often I change the 
>>>>>>>> characterisc length in the hope that I will have only
>>>>>>>> fine quadrilaterals. Is it possible to require that all 
>>>>>>>> quadrilaterals are convex ?
>>>>>>>>
>>>>>>>>                         
>>>>>>>>                 
>>>>>>> Yes. In your file you use
>>>>>>>
>>>>>>> Recombine Surface {1,s0[0]} = 100;
>>>>>>>
>>>>>>> which means that you allow quads with angles between 90-100 and 
>>>>>>> 90+100 degrees (which does not make sense).
>>>>>>>
>>>>>>> Use
>>>>>>>
>>>>>>> Recombine Surface {1,s0[0]} = 45;
>>>>>>>
>>>>>>> instead, which will allow angles between 90-45=45 and 90+45=135 
>>>>>>> degrees. (45 is the default if you don't specify anything, i.e., 
>>>>>>> with just "Recombine Surface {1,s0[0]}".)
>>>>>>>
>>>>>>> We are working on an automatic full quad algorithm, but it's not 
>>>>>>> ready yet. In the meantime for simple geometries you could also 
>>>>>>> use Transfinite meshes to generate a full quad mesh (see attached 
>>>>>>> file).
>>>>>>>
>>>>>>>
>>>>>>>                 
>>>>>>>               
>>>>>>>> 2- In 3-D, when I try "Recombine Volume", it doesn't work. So, 
>>>>>>>> how is it possible with gmsh
>>>>>>>> to create 3-D hexahedral-dominant meshes (with some tets, 
>>>>>>>> pyramids and wedges) ?
>>>>>>>>                         
>>>>>>>>                 
>>>>>>> Non. Your only choices for generating hex/prism/pyramid meshes are 
>>>>>>> extruded (see "Extrude Surface") or transfinite (see "Transfinite 
>>>>>>> Volume") grids.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>                 
>>>>>>>               
>>>>>>>> Thank you for your help.
>>>>>>>>
>>>>>>>> PS : I am using gmsh 2.24
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------ 
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> gmsh mailing list
>>>>>>>> gmsh at geuz.org
>>>>>>>> http://www.geuz.org/mailman/listinfo/gmsh
>>>>>>>>                         
>>>>>>>>                 
>>>>>>>   
>>>>>>> ------------------------------------------------------------------------ 
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> gmsh mailing list
>>>>>>> gmsh at geuz.org
>>>>>>> http://www.geuz.org/mailman/listinfo/gmsh
>>>>>>>                 
>>>>>>>               
>>>>>> _______________________________________________
>>>>>> gmsh mailing list
>>>>>> gmsh at geuz.org
>>>>>> http://www.geuz.org/mailman/listinfo/gmsh
>>>>>>
>>>>>>
>>>>>>             
>>>>>>             
>>>>>         
>>>>>           
>>>>     
>>>>         
>>>   
>>>       
>
>
>