[Gmsh] isotropic 3D algorithm fails

Ondrej Certik ondrej at certik.cz
Mon May 30 22:02:32 CEST 2005


Thank you very much for your answer and your time.

It works well. I will probably have a poster at a summer school and I
would like to cite you or give you a credit - do you have some preferred
way of doing that?

Ondrej

On Mon, May 30, 2005 at 12:49:10PM -0700, Christophe Geuzaine wrote:
> Ondrej Certik wrote:
> >Hello,
> >part of a cylinder is a structured grid, the other part is made of 
> >unstructured
> >grid. The structured part meshes OK, the unstructured doesn't mesh at
> >all, but gmsh doesn't complain about anything. 
> >
> >Does anybody know where the problem could be?
> >
> 
> Hi Ondrej - There are some quads in the boundary mesh of the volume
> that you are trying to mesh with the unstructured algorithm. This will 
> not work, since currently Gmsh cannot automatically create
> pyramids to insure the conformity between tets and quads.
> 
> I have attached a modified version of your file with all the structured
> grid constraints removed, which works well.
> 
> Christophe
> 
> -- 
> Christophe Geuzaine
> Applied and Computational Mathematics, Caltech
> geuzaine at acm.caltech.edu - http://geuz.org

> d=1000;
> h=1000;
> r= 700;
> r0 = 100;
> w=1000;
> r1=2*r0;
> l2=5;
> l3=5;
> lt=r0;
> lc = 200;
> grain=lc;
> tip=grain;
> bot=grain;
> l1=5;
> tx=r/Sqrt(2);
> ty=r/Sqrt(2);
> 
> Point(1) = {0, 0, 0, bot};
> Point(2) = {d, 0, 0, lc} ;
> Point(3) = {d, h, 0, lc} ;
> Point(4) = {0, h, 0, lc} ;
> Point(5) = {0.000000*w, 0.100000*h, 0, tip};
> Point(11) = {0.010000*w, 0.110000*h, 0, grain};
> Point(12) = {0.020000*w, 0.126390*h, 0, grain};
> Point(13) = {0.030000*w, 0.146555*h, 0, grain};
> Point(14) = {0.040000*w, 0.169644*h, 0, grain};
> Point(15) = {0.050000*w, 0.195183*h, 0, grain};
> Point(16) = {0.060000*w, 0.222860*h, 0, grain};
> Point(17) = {0.070000*w, 0.252453*h, 0, grain};
> Point(18) = {0.080000*w, 0.283792*h, 0, grain};
> Point(19) = {0.090000*w, 0.316740*h, 0, grain};
> Point(20) = {0.100000*w, 0.351189*h, 0, grain};
> Point(21) = {0.110000*w, 0.387045*h, 0, grain};
> Point(22) = {0.120000*w, 0.424230*h, 0, grain};
> Point(23) = {0.130000*w, 0.462678*h, 0, grain};
> Point(24) = {0.140000*w, 0.502327*h, 0, grain};
> Point(25) = {0.150000*w, 0.543127*h, 0, grain};
> Point(26) = {0.160000*w, 0.585029*h, 0, grain};
> Point(27) = {0.170000*w, 0.627993*h, 0, grain};
> Point(28) = {0.180000*w, 0.671981*h, 0, grain};
> Point(29) = {0.190000*w, 0.716957*h, 0, grain};
> Point(30) = {0.200000*w, 0.762891*h, 0, grain};
> Point(31) = {0.210000*w, 0.809753*h, 0, grain};
> Point(32) = {0.220000*w, 0.857516*h, 0, grain};
> Point(6) = {0.248821*w, 1.000000*h, 0, grain};
> CatmullRom(7) = {5,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,6};
> 
> Line(1) = {1,2} ;
> Line(2) = {3,2} ;
> Line(3) = {3,6};
> Line(4) = {6,4};
> Line(5) = {4,5};
> Line(6) = {5,1};
> Line Loop(8) = {2,-1,-6,7,-3};
> Plane Surface(9) = {-8};
> Line Loop(10) = {7,4,5};
> Plane Surface(11) = {10};
> 
> Extrude Surface {11, {0.0,1.0,0.0}, {0.0,0.0,0.0}, Pi*3/4};
> Extrude Surface {23, {0.0,1.0,0.0}, {0.0,0.0,0.0}, Pi*3/4};
> Extrude Surface {35, {0.0,1.0,0.0}, {0.0,0.0,0.0}, Pi/2};
> Extrude Surface {9, {0.0,1.0,0.0}, {0.0,0.0,0.0}, Pi*3/4};
> Extrude Surface {67, {0.0,1.0,0.0}, {0.0,0.0,0.0}, Pi*3/4};
> 
> 
> Point(7) = {tx, h, ty, lt};
> Point(8) = {tx+r0, h, ty, lt};
> Point(1000) = {tx+r1, h, ty, lt};
> 
> Line(80) = {7,8};
> Line(81) = {8,1000};
> Extrude Line {80, {0.0,0,1}, {tx,h,ty}, -Pi/2};
> Extrude Line {81, {0.0,0,1}, {tx,h,ty}, -Pi/2};
> Extrude Surface {92, {0,1,0}, {tx,h,ty}, Pi*2/3};
> Extrude Surface {108, {0,1,0}, {tx,h,ty}, Pi*2/3};
> Extrude Surface {120, {0,1,0}, {tx,h,ty}, Pi*2/3};
> Extrude Surface {96, {0,1,0}, {tx,h,ty}, Pi*2/3};
> Extrude Surface {147, {0,1,0}, {tx,h,ty}, Pi*2/3};
> Extrude Surface {164, {0,1,0}, {tx,h,ty}, Pi*2/3};
> 
> Circle(177) = {117,4,3};
> Circle(178) = {152,1,2};
> Line Loop(179) = {1,-178,-72};
> Plane Surface(182) = {179};
> Line Loop(183) = {177,3,-41,-69};
> Line Loop(184) = {138,155,172};
> Plane Surface(185) = {183,184};
> Line Loop(186) = {177,2,-178,73};
> Ruled Surface(187) = {186};
> Surface Loop(188) = {187,-185,9,-42,-89,-182,176,142,159};
> Volume(189) = {188};
> 
> 
>