[Gmsh] Unsolved problem! mesh cannot adapt from fine to coarse in a simple 2D geo

Christophe Geuzaine cgeuzaine at ulg.ac.be
Fri Apr 24 07:58:22 CEST 2015


> On 23 Apr 2015, at 23:43, ryan kim <realnumeric at gmail.com> wrote:
> 
> Hi German and gmsh team,
> 
> Thanks for the discussion.
> This manual point adding can play the trick for this problem but it is "not a systematic" way to apply. For a general irregular geometry, to automatically add this point or even a number of points in the empty area is a problem! I expect gmsh has the feature to make this fine to coarse transition. However, I dig deep into gmsh literature and did not find this feature to have fine mesh ONLY around the small geometry. 
> 
> I hope gmsh team can confirm this with me, or advise someway to achieve this other than the trick to insert point in empty area manually.
> 

For general cases you can use a Field, to control the mesh depending on the distance to geometrical entities. See tutorial/t10.geo.

> Thanks,
> Kim
> 
> 2015-04-23 4:12 GMT-07:00 Theler German Guillermo <gtheler at cites-gss.com>:
> These three lines at the end of your geo file will do the trick:
> 
> Plane Surface(22) = {1, 2, 3, 4, 5};
> Point(23) = {0, 0, 0, lc};
> Point {23} In Surface {22};
> 
> 
> -- 
> Germán Theler :: CTO Eng & IT
> 
> CITES – Centro de Innovación Tecnológica Empresarial y Social S.A.
> Dirección General Sancor Seguros
> Grupo Sancor Seguros
> tel +54 3493 –428 500 – Int.: 3374
> gtheler at cites-gss.com
> www.cites-gss.com - www.gruposancorseguros.com
> 
> 
> 
> On Wed, 2015-04-22 at 01:38 -0700, ryan kim wrote:
>> I have used gmsh in my application for a while. However, one kind of simple and standard geometry still makes bad mesh result. The geometry is just a rectangular plane with four small holes at each corner like this:
>> -------------------------------------
>> |                                    |
>> |                                    |
>> |     __                    __    |
>> |     |  |                    |   |   |
>> |     ---                     ----   |
>> |                                    |
>> |                                    |
>> |     __                     __   |
>> |     |   |                    |   |  |
>> |     ----                     ----  |
>> |                                    |
>> |                                    |
>> |____________________ |
>> 
>> 
>> Surprisingly, gmsh generated fine mesh not only around the four holes, but also in the area between the holes. Therefore, the entire mesh size is huge. The ideal mesh should only have fine mesh around the holes at corner since coarse mesh is enough for the center area.
>> 
>> 
>> I read the history of the mailing list and find some discussion about this problem. However, no good solution has been provided. Someone suggested using
>> Mesh.CharacteristicLengthExtendFromBoundary= 0;
>> 
>> However, it indeed generated coarse mesh at the center but the triangle quality is bad with very sharp angle. 
>> 
>> Using fields: "Attractor", and "Threshold" as in tutorial t10 does not work as well.
>> 
>> 
>> 
>> Here is the script of the simple test case as described above. I also attached the bad mesh result as I mentioned. Hope someone can discuss this classic problem with me.
>> 
>> lc = 10;
>> lc1 = 1;
>> Point(1) = {-100, -100, 0, lc};
>> Point(2) = {100, -100,  0, lc} ;
>> Point(3) = {100, 100, 0, lc} ;
>> Point(4) = {-100,  100, 0, lc} ;
>> Line(1) = {1,2} ;
>> Line(2) = {3,2} ;
>> Line(3) = {3,4} ;
>> Line(4) = {4,1} ;
>> Line Loop(1) = {4,1,-2,3};
>>  
>> Point(5) = {49, 49, 0, lc1};
>> Point(6) = {49, 51,  0, lc1} ;
>> Point(7) = {51, 51, 0, lc1} ;
>> Point(8) = {51, 49, 0, lc1} ;
>> Line(6) = {5,6} ;
>> Line(7) = {7,6} ;
>> Line(8) = {7,8} ;
>> Line(9) = {8,5} ;
>> Line Loop(2) = {9,6,-7,8}; 
>> 
>> Point(11) = {49, -49, 0, lc1};
>> Point(12) = {49, -51, 0, lc1};
>> Point(13) = {51, -51, 0, lc1};
>> Point(14) = {51, -49, 0, lc1};
>> Line(10) = {11,12} ;
>> Line(11) = {13,12} ;
>> Line(12) = {13,14} ;
>> Line(13) = {14,11} ;
>> Line Loop(3) = {13,10,-11,12}; 
>> 
>> Point(15) = {-49, 49, 0, lc1};
>> Point(16) = {-49, 51,  0, lc1} ;
>> Point(17) = {-51, 51, 0, lc1} ;
>> Point(18) = {-51, 49, 0, lc1} ;
>> Line(14) = {15,16} ;
>> Line(15) = {17,16} ;
>> Line(16) = {17,18} ;
>> Line(17) = {18,15} ;
>> Line Loop(4) = {17,14,-15,16};
>> 
>> Point(19) = {-49, -49, 0, lc1};
>> Point(20) = {-49, -51,  0, lc1} ;
>> Point(21) = {-51, -51, 0, lc1} ;
>> Point(22) = {-51, -49, 0, lc1} ;
>> Line(18) = {19,20} ;
>> Line(19) = {21,20} ;
>> Line(20) = {21,22} ;
>> Line(21) = {22,19} ;
>> Line Loop(5) = {21,18,-19,20};
>> 
>> Plane Surface(1) = {1, 2, 3, 4, 5} ;
>> //Mesh.CharacteristicLengthExtendFromBoundary= 0;
>> 
>> 
>> 
>> Thanks,
>> 
>> Kim
>> 
>> 
>> 
>> _______________________________________________
>> gmsh mailing list
>> 
>> gmsh at geuz.org
>> http://www.geuz.org/mailman/listinfo/gmsh
> Imprima este mensaje sólo si es absolutamente necesario.
> Para imprimir, en lo posible utilice el papel de ambos lados.
> El Grupo Sancor Seguros se compromete con el cuidado del medioambiente.
> 
> 
> ************AVISO DE CONFIDENCIALIDAD************
> 
> El Grupo Sancor Seguros comunica que:
> 
> Este mensaje y todos los archivos adjuntos a el son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por ley. Si usted recibió este mensaje erróneamente, por favor notifíquenos respondiendo al remitente, borre el mensaje original y destruya las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje. La publicación, uso, copia o impresión total o parcial de este mensaje o documentos adjuntos queda prohibida.
> 
> Disposición DNDP 10-2008. El titular de los datos personales tiene la facultad de ejercer el derecho de acceso a los mismos en forma gratuita a intervalos no inferiores a seis meses, salvo que acredite un interés legítimo al efecto conforme lo establecido en el artículo 14, inciso 3 de la Ley 25.326. La DIRECCIÓN NACIONAL DE PROTECCIÓN DE DATOS PERSONALES, Organo de Control de la Ley 25.326, tiene la atribución de atender las denuncias y reclamos que se interpongan con relación al incumplimiento de las normas sobre la protección de datos personales.
> 
> 
> _______________________________________________
> 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