# [Gmsh] element shape when using field/attractor

Luca Peruzzo lperuzzo at lbl.gov
Wed Jun 7 20:39:23 CEST 2017

```Dear Gmsh group members,

I'm Luca Peruzzo, PhD student.

I would like to know if there is a solution to improve the regularity
(rho) of the mesh elements around a node when it is used as field
attractor node. Both on surface and in volume, i.e. when using Point in
Volume.

You may see the attached files. Is it a physical-geometrical limitation
or is it something that we can improve? I've tried to change the
parameters of the field but the issue remains.

Thank you in advance, many regards

Luca

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Capture.PNG
Type: image/png
Size: 273738 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20170607/5d1998c8/attachment-0001.PNG>
-------------- next part --------------
// electrodes
Point(1) = {0.0625, 0.1125,  0,0.01};
Point(2) = {0.0725, 0.1125,  0,0.01};
Point(3) = {0.0825, 0.1125,  0,0.01};
Point(4) = {0.0925, 0.1125,  0,0.01};
Point(5) = {0.1025, 0.1125,  0,0.01};
Point(6) = {0.1125, 0.1125,  0,0.01};
Point(7) = {0.0625, 0.1025,  0,0.01};
Point(8) = {0.0725, 0.1025,  0,0.01};
Point(9) = {0.0825, 0.1025,  0,0.01};
Point(10) = {0.0925, 0.1025, 0,0.01};
Point(11) = {0.1025, 0.1025, 0,0.01};
Point(12) = {0.1125, 0.1025, 0,0.01};
Point(13) = {0.0625, 0.0925, 0,0.01};
Point(14) = {0.0725, 0.0925, 0,0.01};
Point(15) = {0.0825, 0.0925, 0,0.01};
Point(16) = {0.0925, 0.0925, 0,0.01};
Point(17) = {0.1025, 0.0925, 0,0.01};
Point(18) = {0.1125, 0.0925, 0,0.01};
Point(19) = {0.0625, 0.0825, 0,0.01};
Point(20) = {0.0725, 0.0825, 0,0.01};
Point(21) = {0.0825, 0.0825, 0,0.01};
Point(22) = {0.0925, 0.0825, 0,0.01};
Point(23) = {0.1025, 0.0825, 0,0.01};
Point(24) = {0.1125, 0.0825, 0,0.01};
Point(25) = {0.0625, 0.0725, 0,0.01};
Point(26) = {0.0725, 0.0725, 0,0.01};
Point(27) = {0.0825, 0.0725, 0,0.01};
Point(28) = {0.0925, 0.0725, 0,0.01};
Point(29) = {0.1025, 0.0725, 0,0.01};
Point(30) = {0.1125, 0.0725, 0,0.01};
Point(31) = {0.0625, 0.0625, 0,0.01};
Point(32) = {0.0725, 0.0625, 0,0.01};
Point(33) = {0.0825, 0.0625, 0,0.01};
Point(34) = {0.0925, 0.0625, 0,0.01};
Point(35) = {0.1025, 0.0625, 0,0.01};
Point(36) = {0.1125, 0.0625, 0,0.01};
Point(37) = {0.0625, 0.1125, -0.01,0.01};
Point(38) = {0.0725, 0.1125, -0.01,0.01};
Point(39) = {0.0825, 0.1125, -0.01,0.01};
Point(40) = {0.0925, 0.1125, -0.01,0.01};
Point(41) = {0.1025, 0.1125, -0.01,0.01};
Point(42) = {0.1125, 0.1125, -0.01,0.01};
Point(43) = {0.0625, 0.1025, -0.01,0.01};
Point(44) = {0.0725, 0.1025, -0.01,0.01};
Point(45) = {0.0825, 0.1025, -0.01,0.01};
Point(46) = {0.0925, 0.1025, -0.01,0.01};
Point(47) = {0.1025, 0.1025, -0.01,0.01};
Point(48) = {0.1125, 0.1025, -0.01,0.01};
Point(49) = {0.0625, 0.0925, -0.01,0.01};
Point(50) = {0.0725, 0.0925, -0.01,0.01};
Point(51) = {0.0825, 0.0925, -0.01,0.01};
Point(52) = {0.0925, 0.0925, -0.01,0.01};
Point(53) = {0.1025, 0.0925, -0.01,0.01};
Point(54) = {0.1125, 0.0925, -0.01,0.01};
Point(55) = {0.0625, 0.0825, -0.01,0.01};
Point(56) = {0.0725, 0.0825, -0.01,0.01};
Point(57) = {0.0825, 0.0825, -0.01,0.01};
Point(58) = {0.0925, 0.0825, -0.01,0.01};
Point(59) = {0.1025, 0.0825, -0.01,0.01};
Point(60) = {0.1125, 0.0825, -0.01,0.01};
Point(61) = {0.0625, 0.0725, -0.01,0.01};
Point(62) = {0.0725, 0.0725, -0.01,0.01};
Point(63) = {0.0825, 0.0725, -0.01,0.01};
Point(64) = {0.0925, 0.0725, -0.01,0.01};
Point(65) = {0.1025, 0.0725, -0.01,0.01};
Point(66) = {0.1125, 0.0725, -0.01,0.01};
Point(67) = {0.0625, 0.0625, -0.01,0.01};
Point(68) = {0.0725, 0.0625, -0.01,0.01};
Point(69) = {0.0825, 0.0625, -0.01,0.01};
Point(70) = {0.0925, 0.0625, -0.01,0.01};
Point(71) = {0.1025, 0.0625, -0.01,0.01};
Point(72) = {0.1125, 0.0625, -0.01,0.01};
// external geometry
Point(73) = {0.025, 0.025, -0.02,  0.01};
Point(74) = {0, 0.025, -0.02,      0.01};
Point(75) = {0.025, 0, -0.02,      0.01};
Point(76) = {0.025, 0.15, -0.02,   0.01};
Point(77) = {0, 0.15, -0.02,       0.01};
Point(78) = {0.025, 0.175, -0.02,  0.01};
Point(79) = {0.175, 0.15, -0.02,   0.01};
Point(80) = {0.15, 0.15, -0.02,    0.01};
Point(81) = {0.15, 0.175, -0.02,   0.01};
Point(82) = {0.15, 0.025, -0.02,   0.01};
Point(83) = {0.15, 0, -0.02,       0.01};
Point(84) = {0.175, 0.025, -0.02,  0.01};
Point(85) = {0.005, 0.025, 0,      0.01};
Point(86) = {0.025, 0.005, 0,      0.01};
Point(87) = {0.025, 0.025, 0,      0.01};
Point(88) = {0.15, 0.005, 0,       0.01};
Point(89) = {0.15, 0.025, 0,       0.01};
Point(90) = {0.17, 0.025, 0,       0.01};
Point(91) = {0.17, 0.15, 0,        0.01};
Point(92) = {0.15, 0.15, 0,        0.01};
Point(93) = {0.15, 0.17, 0,        0.01};
Point(94) = {0.005, 0.15, 0,       0.01};
Point(95) = {0.025, 0.15, 0,       0.01};
Point(96) = {0.025, 0.17, 0,       0.01};
// internal geometry
Point(97) = {0.0525,0.0525,0,      0.01};
Point(98) = {0.0525,0.0525,-0.02,  0.01};
Point(99) = {0.1225,0.0525,0,      0.01};
Point(100)= {0.1225,0.0525,-0.02,  0.01};
Point(101)= {0.1225,0.1225,0,      0.01};
Point(102)= {0.1225,0.1225,-0.02,  0.01};
Point(103)= {0.0525,0.1225,0,      0.01};
Point(104)= {0.0525,0.1225,-0.02,  0.01};
// circles
Circle(1) = {94, 95, 96};
Circle(2) = {93, 92, 91};
Circle(3) = {85, 87, 86};
Circle(4) = {88, 89, 90};
Circle(5) = {74, 73, 75};
Circle(6) = {83, 82, 84};
Circle(7) = {79, 80, 81};
Circle(8) = {77, 76, 78};
// lines
Line(9) = {94, 85};
Line(10) = {86, 88};
Line(11) = {90, 91};
Line(12) = {93, 96};
Line(13) = {77, 74};
Line(14) = {75, 83};
Line(15) = {84, 79};
Line(16) = {81, 78};
Line(17) = {77, 94};
Line(18) = {78, 96};
Line(19) = {81, 93};
Line(20) = {79, 91};
Line(21) = {84, 90};
Line(22) = {88, 83};
Line(23) = {75, 86};
Line(24) = {85, 74};
Line(25) = {103, 97};
Line(26) = {97, 99};
Line(27) = {99, 101};
Line(28) = {101, 103};
Line(29) = {98, 100};
Line(30) = {100, 102};
Line(31) = {102, 104};
Line(32) = {104, 98};
Line(33) = {97, 98};
Line(34) = {99, 100};
Line(35) = {101, 102};
Line(36) = {103, 104};
// surfaces
Line Loop(37) = {18, -12, -19, 16};
Plane Surface(38) = {37};
Line Loop(39) = {20, -11, -21, 15};
Plane Surface(40) = {39};
Line Loop(41) = {10, 22, -14, 23};
Plane Surface(42) = {41};
Line Loop(43) = {17, 9, 24, -13};
Plane Surface(44) = {43};
Line Loop(45) = {25, 33, -32, -36};
Plane Surface(46) = {45};
Line Loop(47) = {26, 34, -29, -33};
Plane Surface(48) = {47};
Line Loop(49) = {35, -30, -34, 27};
Plane Surface(50) = {49};
Line Loop(51) = {35, 31, -36, -28};
Plane Surface(52) = {51};
Line Loop(53) = {1, -18, -8, 17};
Ruled Surface(54) = {53};
Line Loop(55) = {3, -23, -5, -24};
Ruled Surface(56) = {55};
Line Loop(57) = {4, -21, -6, -22};
Ruled Surface(58) = {57};
Line Loop(59) = {25, 26, 27, 28};
Plane Surface(60) = {59};
Line Loop(61) = {29, 30, 31, 32};
Plane Surface(62) = {61};
Line Loop(63) = {14, 6, 15, 7, 16, -8, 13, 5};
Plane Surface(64) = {61, 63};
Line Loop(65) = {2, -11, -4, -10, -3, -9, 1, -12};
Plane Surface(66) = {59, 65};
Line Loop(67) = {20, -2, -19, -7};
Ruled Surface(68) = {67};
// volumes
Surface Loop(69) = {66, 38, 54, 64, 56, 42, 58, 40, 68, 44, 52, 50, 48, 46};
Volume(70) = {69};
Surface Loop(71) = {60, 52, 50, 48, 46, 62};
Volume(72) = {71};
Point{1} In Surface{60};
Point{2} In Surface{60};
Point{3} In Surface{60};
Point{4} In Surface{60};
Point{5} In Surface{60};
Point{6} In Surface{60};
Point{7} In Surface{60};
Point{8} In Surface{60};
Point{9} In Surface{60};
Point{10} In Surface {60};
Point{11} In Surface {60};
Point{12} In Surface {60};
Point{13} In Surface {60};
Point{14} In Surface {60};
Point{15} In Surface {60};
Point{16} In Surface {60};
Point{17} In Surface {60};
Point{18} In Surface {60};
Point{19} In Surface {60};
Point{20} In Surface {60};
Point{21} In Surface {60};
Point{22} In Surface {60};
Point{23} In Surface {60};
Point{24} In Surface {60};
Point{25} In Surface {60};
Point{26} In Surface {60};
Point{27} In Surface {60};
Point{28} In Surface {60};
Point{29} In Surface {60};
Point{30} In Surface {60};
Point{31} In Surface {60};
Point{32} In Surface {60};
Point{33} In Surface {60};
Point{34} In Surface {60};
Point{35} In Surface {60};
Point{36} In Surface {60};
Point{37} In Volume {72};
Point{38} In Volume {72};
Point{39} In Volume {72};
Point{40} In Volume {72};
Point{41} In Volume {72};
Point{42} In Volume {72};
Point{43} In Volume {72};
Point{44} In Volume {72};
Point{45} In Volume {72};
Point{46} In Volume {72};
Point{47} In Volume {72};
Point{48} In Volume {72};
Point{49} In Volume {72};
Point{50} In Volume {72};
Point{51} In Volume {72};
Point{52} In Volume {72};
Point{53} In Volume {72};
Point{54} In Volume {72};
Point{55} In Volume {72};
Point{56} In Volume {72};
Point{57} In Volume {72};
Point{58} In Volume {72};
Point{59} In Volume {72};
Point{60} In Volume {72};
Point{61} In Volume {72};
Point{62} In Volume {72};
Point{63} In Volume {72};
Point{64} In Volume {72};
Point{65} In Volume {72};
Point{66} In Volume {72};
Point{67} In Volume {72};
Point{68} In Volume {72};
Point{69} In Volume {72};
Point{70} In Volume {72};
Point{71} In Volume {72};
Point{72} In Volume {72};

Field[1] = Attractor;
Field[1].NodesList = {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, 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};

Field[2] = Threshold;
Field[2].IField = 1;
Field[2].LcMin = 0.001;
Field[2].LcMax = 0.005;
Field[2].DistMin = 0.02;
Field[2].DistMax = 0.05;

Field[3] = Min;
Field[3].FieldsList = {2};

Background Field = 3;
```