[Gmsh] 3D Mesh of multiple volumes - only half of the mesh is made in 3D

Christophe Geuzaine cgeuzaine at ulg.ac.be
Wed Feb 11 16:32:12 CET 2015


> On 11 Feb 2015, at 16:10, Michael Orlishausen <michael.orlishausen at gmail.com> wrote:
> 
> Hi all!
> 
> I'm currently working on meshing a geometry. The geometry (in words) consists of a very small sphere found in a halfsphere. The halfcircle is found in pretty much a rectangle. The rectangle is located in another rectangle. After managing to get rid of problems with intersections I managed to get the 3D meshing working. However, only a part of the geometry is meshed in 3d, but I get no errors at all. In the case of the full geometry the area inside the sphere and between the sphere and the halfsphere are meshed in 3D, but not the region inside of the rectangles. If I reduce the geometry and remove sphere and halfsphere I get a three dimensional mesh in the rectangular volumes, but as soon as I add up a circular component it will onlymesh inside the sphere. I'm sure I'm doing something wrong, but the lack of an error message really confuses me...
> 

I don't understand your definition of the volumes; if I define the volumes as follows:

Surface Loop(105) = {46, 38, 40, 42, 44};
Volume(106) = {105};
Surface Loop(107) = {78, 92, 90, 88, 86, 84, 80, 82, 40, 42, 44, 38};
Volume(108) = {107};
Surface Loop(109) = {94, 96, 98, 100, 102, 104};
Surface Loop(110) = {80, 82, 84, 86, 88, 90, 78, 92, 46};
Volume(111) = {109, 110};

everything seems to work as expected...



> Thanks in advance
> 
> The geometry is the following:
> 
> colloid = 1e-6;
> polymer = 1e-6;
> water = 1e-4;
> cuvette = 5e-4;
> p1 = newp; Point(p1) = {0, 0, 1e-6, colloid};
> p2 = newp; Point(p2) = {125e-9, 0, 1e-6, colloid};
> p3 = newp; Point(p3) = {-125e-9, 0, 1e-6, colloid};
> p4 = newp; Point(p4) = {0, 125e-9, 1e-6, colloid};
> p5 = newp; Point(p5) = {0, -125e-9, 1e-6, colloid};
> p6 = newp; Point(p6) = {0, 0, 1125e-9, colloid};
> p7 = newp; Point(p7) = {0, 0, 875e-9, colloid};
> p37 = newp; Point(p37) = {0,0,-125e-9, colloid};
> Circle(1) = {p7, p1, p4};
> Circle(2) = {p4, p1, p6};
> Circle(3) = {p6, p1, p5};
> Circle(4) = {p5, p1, p3};
> Circle(5) = {p5, p1, p7};
> Circle(6) = {p7, p1, p3};
> Circle(7) = {p3, p1, p4};
> Circle(8) = {p4, p1, p2};
> Circle(9) = {p2, p1, p6};
> Circle(10) = {p5, p1, p2};
> Circle(11) = {p2, p1, p7};
> Circle(12) = {p6, p1, p3};
> Line Loop(13) = {12, 7, 2};
> Ruled Surface(14) = {-13};
> Line Loop(15) = {2, -9, -8};
> Ruled Surface(16) = {15};
> Line Loop(17) = {10, 9, 3};
> Ruled Surface(18) = {17};
> Line Loop(19) = {12, -4, -3};
> Ruled Surface(20) = {19};
> Line Loop(21) = {5, 6, -4};
> Ruled Surface(22) = {-21};
> Line Loop(23) = {5, -11, -10};
> Ruled Surface(24) = {23};
> Line Loop(25) = {7, -1, 6};
> Ruled Surface(26) = {25};
> Line Loop(27) = {8, 11, 1};
> Ruled Surface(28) = {27};
> Physical Surface(1) = {26, 28, 16, 14, 24, 22, 20, 18};
> p8 = newp; Point(p8) = {50e-6, 0, -125e-9, polymer};
> p9 = newp; Point(p9) = {-50e-6, 0, -125e-9, polymer};
> p10 = newp; Point(p10) = {0, 50e-6, -125e-9, polymer};
> p11 = newp; Point(p11) = {0, -50e-6, -125e-9, polymer};
> p12 = newp; Point(p12) = {0, 0, 49.875e-6, polymer};
> Circle(29) = {p8, p37, p10};
> Circle(30) = {p10, p37, p9};
> Circle(31) = {p9, p37, p11};
> Circle(32) = {p11, p37, p8};
> Circle(33) = {p12, p37, p8};
> Circle(34) = {p12, p37, p9};
> Circle(35) = {p12, p37, p10};
> Circle(36) = {p12, p37, p11};
> Line Loop(37) = {35, 30, -34};
> Ruled Surface(38) = {37};
> Line Loop(39) = {29, -35, 33};
> Ruled Surface(40) = {-39};
> Line Loop(41) = {36, 32, -33};
> Ruled Surface(42) = {41};
> Line Loop(43) = {34, 31, -36};
> Ruled Surface(44) = {43};
> Line Loop(45) = {29, 30, 31, 32};
> Plane Surface(46) = {-45};
> Physical Surface(2) = {46, 44, 42, 40, 38, 26, 28, 16, 14, 24, 22, 20, 18};
> p13 = newp; Point(p13) = {0.6e-2, 2.25e-2, -0.900125e-3, cuvette};
> p14 = newp; Point(p14) = {0.6e-2, -2.25e-2, -0.900125e-3, cuvette};
> p15 = newp; Point(p15) = {-0.6e-2, -2.25e-2, -0.900125e-3, cuvette};
> p16 = newp; Point(p16) = {-0.6e-2, 2.25e-2, -0.900125e-3, cuvette};
> p17 = newp; Point(p17) = {0.6e-2, 2.25e-2, 100e-6, cuvette};
> p18 = newp; Point(p18) = {0.6e-2, -2.25e-2, 100e-6, cuvette};
> p19 = newp; Point(p19) = {-0.6e-2, -2.25e-2, 100e-6, cuvette};
> p20 = newp; Point(p20) = {-0.6e-2, 2.25e-2, 100e-6, cuvette};
> p21 = newp; Point(p21) = {0.6e-2, 2.25e-2, 1.100e-3, cuvette};
> p22 = newp; Point(p22) = {0.6e-2, -2.25e-2, 1.100e-3, cuvette};
> p23 = newp; Point(p23) = {-0.6e-2, -2.25e-2, 1.100e-3, cuvette};
> p24 = newp; Point(p24) = {-0.6e-2, 2.25e-2, 1.100e-3, cuvette};
> p25 = newp; Point(p25) = {0.45e-2, 1e-2, -125e-9, water};
> p26 = newp; Point(p26) = {0.45e-2, -1e-2, -125e-9, water};
> p27 = newp; Point(p27) = {-0.45e-2, -1e-2, -125e-9, water};
> p28 = newp; Point(p28) = {-0.45e-2, 1e-2, -125e-9, water};
> p29 = newp; Point(p29) = {0.45e-2, 1e-2, 100e-6, water};
> p30 = newp; Point(p30) = {0.45e-2, -1e-2, 100e-6, water};
> p31 = newp; Point(p31) = {-0.45e-2, -1e-2, 100e-6, water};
> p32 = newp; Point(p32) = {-0.45e-2, 1e-2, 100e-6, water};
> p33 = newp; Point(p33) = {-0, 1.9e-2, -125e-9, water};
> p34 = newp; Point(p34) = {-0, -1.9e-2, -125e-9, water};
> p35 = newp; Point(p35) = {-0, -1.9e-2, 100e-6, water};
> p36 = newp; Point(p36) = {-0, 1.9e-2, 100e-6, water};
> Line(47) = {p23, p15};
> Line(48) = {p15, p16};
> Line(49) = {p16, p24};
> Line(50) = {p24, p23};
> Line(51) = {p23, p22};
> Line(52) = {p22, p14};
> Line(53) = {p14, p15};
> Line(54) = {p22, p21};
> Line(55) = {p21, p13};
> Line(56) = {p13, p14};
> Line(57) = {p13, p16};
> Line(58) = {p24, p21};
> Line(59) = {p27, p34};
> Line(60) = {p34, p26};
> Line(61) = {p27, p31};
> Line(62) = {p31, p35};
> Line(63) = {p35, p34};
> Line(64) = {p35, p30};
> Line(65) = {p30, p26};
> Line(66) = {p31, p32};
> Line(67) = {p28, p32};
> Line(68) = {p28, p27};
> Line(69) = {p32, p36};
> Line(70) = {p33, p28};
> Line(71) = {p36, p33};
> Line(72) = {p36, p29};
> Line(73) = {p25, p29};
> Line(74) = {p25, p33};
> Line(75) = {p29, p30};
> Line(76) = {p26, p25};
> Line Loop(77) = {72, 75, -64, -62, 66, 69};
> Plane Surface(78) = {-77};
> Line Loop(79) = {68, 59, 60, 76, 74, 70, 29, 30, 32, 31};
> Plane Surface(80) = {79};
> Line Loop(81) = {67, -66, -61, -68};
> Plane Surface(82) = {-81};
> Line Loop(83) = {61, 62, 63, -59};
> Plane Surface(84) = {-83};
> Line Loop(85) = {63, 60, -65, -64};
> Plane Surface(86) = {85};
> Line Loop(87) = {65, 76, 73, 75};
> Plane Surface(88) = {87};
> Line Loop(89) = {72, -73, 74, -71};
> Plane Surface(90) = {89};
> Line Loop(91) = {71, 70, 67, 69};
> Plane Surface(92) = {91};
> Physical Surface(3) = {78, 80, 82, 92, 84, 86, 88, 90, 44, 42, 40, 38, 46};
> Line Loop(93) = {58, 55, 57, 49};
> Plane Surface(94) = {93};
> Line Loop(95) = {50, 51, 54, -58};
> Plane Surface(96) = {95};
> Line Loop(97) = {48, 49, 50, 47};
> Plane Surface(98) = {-97};
> Line Loop(99) = {53, -47, 51, 52};
> Plane Surface(100) = {-99};
> Line Loop(101) = {54, 55, 56, -52};
> Plane Surface(102) = {-101};
> Line Loop(103) = {57, -48, -53, -56};
> Plane Surface(104) = {-103};
> Physical Surface(4) = {94, 104, 102, 96, 98, 100, 78, 80, 84, 86, 88, 82, 92, 90};
> Surface Loop(105) = {14, 16, 18, 24, 22, 20, 26, 28};
> Volume(106) = {105};
> Surface Loop(107) = {46, 44, 38, 40, 42};
> Volume(108) = {107, 105};
> Surface Loop(109) = {82, 80, 84, 86, 88, 90, 78, 92};
> Volume(110) = {109, 107};
> Surface Loop(111) = {104, 102, 100, 96, 98, 94};
> Volume(112) = {111, 109};
> Physical Volume(113) = {106};
> Physical Volume(114) = {108};
> Physical Volume(115) = {110};
> Physical Volume(116) = {112};
> 
> _______________________________________________
> gmsh mailing list
> gmsh at geuz.org
> http://www.geuz.org/mailman/listinfo/gmsh

-- 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine