[Gmsh] 3D Meshing of Rotated and Translated Surfaces/Volumes

David Colignon David.Colignon at ulg.ac.be
Tue Dec 20 09:31:13 CET 2005


Hi,

I got the same result as you. If you look carefully at the output of 
gmsh, you will see two errors messages like

Error   : Missing edge without any intersection (59,-18,-44.25) 
(59,-18,-35.4)
Error   : Missing edge without any intersection (59,-18,-44.25) 
(59,-18,-35.4)

and some warning messages like

Warning : *Unrecoverable* face (0 <--> 1=2*(3-1)-3)

Gmsh has some problems to mesh the 4 concerned volumes.

You should try different 2D and/or 3D algorithms and also try to 
slightly change the characteristic length of some points ...

Cheers,

Dave

David Colignon, Ph.D.
ELAP - Service d'Electricité Appliquée
Institut Montefiore B28
Université de Liège
4000 Liège - BELGIQUE
Tél: +32 (0)4 366 37 32
Fax: +32 (0)4 366 29 10
http://elap.montefiore.ulg.ac.be


Tirado, Cesar wrote:
> To Whom It May Concern:
> 
>  
> 
> I would like to ask you what am I doing wrong when creating a 3D Mesh.  
> I am attaching the text file that I use for input to GMSH.  Once, read 
> the file by GMSH, a model can be seen consisting on three sections, with 
> three layers (volumes) each.  This model is created as follows: a first 
> section is created, located on the left hand side, and then is 
> replicated twice: the middle one is the first section rotated, the right 
> hand side one is the first section translated to the point where it lies 
> next to the middle one.  When meshing the whole model, the mesh 
> generator creates a 3D mesh only for the first section (the left hand 
> side one), as well as for the top layer of the other two sections.  
> However, in the other layers of these sections, only a 2D mesh is 
> generated.  I’ve created further sections (a third and a fourth, a fifth 
> and a sixth, always in pairs) and setting them next to the second and 
> third sections (to the right of the last one), by translating the second 
> and third sections (not the first one); and I find that the 3D mesh is 
> performed ok on the newly created sections, while leaving the second and 
> third with a 2D mesh only.   I wonder if there is a problem in the 
> compatibility of the sharing faces of the volumes.  Why is that so?  Thanks…
> 
>  
> 
> Cesar Tirado
> 
> Center for Transportation Infrastructure Systems
> 
> University of Texas at El Paso
> 
> 
> ------------------------------------------------------------------------
> 
> Point(1) = {      0.00000000,      0.00000000,      0.00000000,      0.76000000};
> Point(2) = {      5.90000000,      0.00000000,      0.00000000,      0.98254490};
> Point(3) = {     11.80000000,      0.00000000,      0.00000000,      1.38945204};
> Point(4) = {     17.70000000,      0.00000000,      0.00000000,      1.91637723};
> Point(5) = {     23.60000000,      0.00000000,      0.00000000,      2.54035922};
> Point(6) = {     29.50000000,      0.00000000,      0.00000000,      3.24812765};
> Point(7) = {     29.50000000,      0.00000000,     -8.85000000,      3.41425431};
> Point(8) = {     29.50000000,      0.00000000,    -17.70000000,      3.89347936};
> Point(9) = {     29.50000000,      0.00000000,    -26.55000000,      4.64267991};
> Point(10) = {     29.50000000,      0.00000000,    -35.40000000,      5.61752480};
> Point(11) = {     29.50000000,      0.00000000,    -44.25000000,      6.78261606};
> Point(12) = {     23.60000000,      0.00000000,    -44.25000000,      6.27500664};
> Point(13) = {     17.70000000,      0.00000000,    -44.25000000,      5.86920158};
> Point(14) = {     11.80000000,      0.00000000,    -44.25000000,      5.57266286};
> Point(15) = {      5.90000000,      0.00000000,    -44.25000000,      5.39179435};
> Point(16) = {      0.00000000,      0.00000000,    -44.25000000,      5.33098237};
> Point(17) = {      0.00000000,      0.00000000,    -35.40000000,      4.03072873};
> Point(18) = {      0.00000000,      0.00000000,    -26.55000000,      2.88440063};
> Point(19) = {      0.00000000,      0.00000000,    -17.70000000,      1.91637723};
> Point(20) = {      0.00000000,      0.00000000,     -8.85000000,      1.16884109};
> Point(21) = {      0.00000000,     -6.00000000,      0.00000000,      0.98822673};
> Point(22) = {      5.90000000,     -6.00000000,      0.00000000,      1.13906229};
> Point(23) = {     11.80000000,     -6.00000000,      0.00000000,      1.50793622};
> Point(24) = {     17.70000000,     -6.00000000,      0.00000000,      2.01466923};
> Point(25) = {     23.60000000,     -6.00000000,      0.00000000,      2.62598729};
> Point(26) = {     29.50000000,     -6.00000000,      0.00000000,      3.32493077};
> Point(27) = {     29.50000000,     -6.00000000,     -8.85000000,      3.48945167};
> Point(28) = {     29.50000000,     -6.00000000,    -17.70000000,      3.96469476};
> Point(29) = {     29.50000000,     -6.00000000,    -26.55000000,      4.70904534};
> Point(30) = {     29.50000000,     -6.00000000,    -35.40000000,      5.67916018};
> Point(31) = {     29.50000000,     -6.00000000,    -44.25000000,      6.84001894};
> Point(32) = {     23.60000000,     -6.00000000,    -44.25000000,      6.33410763};
> Point(33) = {     17.70000000,     -6.00000000,    -44.25000000,      5.92981609};
> Point(34) = {     11.80000000,     -6.00000000,    -44.25000000,      5.63448754};
> Point(35) = {      5.90000000,     -6.00000000,    -44.25000000,      5.45440657};
> Point(36) = {      0.00000000,     -6.00000000,    -44.25000000,      5.39386853};
> Point(37) = {      0.00000000,     -6.00000000,    -35.40000000,      4.10094826};
> Point(38) = {      0.00000000,     -6.00000000,    -26.55000000,      2.96526319};
> Point(39) = {      0.00000000,     -6.00000000,    -17.70000000,      2.01466923};
> Point(40) = {      0.00000000,     -6.00000000,     -8.85000000,      1.30292322};
> Point(41) = {      0.00000000,    -18.00000000,      0.00000000,      1.94590088};
> Point(42) = {      5.90000000,    -18.00000000,      0.00000000,      2.04023011};
> Point(43) = {     11.80000000,    -18.00000000,      0.00000000,      2.31057998};
> Point(44) = {     17.70000000,    -18.00000000,      0.00000000,      2.72966542};
> Point(45) = {     23.60000000,    -18.00000000,      0.00000000,      3.27105818};
> Point(46) = {     29.50000000,    -18.00000000,      0.00000000,      3.91472183};
> Point(47) = {     29.50000000,    -18.00000000,     -8.85000000,      4.06865537};
> Point(48) = {     29.50000000,    -18.00000000,    -17.70000000,      4.51700062};
> Point(49) = {     29.50000000,    -18.00000000,    -26.55000000,      5.22744807};
> Point(50) = {     29.50000000,    -18.00000000,    -35.40000000,      6.16343188};
> Point(51) = {     29.50000000,    -18.00000000,    -44.25000000,      7.29298380};
> Point(52) = {     23.60000000,    -18.00000000,    -44.25000000,      6.79971240};
> Point(53) = {     17.70000000,    -18.00000000,    -44.25000000,      6.40659835};
> Point(54) = {     11.80000000,    -18.00000000,    -44.25000000,      6.12014356};
> Point(55) = {      5.90000000,    -18.00000000,    -44.25000000,      5.94580562};
> Point(56) = {      0.00000000,    -18.00000000,    -44.25000000,      5.88725933};
> Point(57) = {      0.00000000,    -18.00000000,    -35.40000000,      4.64639062};
> Point(58) = {      0.00000000,    -18.00000000,    -26.55000000,      3.58111182};
> Point(59) = {      0.00000000,    -18.00000000,    -17.70000000,      2.72966542};
> Point(60) = {      0.00000000,    -18.00000000,     -8.85000000,      2.15498769};
> Point(61) = {      0.00000000,    -58.00000000,      0.00000000,      7.61932884};
> Point(62) = {      5.90000000,    -58.00000000,      0.00000000,      7.67249450};
> Point(63) = {     11.80000000,    -58.00000000,      0.00000000,      7.83118259};
> Point(64) = {     17.70000000,    -58.00000000,      0.00000000,      8.09306516};
> Point(65) = {     23.60000000,    -58.00000000,      0.00000000,      8.45456269};
> Point(66) = {     29.50000000,    -58.00000000,      0.00000000,      8.91120856};
> Point(67) = {     29.50000000,    -58.00000000,     -8.85000000,      9.02403105};
> Point(68) = {     29.50000000,    -58.00000000,    -17.70000000,      9.35947680};
> Point(69) = {     29.50000000,    -58.00000000,    -26.55000000,      9.90911233};
> Point(70) = {     29.50000000,    -58.00000000,    -35.40000000,     10.66068381};
> Point(71) = {     29.50000000,    -58.00000000,    -44.25000000,     11.60000000};
> Point(72) = {     23.60000000,    -58.00000000,    -44.25000000,     11.18601811};
> Point(73) = {     17.70000000,    -58.00000000,    -44.25000000,     10.86021105};
> Point(74) = {     11.80000000,    -58.00000000,    -44.25000000,     10.62533433};
> Point(75) = {      5.90000000,    -58.00000000,    -44.25000000,     10.48351113};
> Point(76) = {      0.00000000,    -58.00000000,    -44.25000000,     10.43608358};
> Point(77) = {      0.00000000,    -58.00000000,    -35.40000000,      9.45802851};
> Point(78) = {      0.00000000,    -58.00000000,    -26.55000000,      8.67129531};
> Point(79) = {      0.00000000,    -58.00000000,    -17.70000000,      8.09306516};
> Point(80) = {      0.00000000,    -58.00000000,     -8.85000000,      7.73876059};
> 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,  1};
> 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, 40};
> Line(40) = { 40, 21};
> 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) = { 56, 57};
> Line(57) = { 57, 58};
> Line(58) = { 58, 59};
> Line(59) = { 59, 60};
> Line(60) = { 60, 41};
> Line(61) = { 61, 62};
> Line(62) = { 62, 63};
> Line(63) = { 63, 64};
> Line(64) = { 64, 65};
> Line(65) = { 65, 66};
> Line(66) = { 66, 67};
> Line(67) = { 67, 68};
> Line(68) = { 68, 69};
> Line(69) = { 69, 70};
> Line(70) = { 70, 71};
> Line(71) = { 71, 72};
> Line(72) = { 72, 73};
> Line(73) = { 73, 74};
> Line(74) = { 74, 75};
> Line(75) = { 75, 76};
> Line(76) = { 76, 77};
> Line(77) = { 77, 78};
> Line(78) = { 78, 79};
> Line(79) = { 79, 80};
> Line(80) = { 80, 61};
> Line(81) = {  1, 21};
> Line(82) = {  6, 26};
> Line(83) = { 11, 31};
> Line(84) = { 16, 36};
> Line(85) = { 21, 41};
> Line(86) = { 26, 46};
> Line(87) = { 31, 51};
> Line(88) = { 36, 56};
> Line(89) = { 41, 61};
> Line(90) = { 46, 66};
> Line(91) = { 51, 71};
> Line(92) = { 56, 76};
> Line Loop(1) = {     1,     2,     3,     4,     5,     6,     7,     8,     9,    10,    11,    12,    13,    14,    15,    16,    17,    18,    19,    20};
> Plane Surface(1) = {  1};
> S111[] = Rotate{ {0,0,1},{ 2.950000e+001, 0,0},Pi} {Duplicata{Surface{  1};}};
> S121[] = Translate { 59,0,0} {Duplicata{Surface{   1};}};
> Line Loop(2) = {    21,    22,    23,    24,    25,    26,    27,    28,    29,    30,    31,    32,    33,    34,    35,    36,    37,    38,    39,    40};
> Plane Surface(2) = {  2};
> S112[] = Rotate{ {0,0,1},{ 2.950000e+001,-6,0},Pi} {Duplicata{Surface{  2};}};
> S122[] = Translate { 59,0,0} {Duplicata{Surface{   2};}};
> Line Loop(3) = {    41,    42,    43,    44,    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,    55,    56,    57,    58,    59,    60};
> Plane Surface(3) = {  3};
> S113[] = Rotate{ {0,0,1},{ 2.950000e+001,-18,0},Pi} {Duplicata{Surface{  3};}};
> S123[] = Translate { 59,0,0} {Duplicata{Surface{   3};}};
> Line Loop(4) = {    61,    62,    63,    64,    65,    66,    67,    68,    69,    70,    71,    72,    73,    74,    75,    76,    77,    78,    79,    80};
> Plane Surface(4) = {  4};
> S114[] = Rotate{ {0,0,1},{ 2.950000e+001,-58,0},Pi} {Duplicata{Surface{  4};}};
> S124[] = Translate { 59,0,0} {Duplicata{Surface{   4};}};
> Line Loop(5) = {    81,    21,    22,    23,    24,    25,   -82,    -5,    -4,    -3,    -2,    -1};
> Plane Surface(5) = {  5};
> Line Loop(6) = {    82,    26,    27,    28,    29,    30,   -83,   -10,    -9,    -8,    -7,    -6};
> Plane Surface(6) = {  6};
> Line Loop(7) = {    83,    31,    32,    33,    34,    35,   -84,   -15,   -14,   -13,   -12,   -11};
> Plane Surface(7) = {  7};
> Line Loop(8) = {    84,    36,    37,    38,    39,    40,   -81,   -20,   -19,   -18,   -17,   -16};
> Plane Surface(8) = {  8};
> Line Loop(9) = {    85,    41,    42,    43,    44,    45,   -86,   -25,   -24,   -23,   -22,   -21};
> Plane Surface(9) = {  9};
> Line Loop(10) = {    86,    46,    47,    48,    49,    50,   -87,   -30,   -29,   -28,   -27,   -26};
> Plane Surface(10) = { 10};
> Line Loop(11) = {    87,    51,    52,    53,    54,    55,   -88,   -35,   -34,   -33,   -32,   -31};
> Plane Surface(11) = { 11};
> Line Loop(12) = {    88,    56,    57,    58,    59,    60,   -85,   -40,   -39,   -38,   -37,   -36};
> Plane Surface(12) = { 12};
> Line Loop(13) = {    89,    61,    62,    63,    64,    65,   -90,   -45,   -44,   -43,   -42,   -41};
> Plane Surface(13) = { 13};
> Line Loop(14) = {    90,    66,    67,    68,    69,    70,   -91,   -50,   -49,   -48,   -47,   -46};
> Plane Surface(14) = { 14};
> Line Loop(15) = {    91,    71,    72,    73,    74,    75,   -92,   -55,   -54,   -53,   -52,   -51};
> Plane Surface(15) = { 15};
> Line Loop(16) = {    92,    76,    77,    78,    79,    80,   -89,   -60,   -59,   -58,   -57,   -56};
> Plane Surface(16) = { 16};
> S115[] = Rotate{ {0,1,0},{2.950000e+001,0,   0},Pi} {Duplicata{Surface{  5};}};
> S116[] = 6;
> S117[] = Rotate{ {0,1,0},{2.950000e+001,0,-4.425000e+001},Pi} {Duplicata{Surface{  7};}};
> S118[] = Translate { 59,0,0} {Duplicata{Surface{8};}};
> S119[] = Rotate{ {0,1,0},{2.950000e+001,0,   0},Pi} {Duplicata{Surface{  9};}};
> S1110[] = 10;
> S1111[] = Rotate{ {0,1,0},{2.950000e+001,0,-4.425000e+001},Pi} {Duplicata{Surface{ 11};}};
> S1112[] = Translate { 59,0,0} {Duplicata{Surface{12};}};
> S1113[] = Rotate{ {0,1,0},{2.950000e+001,0,   0},Pi} {Duplicata{Surface{ 13};}};
> S1114[] = 14;
> S1115[] = Rotate{ {0,1,0},{2.950000e+001,0,-4.425000e+001},Pi} {Duplicata{Surface{ 15};}};
> S1116[] = Translate { 59,0,0} {Duplicata{Surface{16};}};
> S125[] = Translate {59,0,0} {Duplicata{Surface{5};}};
> S126[] = Translate {59,0,0} {Duplicata{Surface{6};}};
> S127[] = Translate {59,0,0} {Duplicata{Surface{7};}};
> S128[] = S118[];
> S129[] = Translate {59,0,0} {Duplicata{Surface{9};}};
> S1210[] = Translate {59,0,0} {Duplicata{Surface{10};}};
> S1211[] = Translate {59,0,0} {Duplicata{Surface{11};}};
> S1212[] = S1112[];
> S1213[] = Translate {59,0,0} {Duplicata{Surface{13};}};
> S1214[] = Translate {59,0,0} {Duplicata{Surface{14};}};
> S1215[] = Translate {59,0,0} {Duplicata{Surface{15};}};
> S1216[] = S1116[];
> Surface Loop(1) = {     5,     6,     7,     8,     1,     -2};
> Volume(1) = {  1};
> Physical Volume(1) = {  1};
> Surface Loop(4) = { -S115[], -S116[], -S117[], -S118[], -S111[], S112[]};
> Volume(4) = {  4};
> Physical Volume(4) = {  4};
> Surface Loop(7) = { S125[], S126[], S127[], S128[], S121[], -S122[]};
> Volume(7) = {  7};
> Physical Volume(7) = {  7};
> Surface Loop(2) = {     9,    10,    11,    12,     2,     -3};
> Volume(2) = {  2};
> Physical Volume(2) = {  2};
> Surface Loop(5) = { -S119[], -S1110[], -S1111[], -S1112[], -S112[], S113[]};
> Volume(5) = {  5};
> Physical Volume(5) = {  5};
> Surface Loop(8) = { S129[], S1210[], S1211[], S1212[], S122[], -S123[]};
> Volume(8) = {  8};
> Physical Volume(8) = {  8};
> Surface Loop(3) = {    13,    14,    15,    16,     3,     -4};
> Volume(3) = {  3};
> Physical Volume(3) = {  3};
> Surface Loop(6) = { -S1113[], -S1114[], -S1115[], -S1116[], -S113[], S114[]};
> Volume(6) = {  6};
> Physical Volume(6) = {  6};
> Surface Loop(9) = { S1213[], S1214[], S1215[], S1216[], S123[], -S124[]};
> Volume(9) = {  9};
> Physical Volume(9) = {  9};
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> gmsh mailing list
> gmsh at geuz.org
> http://www.geuz.org/mailman/listinfo/gmsh