[Gmsh] Control of meshing plane surfaces

Julian Dean j.dean at sheffield.ac.uk
Wed Jun 18 12:23:12 CEST 2014


Hi all, 

I have a nice voranoi structure that i’ve have gotten gmsh to draw out for me. I want to mesh the plane surfaces really fine and then extend out to a large mesh in the volume (such as below)
Even though all surfaces have been selected, as the manual says it causes some issues that some surfaces are fine, some are half meshed with fine and the rest of the surface coarse and some are just coarse etc etc - 

Is there any hacks that can be used to get around this - edge control is nice but not quite what i need. I might have to move away from gmsh as really do require this fine control of meshing but don’t want to if I can help it - is fixing this on the horizon any time soon?

Is there a way of telling gmsh to mesh each surface with a fine mesh, even if it is separately, and then go on to extend to a large coarse mesh in the volumes?

cheers

Julian



Geometry.AutoCoherence=0;

Lc1 = 0.020000;

Point(0)={0.500000,0.500000,-0.500000, Lc1};
Point(1)={-0.500000,0.500000,-0.500000, Lc1};
Point(2)={0.500000,0.500000,0.000000, Lc1};
Point(3)={-0.500000,0.500000,0.000000, Lc1};
Point(4)={-0.500000,-0.166426,-0.000000, Lc1};
Point(5)={-0.457949,-0.202895,-0.000000, Lc1};
Point(6)={0.500000,-0.414996,-0.000000, Lc1};
Point(7)={0.500000,-0.212319,-0.500000, Lc1};
Point(8)={-0.500000,0.009092,-0.500000, Lc1};
Point(9)={-0.500000,-0.191355,-0.005499, Lc1};

Line(1)={7,6};
Line(2)={6,2};
Line(3)={2,0};
Line(4)={0,7};
Line Loop(1)={1,2,3,4};
Plane Surface(1)={1};
Line(6)={3,1};
Line(7)={1,0};
Line(8)={0,2};
Line(9)={2,3};
Line Loop(2)={6,7,8,9};
Plane Surface(2)={2};
Line(11)={1,8};
Line(12)={8,7};
Line(13)={7,0};
Line(14)={0,1};
Line Loop(3)={11,12,13,14};
Plane Surface(3)={3};
Line(16)={4,9};
Line(17)={9,8};
Line(18)={8,1};
Line(19)={1,3};
Line(20)={3,4};
Line Loop(4)={16,17,18,19,20};
Plane Surface(4)={4};
Line(22)={5,9};
Line(23)={9,4};
Line(24)={4,5};
Line Loop(5)={22,23,24};
Plane Surface(5)={5};
Line(26)={5,4};
Line(27)={4,3};
Line(28)={3,2};
Line(29)={2,6};
Line(30)={6,5};
Line Loop(6)={26,27,28,29,30};
Plane Surface(6)={6};
Line(32)={8,9};
Line(33)={9,5};
Line(34)={5,6};
Line(35)={6,7};
Line(36)={7,8};
Line Loop(7)={32,33,34,35,36};
Plane Surface(7)={7};
Surface Loop(1)={1,2,3,4,5,6,7};
Volume(1)={1};

Point(10)={0.500000,0.500000,0.500000, Lc1};
Point(11)={-0.500000,0.500000,0.500000, Lc1};
Point(12)={0.500000,-0.375350,0.500000, Lc1};
Point(13)={0.500000,0.500000,0.000000, Lc1};
Point(14)={-0.500000,0.500000,0.000000, Lc1};
Point(15)={-0.500000,-0.166426,-0.000000, Lc1};
Point(16)={-0.500000,0.491911,0.500000, Lc1};
Point(17)={0.500000,-0.500000,0.405330, Lc1};
Point(18)={-0.457949,-0.202895,-0.000000, Lc1};
Point(19)={0.500000,-0.500000,0.044740, Lc1};
Point(20)={0.500000,-0.414996,-0.000000, Lc1};
Point(21)={0.034849,-0.500000,0.098946, Lc1};

Line(38)={16,11};
Line(39)={11,10};
Line(40)={10,12};
Line(41)={12,16};
Line Loop(8)={38,39,40,41};
Plane Surface(8)={8};
Line(43)={17,21};
Line(44)={21,18};
Line(45)={18,15};
Line(46)={15,16};
Line(47)={16,12};
Line(48)={12,17};
Line Loop(9)={43,44,45,46,47,48};
Plane Surface(9)={9};
Line(50)={14,15};
Line(51)={15,18};
Line(52)={18,20};
Line(53)={20,13};
Line(54)={13,14};
Line Loop(10)={50,51,52,53,54};
Plane Surface(10)={10};
Line(56)={15,14};
Line(57)={14,11};
Line(58)={11,16};
Line(59)={16,15};
Line Loop(11)={56,57,58,59};
Plane Surface(11)={11};
Line(61)={14,13};
Line(62)={13,10};
Line(63)={10,11};
Line(64)={11,14};
Line Loop(12)={61,62,63,64};
Plane Surface(12)={12};
Line(66)={17,19};
Line(67)={19,21};
Line(68)={21,17};
Line Loop(13)={66,67,68};
Plane Surface(13)={13};
Line(70)={13,20};
Line(71)={20,19};
Line(72)={19,17};
Line(73)={17,12};
Line(74)={12,10};
Line(75)={10,13};
Line Loop(14)={70,71,72,73,74,75};
Plane Surface(14)={14};
Line(77)={19,20};
Line(78)={20,18};
Line(79)={18,21};
Line(80)={21,19};
Line Loop(15)={77,78,79,80};
Plane Surface(15)={15};
Surface Loop(2)={8,9,10,11,12,13,14,15};
Volume(2)={2};

Point(22)={0.500000,-0.500000,-0.500000, Lc1};
Point(23)={-0.457949,-0.202895,-0.000000, Lc1};
Point(24)={-0.500000,-0.500000,-0.500000, Lc1};
Point(25)={0.500000,-0.500000,0.044740, Lc1};
Point(26)={0.500000,-0.414996,-0.000000, Lc1};
Point(27)={0.500000,-0.212319,-0.500000, Lc1};
Point(28)={0.034849,-0.500000,0.098946, Lc1};
Point(29)={-0.500000,0.009092,-0.500000, Lc1};
Point(30)={-0.500000,-0.191355,-0.005499, Lc1};
Point(31)={-0.500000,-0.500000,0.060293, Lc1};

Line(82)={27,29};
Line(83)={29,24};
Line(84)={24,22};
Line(85)={22,27};
Line Loop(16)={82,83,84,85};
Plane Surface(16)={16};
Line(87)={29,30};
Line(88)={30,31};
Line(89)={31,24};
Line(90)={24,29};
Line Loop(17)={87,88,89,90};
Plane Surface(17)={17};
Line(92)={25,22};
Line(93)={22,24};
Line(94)={24,31};
Line(95)={31,28};
Line(96)={28,25};
Line Loop(18)={92,93,94,95,96};
Plane Surface(18)={18};
Line(98)={30,23};
Line(99)={23,28};
Line(100)={28,31};
Line(101)={31,30};
Line Loop(19)={98,99,100,101};
Plane Surface(19)={19};
Line(103)={26,23};
Line(104)={23,30};
Line(105)={30,29};
Line(106)={29,27};
Line(107)={27,26};
Line Loop(20)={103,104,105,106,107};
Plane Surface(20)={20};
Line(109)={25,26};
Line(110)={26,27};
Line(111)={27,22};
Line(112)={22,25};
Line Loop(21)={109,110,111,112};
Plane Surface(21)={21};
Line(114)={23,26};
Line(115)={26,25};
Line(116)={25,28};
Line(117)={28,23};
Line Loop(22)={114,115,116,117};
Plane Surface(22)={22};
Surface Loop(3)={16,17,18,19,20,21,22};
Volume(3)={3};

Point(32)={0.500000,-0.375350,0.500000, Lc1};
Point(33)={-0.500000,-0.166426,-0.000000, Lc1};
Point(34)={-0.500000,0.491911,0.500000, Lc1};
Point(35)={-0.500000,-0.500000,0.500000, Lc1};
Point(36)={0.500000,-0.500000,0.500000, Lc1};
Point(37)={0.500000,-0.500000,0.405330, Lc1};
Point(38)={-0.457949,-0.202895,-0.000000, Lc1};
Point(39)={0.034849,-0.500000,0.098946, Lc1};
Point(40)={-0.500000,-0.191355,-0.005499, Lc1};
Point(41)={-0.500000,-0.500000,0.060293, Lc1};

Line(119)={36,35};
Line(120)={35,34};
Line(121)={34,32};
Line(122)={32,36};
Line Loop(23)={119,120,121,122};
Plane Surface(23)={23};
Line(124)={41,40};
Line(125)={40,33};
Line(126)={33,34};
Line(127)={34,35};
Line(128)={35,41};
Line Loop(24)={124,125,126,127,128};
Plane Surface(24)={24};
Line(130)={37,36};
Line(131)={36,32};
Line(132)={32,37};
Line Loop(25)={130,131,132};
Plane Surface(25)={25};
Line(134)={37,39};
Line(135)={39,41};
Line(136)={41,35};
Line(137)={35,36};
Line(138)={36,37};
Line Loop(26)={134,135,136,137,138};
Plane Surface(26)={26};
Line(140)={38,33};
Line(141)={33,40};
Line(142)={40,38};
Line Loop(27)={140,141,142};
Plane Surface(27)={27};
Line(144)={33,38};
Line(145)={38,39};
Line(146)={39,37};
Line(147)={37,32};
Line(148)={32,34};
Line(149)={34,33};
Line Loop(28)={144,145,146,147,148,149};
Plane Surface(28)={28};
Line(151)={39,38};
Line(152)={38,40};
Line(153)={40,41};
Line(154)={41,39};
Line Loop(29)={151,152,153,154};
Plane Surface(29)={29};
Surface Loop(4)={23,24,25,26,27,28,29};
Volume(4)={4};

Field[1] = Attractor;
Field[1].NNodesByEdge = 100;
Field[1].EdgesList = {1:155};
Field[2] = Threshold;
Field[2].IField = 1;
Field[2].LcMin = 0.010000;
Field[2].LcMax = 0.200000;
Field[2].DistMin = 0.010000;
Field[2].DistMax = 0.100000;
Mesh.CharacteristicLengthExtendFromBoundary = 0.;
Background Field = 2;
Coherence;