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

olivier jamond olivier.jamond at gmail.com
Thu Apr 2 14:36:35 CEST 2009


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
>
>