[Gmsh] Problem with 2D mesh generation for a cracked domain

David Colignon David.Colignon at ulg.ac.be
Fri Apr 3 08:36:50 CEST 2009


Hi Olivier,

I don't see any problem here with your first solution... Which version of Gmsh are you using ?

You can also use

Line{3,4} In Surface{10};

Cheers,

Dave

-- 
David Colignon, Ph.D.
Collaborateur Logistique du F.R.S.-FNRS
CÉCI - Consortium des Équipements de Calcul Intensif
ACE - Applied & Computational Electromagnetics
Sart-Tilman B28
Université de Liège
4000 Liège - BELGIQUE
Tél: +32 (0)4 366 37 32
Fax: +32 (0)4 366 29 10
WWW:    http://hpc.montefiore.ulg.ac.be/
Agenda: http://www.google.com/calendar/embed?src=david.colignon%40gmail.com



olivier jamond wrote:
> Hi, thanks for your answer.
> 
> It is a good idea, I will do it this way, with an embedded curve.
> 
> But I have got trouble with this for a crack composed of more than a 
> single segment: The two following solution don't seem to work... I have 
> not found on the internet an help for the "In" feature so I may have 
> made mistakes.
> 
> (here the geometry module is okay but the mesh does not follow the 
> second embedded segment)
> Point(1) = {0.5, 0.5, 0};
> Point(2) = {0, 0.5, 0};
> Point(3) = {0.5, 1, 0};
> Point(4) = {0.5, 0, 0};
> Point(5) = {1, 0.5, 0};
> Point(6) = {0.8, 0.6, 0};
> Point(7) = {0.646, 0.784, 0};
> Line(1) = {2, 1};
> Line(2) = {1, 4};
> Line(3) = {1, 6};
> Line(4) = {6, 7};
> Circle(5) = {4, 1, 5};
> Circle(6) = {5, 1, 3};
> Circle(7) = {3, 1, 2};
> Line Loop(8) = {1, 2, 5, 6, 7};
> Line Loop(9) = {3,4};
> Plane Surface(10) = {8};
> Line{3} In Surface{10};
> Line{4} In Surface{10};
> 
> (here the geometry module is not okay)
> Point(1) = {0.5, 0.5, 0};
> Point(2) = {0, 0.5, 0};
> Point(3) = {0.5, 1, 0};
> Point(4) = {0.5, 0, 0};
> Point(5) = {1, 0.5, 0};
> Point(6) = {0.8, 0.6, 0};
> Point(7) = {0.646, 0.784, 0};
> Line(1) = {2, 1};
> Line(2) = {1, 4};
> Line(3) = {1, 6};
> Line(4) = {6, 7};
> Circle(5) = {4, 1, 5};
> Circle(6) = {5, 1, 3};
> Circle(7) = {3, 1, 2};
> Line Loop(8) = {1, 2, 5, 6, 7};
> Line Loop(9) = {3,4};
> Plane Surface(10) = {8};
> Line{9} In Surface{10};  // or Line Loop{9} In Surface{10};
> 
> 
> 
> Christophe Geuzaine wrote:
>> olivier jamond wrote:
>>> Hello,
>>>
>>> I am a french phd student and I am working on multiscale simulations 
>>> of propagation of critical areas within the Arlequin framework 
>>> (www.mssmat.ecp.fr/IMG/pdf/BenDhia.pdf). I use Gmsh to generate 
>>> meshes at each step of the propagation of cracked domains. I'am 
>>> working with 2D closed crack, so I would like to have duplicated 
>>> points in the .geo file. So I have unchecked the option
>>> "remove duplicated entities in GEO models", but it seams to exists a 
>>> feature which deals with the intersection of the 1D mesh of the edges 
>>> ("There are 4 intersections in the 1d mesh/Gmsh splits those edges 
>>> and tries again"). Is there any way to disable this function, or to 
>>> allow duplicated points or self-crossed edge?
>>>
>> Hi Olivier - No... Maybe a better way to do this would be to actually 
>> declare your crack as an embedded curve in your surface. This way you 
>> still have perfectly nice manifolds and the cracks are only 
>> incorporated at the meshing stage.
>>
>> Here's an example:
>>
>> Point(1) = {0.5, 0.5, 0};
>> Point(2) = {0, 0.5, 0};
>> Point(3) = {0.5, 1, 0};
>> Point(4) = {0.5, 0, 0};
>> Point(5) = {1, 0.5, 0};
>> Point(6) = {0.8, 0.6, 0};
>> Line(1) = {2, 1};
>> Line(2) = {1, 4};
>> Line(3) = {1, 6};
>> Circle(4) = {4, 1, 5};
>> Circle(5) = {5, 1, 3};
>> Circle(6) = {3, 1, 2};
>> Line Loop(7) = {5, 6, 1, 2, 4};
>> Plane Surface(8) = {7};
>> Line{3} In Surface{8};
>>
>> Of course with this approach you don't get duplicate vertices. Do you 
>> really need the duplication?
>>
>> (If you do I guess you could quite easily generate the duplicates 
>> after reading the mesh file, e.g. by declaring 2 physical curves with 
>> opposite orientations on the crack and then checking which triangle 
>> shares which edge?)
>>
>>
>>
>>> A  problematic .geo file is attached.
>>>
>>> Thanks a lot,
>>>
>>> Best regards,
>>>
>>> Olivier Jamond
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> 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