[Gmsh] Problems with embedded crack

olivier jamond olivier.jamond at gmail.com
Mon Sep 27 15:40:04 CEST 2010


Hi, thank you for helping!

I have just tried your solution. It behaves better but there is still some problematic cases... Here is one:

Point(1) = {0.000000,0.000000,0};
Point(2) = {80.000000,0.000000,0};
Point(3) = {80.000000,28.000000,0};
Point(4) = {80.000000,40.000000,0};
Point(5) = {0.000000,40.000000,0};
Point(6) = {0.000000,12.000000,0};
Point(7) = {20.000000,28.000000,0};
Point(8) = {18.730028,32.325127,0};
Point(9) = {15.323320,35.277056,0};
Point(10) = {10.861481,35.918572,0};
Point(11) = {6.761114,34.045997,0};
Point(12) = {4.324056,30.253860,0};
Point(13) = {4.324056,25.746140,0};
Point(14) = {6.761114,21.954003,0};
Point(15) = {10.861481,20.081428,0};
Point(16) = {15.323320,20.722944,0};
Point(17) = {18.730028,23.674873,0};
Point(18) = {76.000000,12.000000,0};
Point(19) = {74.730028,16.325127,0};
Point(20) = {71.323320,19.277056,0};
Point(21) = {66.861481,19.918572,0};
Point(22) = {62.761114,18.045997,0};
Point(23) = {60.324056,14.253860,0};
Point(24) = {60.324056,9.746140,0};
Point(25) = {62.761114,5.954003,0};
Point(26) = {66.861481,4.081428,0};
Point(27) = {71.323320,4.722944,0};
Point(28) = {74.730028,7.674873,0};
Point(29) = {0.000000,12.000000,0};
Point(30) = {4.000000,12.000000,0};
Point(31) = {4.998921,12.046438,0};
Point(32) = {5.976553,12.256763,0};
Point(33) = {6.959056,12.443009,0};
Point(34) = {7.917472,12.728383,0};
Point(35) = {8.881660,12.993604,0};
Point(36) = {9.847070,13.254340,0};
Point(37) = {10.791857,13.582024,0};
Point(38) = {11.732240,13.922143,0};
Point(39) = {12.683953,14.229132,0};
Point(40) = {13.637635,14.529946,0};
Point(41) = {14.621307,14.709919,0};
Point(42) = {15.612789,14.840166,0};
Point(43) = {16.598456,15.008865,0};
Point(44) = {17.595157,15.090027,0};
Point(45) = {18.594970,15.109361,0};
Point(46) = {19.594568,15.081007,0};
Point(47) = {20.593809,15.042039,0};
Point(48) = {21.587684,14.931535,0};
Point(49) = {22.583660,14.841912,0};
Point(50) = {23.579780,14.753904,0};
Point(51) = {24.570180,14.615672,0};
Point(52) = {25.556851,14.452945,0};
Point(53) = {26.539498,14.267462,0};
Point(54) = {27.538870,14.302900,0};
Point(55) = {28.538787,14.315780,0};
Point(56) = {29.538208,14.281758,0};
Point(57) = {80.000000,28.000000,0};
Point(58) = {76.000000,28.000000,0};
Point(59) = {75.004838,27.901747,0};
Point(60) = {74.022794,27.713099,0};
Point(61) = {73.057275,27.452766,0};
Point(62) = {72.100706,27.161260,0};
Point(63) = {71.108506,27.036600,0};
Point(64) = {70.143832,26.773154,0};
Point(65) = {69.183306,26.494963,0};
Point(66) = {68.253875,26.125967,0};
Point(67) = {67.303473,25.814946,0};
Point(68) = {66.338865,25.551256,0};
Point(69) = {65.359379,25.349745,0};
Point(70) = {64.389750,25.105165,0};
Point(71) = {63.405932,24.925991,0};
Point(72) = {62.419237,24.763411,0};
Point(73) = {61.421902,24.690451,0};
Point(74) = {60.422787,24.732517,0};
Point(75) = {59.424031,24.782376,0};
Point(76) = {58.441564,24.968812,0};
Point(77) = {57.462291,25.171360,0};
Point(78) = {56.476254,25.337884,0};
Point(79) = {55.482089,25.445756,0};
Point(80) = {54.482485,25.473869,0};
Point(81) = {53.483407,25.430930,0};
Point(82) = {52.483763,25.404241,0};
Point(83) = {51.485758,25.467367,0};
Point(84) = {50.487634,25.528594,0};
Line(1) = {1,2};
Line(2) = {2,3};
Line(3) = {3,4};
Line(4) = {4,5};
Line(5) = {5,6};
Line(6) = {6,1};
Line(7) = {7,8};
Line(8) = {8,9};
Line(9) = {9,10};
Line(10) = {10,11};
Line(11) = {11,12};
Line(12) = {12,13};
Line(13) = {13,14};
Line(14) = {14,15};
Line(15) = {15,16};
Line(16) = {16,17};
Line(17) = {17,7};
Line(18) = {18,19};
Line(19) = {19,20};
Line(20) = {20,21};
Line(21) = {21,22};
Line(22) = {22,23};
Line(23) = {23,24};
Line(24) = {24,25};
Line(25) = {25,26};
Line(26) = {26,27};
Line(27) = {27,28};
Line(28) = {28,18};
Line(29) = {6,30};
Line(30) = {30,31};
Line(31) = {31,32};
Line(32) = {32,33};
Line(33) = {33,34};
Line(34) = {34,35};
Line(35) = {35,36};
Line(36) = {36,37};
Line(37) = {37,38};
Line(38) = {38,39};
Line(39) = {39,40};
Line(40) = {40,41};
Line(41) = {41,42};
Line(42) = {42,43};
Line(43) = {43,44};
Line(44) = {44,45};
Line(45) = {45,46};
Line(46) = {46,47};
Line(47) = {47,48};
Line(48) = {48,49};
Line(49) = {49,50};
Line(50) = {50,51};
Line(51) = {51,52};
Line(52) = {52,53};
Line(53) = {53,54};
Line(54) = {54,55};
Line(55) = {55,56};
Line(56) = {3,58};
Line(57) = {58,59};
Line(58) = {59,60};
Line(59) = {60,61};
Line(60) = {61,62};
Line(61) = {62,63};
Line(62) = {63,64};
Line(63) = {64,65};
Line(64) = {65,66};
Line(65) = {66,67};
Line(66) = {67,68};
Line(67) = {68,69};
Line(68) = {69,70};
Line(69) = {70,71};
Line(70) = {71,72};
Line(71) = {72,73};
Line(72) = {73,74};
Line(73) = {74,75};
Line(74) = {75,76};
Line(75) = {76,77};
Line(76) = {77,78};
Line(77) = {78,79};
Line(78) = {79,80};
Line(79) = {80,81};
Line(80) = {81,82};
Line(81) = {82,83};
Line(82) = {83,84};
Line Loop(83) = {1,2,3,4,5,6};
Line Loop(84) = {7,8,9,10,11,12,13,14,15,16,17};
Line Loop(85) = {18,19,20,21,22,23,24,25,26,27,28};
Plane Surface(86) = {83,-84,-85};
Line{29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82} In Surface{86};

Field[1]=MathEval;
Field[1].F ="min(0.25+( 1-Exp( -((x-29.5382)^2+(y-14.2818)^2)/((12.5)^2) ) )*(4.75),0.25+( 1-Exp( -((x-50.4876)^2+(y-25.5286)^2)/((12.5)^2) ) )*(4.75))";
Background Field = 1;

Thank you again for your help!

Olivier

>    The problem is that Line(81) cuts the Surfaces of your problem.
> You have to split in three. That is:
> Line(81) = {40,80};
> Line{81} In Surface{41};
> Line(82) = {1,40};
> Line(83) = {79,1};
>
> Regards,
> Ruth
>
>
> On 21/09/10 09:17, olivier jamond wrote:
> >/  Hi,
> />/
> />/  I am a PhD student and I am working with evolving cracks in
> />/  finite-elements modelization. I am dealing with a finite-elements
> />/  patch located in the vicinity of the crack tip. Its mesh has to be
> />/  regenerated at each step of the propagation in order to fit the crack.
> />/  So I generate automatically a .geo files and call gmsh at each step of
> />/  the propagation. Some time ago, I asked in this mailling list how to
> />/  introduce cracks with gmsh. I had been advised to use the command
> />/  "Line{x} In Surface{y}".
> />/
> />/  But in some cases, some elements do not respect this constraint and
> />/  cross the line (with the 3 2D mesh algorithms), which is really
> />/  problematic in my developments. Here is such a case:
> />/
> />/  Point(1) = {2.200000,5.000000,0};
> />/  Point(2) = {2.223310,4.711260,0};
> />/  Point(3) = {2.292634,4.429998,0};
> />/  Point(4) = {2.406179,4.163498,0};
> />/  Point(5) = {2.561003,3.918664,0};
> />/  Point(6) = {2.753096,3.701836,0};
> />/  Point(7) = {2.977483,3.518629,0};
> />/  Point(8) = {3.228353,3.373789,0};
> />/  Point(9) = {3.499209,3.271067,0};
> />/  Point(10) = {3.783034,3.213124,0};
> />/  Point(11) = {4.072479,3.201460,0};
> />/  Point(12) = {4.360046,3.236377,0};
> />/  Point(13) = {4.638289,3.316971,0};
> />/  Point(14) = {4.900000,3.441154,0};
> />/  Point(15) = {5.138402,3.605711,0};
> />/  Point(16) = {5.347319,3.806379,0};
> />/  Point(17) = {5.521342,4.037962,0};
> />/  Point(18) = {5.655963,4.294460,0};
> />/  Point(19) = {5.747695,4.569232,0};
> />/  Point(20) = {5.794163,4.855160,0};
> />/  Point(21) = {5.794163,5.144840,0};
> />/  Point(22) = {5.747695,5.430768,0};
> />/  Point(23) = {5.655963,5.705540,0};
> />/  Point(24) = {5.521342,5.962038,0};
> />/  Point(25) = {5.347319,6.193621,0};
> />/  Point(26) = {5.138402,6.394289,0};
> />/  Point(27) = {4.900000,6.558846,0};
> />/  Point(28) = {4.638289,6.683029,0};
> />/  Point(29) = {4.360046,6.763623,0};
> />/  Point(30) = {4.072479,6.798540,0};
> />/  Point(31) = {3.783034,6.786876,0};
> />/  Point(32) = {3.499209,6.728933,0};
> />/  Point(33) = {3.228353,6.626211,0};
> />/  Point(34) = {2.977483,6.481371,0};
> />/  Point(35) = {2.753096,6.298164,0};
> />/  Point(36) = {2.561003,6.081336,0};
> />/  Point(37) = {2.406179,5.836502,0};
> />/  Point(38) = {2.292634,5.570002,0};
> />/  Point(39) = {2.223310,5.288740,0};
> />/  Line(1) = {1,2};
> />/  Line(2) = {2,3};
> />/  Line(3) = {3,4};
> />/  Line(4) = {4,5};
> />/  Line(5) = {5,6};
> />/  Line(6) = {6,7};
> />/  Line(7) = {7,8};
> />/  Line(8) = {8,9};
> />/  Line(9) = {9,10};
> />/  Line(10) = {10,11};
> />/  Line(11) = {11,12};
> />/  Line(12) = {12,13};
> />/  Line(13) = {13,14};
> />/  Line(14) = {14,15};
> />/  Line(15) = {15,16};
> />/  Line(16) = {16,17};
> />/  Line(17) = {17,18};
> />/  Line(18) = {18,19};
> />/  Line(19) = {19,20};
> />/  Line(20) = {20,21};
> />/  Line(21) = {21,22};
> />/  Line(22) = {22,23};
> />/  Line(23) = {23,24};
> />/  Line(24) = {24,25};
> />/  Line(25) = {25,26};
> />/  Line(26) = {26,27};
> />/  Line(27) = {27,28};
> />/  Line(28) = {28,29};
> />/  Line(29) = {29,30};
> />/  Line(30) = {30,31};
> />/  Line(31) = {31,32};
> />/  Line(32) = {32,33};
> />/  Line(33) = {33,34};
> />/  Line(34) = {34,35};
> />/  Line(35) = {35,36};
> />/  Line(36) = {36,37};
> />/  Line(37) = {37,38};
> />/  Line(38) = {38,39};
> />/  Line(39) = {39,1};
> />/  Line Loop(40) =
> />/  {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39};
> />/  Plane Surface(41) = {40};
> />/  //Recombine Surface{41};
> />/  Point(40) = {2.600000,5.000000,0};
> />/  Point(41) = {2.618130,4.775424,0};
> />/  Point(42) = {2.672049,4.556665,0};
> />/  Point(43) = {2.760362,4.349388,0};
> />/  Point(44) = {2.880780,4.158961,0};
> />/  Point(45) = {3.030186,3.990317,0};
> />/  Point(46) = {3.204709,3.847823,0};
> />/  Point(47) = {3.399830,3.735169,0};
> />/  Point(48) = {3.610496,3.655275,0};
> />/  Point(49) = {3.831249,3.610208,0};
> />/  Point(50) = {4.056372,3.601135,0};
> />/  Point(51) = {4.280036,3.628293,0};
> />/  Point(52) = {4.496447,3.690977,0};
> />/  Point(53) = {4.700000,3.787564,0};
> />/  Point(54) = {4.885424,3.915553,0};
> />/  Point(55) = {5.047915,4.071628,0};
> />/  Point(56) = {5.183266,4.251748,0};
> />/  Point(57) = {5.287971,4.451247,0};
> />/  Point(58) = {5.359319,4.664958,0};
> />/  Point(59) = {5.395460,4.887347,0};
> />/  Point(60) = {5.395460,5.112653,0};
> />/  Point(61) = {5.359319,5.335042,0};
> />/  Point(62) = {5.287971,5.548753,0};
> />/  Point(63) = {5.183266,5.748252,0};
> />/  Point(64) = {5.047915,5.928372,0};
> />/  Point(65) = {4.885424,6.084447,0};
> />/  Point(66) = {4.700000,6.212436,0};
> />/  Point(67) = {4.496447,6.309023,0};
> />/  Point(68) = {4.280036,6.371707,0};
> />/  Point(69) = {4.056372,6.398865,0};
> />/  Point(70) = {3.831249,6.389792,0};
> />/  Point(71) = {3.610496,6.344725,0};
> />/  Point(72) = {3.399830,6.264831,0};
> />/  Point(73) = {3.204709,6.152177,0};
> />/  Point(74) = {3.030186,6.009683,0};
> />/  Point(75) = {2.880780,5.841039,0};
> />/  Point(76) = {2.760362,5.650612,0};
> />/  Point(77) = {2.672049,5.443335,0};
> />/  Point(78) = {2.618130,5.224576,0};
> />/  Line(42) = {40,41};
> />/  Line(43) = {41,42};
> />/  Line(44) = {42,43};
> />/  Line(45) = {43,44};
> />/  Line(46) = {44,45};
> />/  Line(47) = {45,46};
> />/  Line(48) = {46,47};
> />/  Line(49) = {47,48};
> />/  Line(50) = {48,49};
> />/  Line(51) = {49,50};
> />/  Line(52) = {50,51};
> />/  Line(53) = {51,52};
> />/  Line(54) = {52,53};
> />/  Line(55) = {53,54};
> />/  Line(56) = {54,55};
> />/  Line(57) = {55,56};
> />/  Line(58) = {56,57};
> />/  Line(59) = {57,58};
> />/  Line(60) = {58,59};
> />/  Line(61) = {59,60};
> />/  Line(62) = {60,61};
> />/  Line(63) = {61,62};
> />/  Line(64) = {62,63};
> />/  Line(65) = {63,64};
> />/  Line(66) = {64,65};
> />/  Line(67) = {65,66};
> />/  Line(68) = {66,67};
> />/  Line(69) = {67,68};
> />/  Line(70) = {68,69};
> />/  Line(71) = {69,70};
> />/  Line(72) = {70,71};
> />/  Line(73) = {71,72};
> />/  Line(74) = {72,73};
> />/  Line(75) = {73,74};
> />/  Line(76) = {74,75};
> />/  Line(77) = {75,76};
> />/  Line(78) = {76,77};
> />/  Line(79) = {77,78};
> />/  Line(80) = {78,40};
> />/  Line{42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80}
> />/  In Surface{41};
> />/  Point(79) = {-1.000000,5.000000,0};
> />/  Point(80) = {4.000000,5.000000,0};
> />/  Line(81) = {79,80};
> />/  Line{81} In Surface{41};
> />/
> />/  Field[1]=MathEval;
> />/  Field[1].F ="0.080000+( 1-Exp(
> />/  -((x-4.000000)^2+(y-5.000000)^2)/((1.600000)^2) ) )*(0.400000-0.080000)";
> />/  Background Field = 1;
> />/
> />/  Is there something wrong with my input file or any kind of bug (I am
> />/  using gmsh 2.4.2) ?
> />/
> />/  Thanks,
> />/
> />/  Best regards,
> />/
> />/  Olivier Jamond
> />/
> />/  _______________________________________________
> />/  gmsh mailing list
> />/  gmsh at geuz.org  <http://www.geuz.org/mailman/listinfo/gmsh>
> />/  http://www.geuz.org/mailman/listinfo/gmsh
> />/
> /
> -- 
> Dr. Ir. Ruth V. Sabariego
> University of Liege, Dept. of Electrical Engineering&   Computer Science,
> Applied&   Computational Electromagnetics (ACE),
> phone: +32-4-3663737 - fax: +32-4-3662910 -http://ace.montefiore.ulg.ac.be/