[Gmsh] 1D high-order meshing

Martin Vymazal martin.vymazal at vki.ac.be
Sat May 9 17:17:45 CEST 2015


Hi John,

 I attached a geo file (it's a channel with a bump on the bottom wall). The 
geometry does not come from a CAD software, but the bottom wall is represented 
by a spline. 

I ran gmsh with the following parameters:

gmsh -2 -order 7 -optimize_ho -clscale 1.0 -epslc1d 1.e-12 bump.geo -o 
test.msh

When you change order to 5 and clscale to 1.1, the mesh looks fine.

Best regards,

   Martin




On Saturday, May 09, 2015 10:31:53 AM John Moore wrote:
> Hi Martin,
> 
> I've been messing around with high order elements as well, and have run
> into similar problems. What is your reference model? Does is reference a
> CAD geometry (i.e. step, brep).
> 
> If you would like to share your geometry, I could try to help.
> 
> John
> 
> 
> On Sat, May 9, 2015 at 8:26 AM, Martin Vymazal <martin.vymazal at vki.ac.be>
> 
> wrote:
> > Hello,
> > 
> >  I'm trying to mesh a 2D geometry with high-order elements, but I'm
> > 
> > getting 2
> > triangles which are not very nice because each of them has one edge with
> > points placed in a strange way (nodes clustered towards one end point of
> > the
> > edge). I see this warning (once for each 'bad' edge) when running gmsh :
> > 
> > Failed to compute equidistant parameters (relax = 0.0078125, value =
> > 0.0394925) for edge 216-217 parametrized with 0.017138 0.18774 on GEdge 1
> > 
> > I tried to set Mesh.LcIntegrationPrecision to 10^-12, but this helped only
> > a
> > little. Is there anything else I could do?
> > 
> > Thank you,
> > 
> >  Martin Vymazal
> > 
> > _______________________________________________
> > gmsh mailing list
> > gmsh at geuz.org
> > http://www.geuz.org/mailman/listinfo/gmsh
-------------- next part --------------
lc = 0.5;

Point(1) = {0.0, 0.0, 0.0, lc};
Point(2) = {0.25, 0.0, 0.0, lc};
Point(3) = {0.50, 0.0, 0.0, lc};
Point(4) = {0.75, 0.0, 0.0, lc};
Point(5) = {0.98, 0.0, 0.0, lc};
Point(6) = {0.99, 0.0, 0.0, lc};
Point(7) = {1.0000000000e+00, 0.0000000000e+00, 0.0, lc};
Point(8) = {1.0100502513e+00, 4.9841087383e-05, 0.0, lc};
Point(9) = {1.0201005025e+00, 1.9931466685e-04, 0.0, lc};
Point(10) = {1.0301507538e+00, 4.4827173989e-04, 0.0, lc};
Point(11) = {1.0402010050e+00, 7.9646414067e-04, 0.0, lc};
Point(12) = {1.0502512563e+00, 1.2435447834e-03, 0.0, lc};
Point(13) = {1.0603015075e+00, 1.7890680085e-03, 0.0, lc};
Point(14) = {1.0703517588e+00, 2.4324900264e-03, 0.0, lc};
Point(15) = {1.0804020101e+00, 3.1731694601e-03, 0.0, lc};
Point(16) = {1.0904522613e+00, 4.0103679843e-03, 0.0, lc};
Point(17) = {1.1005025126e+00, 4.9432510612e-03, 0.0, lc};
Point(18) = {1.1105527638e+00, 5.9708887727e-03, 0.0, lc};
Point(19) = {1.1206030151e+00, 7.0922567472e-03, 0.0, lc};
Point(20) = {1.1306532663e+00, 8.3062371807e-03, 0.0, lc};
Point(21) = {1.1407035176e+00, 9.6116199511e-03, 0.0, lc};
Point(22) = {1.1507537688e+00, 1.1007103824e-02, 0.0, lc};
Point(23) = {1.1608040201e+00, 1.2491297752e-02, 0.0, lc};
Point(24) = {1.1708542714e+00, 1.4062722257e-02, 0.0, lc};
Point(25) = {1.1809045226e+00, 1.5719810910e-02, 0.0, lc};
Point(26) = {1.1909547739e+00, 1.7460911888e-02, 0.0, lc};
Point(27) = {1.2010050251e+00, 1.9284289624e-02, 0.0, lc};
Point(28) = {1.2110552764e+00, 2.1188126535e-02, 0.0, lc};
Point(29) = {1.2211055276e+00, 2.3170524836e-02, 0.0, lc};
Point(30) = {1.2311557789e+00, 2.5229508429e-02, 0.0, lc};
Point(31) = {1.2412060302e+00, 2.7363024874e-02, 0.0, lc};
Point(32) = {1.2512562814e+00, 2.9568947435e-02, 0.0, lc};
Point(33) = {1.2613065327e+00, 3.1845077201e-02, 0.0, lc};
Point(34) = {1.2713567839e+00, 3.4189145276e-02, 0.0, lc};
Point(35) = {1.2814070352e+00, 3.6598815043e-02, 0.0, lc};
Point(36) = {1.2914572864e+00, 3.9071684489e-02, 0.0, lc};
Point(37) = {1.3015075377e+00, 4.1605288606e-02, 0.0, lc};
Point(38) = {1.3115577889e+00, 4.4197101841e-02, 0.0, lc};
Point(39) = {1.3216080402e+00, 4.6844540618e-02, 0.0, lc};
Point(40) = {1.3316582915e+00, 4.9544965913e-02, 0.0, lc};
Point(41) = {1.3417085427e+00, 5.2295685884e-02, 0.0, lc};
Point(42) = {1.3517587940e+00, 5.5093958552e-02, 0.0, lc};
Point(43) = {1.3618090452e+00, 5.7936994539e-02, 0.0, lc};
Point(44) = {1.3718592965e+00, 6.0821959844e-02, 0.0, lc};
Point(45) = {1.3819095477e+00, 6.3745978672e-02, 0.0, lc};
Point(46) = {1.3919597990e+00, 6.6706136297e-02, 0.0, lc};
Point(47) = {1.4020100503e+00, 6.9699481969e-02, 0.0, lc};
Point(48) = {1.4120603015e+00, 7.2723031857e-02, 0.0, lc};
Point(49) = {1.4221105528e+00, 7.5773772020e-02, 0.0, lc};
Point(50) = {1.4321608040e+00, 7.8848661413e-02, 0.0, lc};
Point(51) = {1.4422110553e+00, 8.1944634921e-02, 0.0, lc};
Point(52) = {1.4522613065e+00, 8.5058606410e-02, 0.0, lc};
Point(53) = {1.4623115578e+00, 8.8187471804e-02, 0.0, lc};
Point(54) = {1.4723618090e+00, 9.1328112184e-02, 0.0, lc};
Point(55) = {1.4824120603e+00, 9.4477396890e-02, 0.0, lc};
Point(56) = {1.4924623116e+00, 9.7632186646e-02, 0.0, lc};
Point(57) = {1.5025125628e+00, 1.0078933669e-01, 0.0, lc};
Point(58) = {1.5125628141e+00, 1.0394569991e-01, 0.0, lc};
Point(59) = {1.5226130653e+00, 1.0709812996e-01, 0.0, lc};
Point(60) = {1.5326633166e+00, 1.1024348445e-01, 0.0, lc};
Point(61) = {1.5427135678e+00, 1.1337862801e-01, 0.0, lc};
Point(62) = {1.5527638191e+00, 1.1650043546e-01, 0.0, lc};
Point(63) = {1.5628140704e+00, 1.1960579492e-01, 0.0, lc};
Point(64) = {1.5728643216e+00, 1.2269161090e-01, 0.0, lc};
Point(65) = {1.5829145729e+00, 1.2575480738e-01, 0.0, lc};
Point(66) = {1.5929648241e+00, 1.2879233091e-01, 0.0, lc};
Point(67) = {1.6030150754e+00, 1.3180115362e-01, 0.0, lc};
Point(68) = {1.6130653266e+00, 1.3477827625e-01, 0.0, lc};
Point(69) = {1.6231155779e+00, 1.3772073114e-01, 0.0, lc};
Point(70) = {1.6331658291e+00, 1.4062558518e-01, 0.0, lc};
Point(71) = {1.6432160804e+00, 1.4348994276e-01, 0.0, lc};
Point(72) = {1.6532663317e+00, 1.4631094861e-01, 0.0, lc};
Point(73) = {1.6633165829e+00, 1.4908579071e-01, 0.0, lc};
Point(74) = {1.6733668342e+00, 1.5181170302e-01, 0.0, lc};
Point(75) = {1.6834170854e+00, 1.5448596829e-01, 0.0, lc};
Point(76) = {1.6934673367e+00, 1.5710592077e-01, 0.0, lc};
Point(77) = {1.7035175879e+00, 1.5966894883e-01, 0.0, lc};
Point(78) = {1.7135678392e+00, 1.6217249758e-01, 0.0, lc};
Point(79) = {1.7236180905e+00, 1.6461407143e-01, 0.0, lc};
Point(80) = {1.7336683417e+00, 1.6699123657e-01, 0.0, lc};
Point(81) = {1.7437185930e+00, 1.6930162339e-01, 0.0, lc};
Point(82) = {1.7537688442e+00, 1.7154292884e-01, 0.0, lc};
Point(83) = {1.7638190955e+00, 1.7371291875e-01, 0.0, lc};
Point(84) = {1.7738693467e+00, 1.7580943002e-01, 0.0, lc};
Point(85) = {1.7839195980e+00, 1.7783037279e-01, 0.0, lc};
Point(86) = {1.7939698492e+00, 1.7977373256e-01, 0.0, lc};
Point(87) = {1.8040201005e+00, 1.8163757214e-01, 0.0, lc};
Point(88) = {1.8140703518e+00, 1.8342003361e-01, 0.0, lc};
Point(89) = {1.8241206030e+00, 1.8511934018e-01, 0.0, lc};
Point(90) = {1.8341708543e+00, 1.8673379794e-01, 0.0, lc};
Point(91) = {1.8442211055e+00, 1.8826179756e-01, 0.0, lc};
Point(92) = {1.8542713568e+00, 1.8970181590e-01, 0.0, lc};
Point(93) = {1.8643216080e+00, 1.9105241752e-01, 0.0, lc};
Point(94) = {1.8743718593e+00, 1.9231225611e-01, 0.0, lc};
Point(95) = {1.8844221106e+00, 1.9348007584e-01, 0.0, lc};
Point(96) = {1.8944723618e+00, 1.9455471259e-01, 0.0, lc};
Point(97) = {1.9045226131e+00, 1.9553509515e-01, 0.0, lc};
Point(98) = {1.9145728643e+00, 1.9642024625e-01, 0.0, lc};
Point(99) = {1.9246231156e+00, 1.9720928355e-01, 0.0, lc};
Point(100) = {1.9346733668e+00, 1.9790142053e-01, 0.0, lc};
Point(101) = {1.9447236181e+00, 1.9849596723e-01, 0.0, lc};
Point(102) = {1.9547738693e+00, 1.9899233102e-01, 0.0, lc};
Point(103) = {1.9648241206e+00, 1.9939001710e-01, 0.0, lc};
Point(104) = {1.9748743719e+00, 1.9968862904e-01, 0.0, lc};
Point(105) = {1.9849246231e+00, 1.9988786920e-01, 0.0, lc};
Point(106) = {1.9949748744e+00, 1.9998753895e-01, 0.0, lc};
Point(107) = {2.0050251256e+00, 1.9998753895e-01, 0.0, lc};
Point(108) = {2.0150753769e+00, 1.9988786920e-01, 0.0, lc};
Point(109) = {2.0251256281e+00, 1.9968862904e-01, 0.0, lc};
Point(110) = {2.0351758794e+00, 1.9939001710e-01, 0.0, lc};
Point(111) = {2.0452261307e+00, 1.9899233102e-01, 0.0, lc};
Point(112) = {2.0552763819e+00, 1.9849596723e-01, 0.0, lc};
Point(113) = {2.0653266332e+00, 1.9790142053e-01, 0.0, lc};
Point(114) = {2.0753768844e+00, 1.9720928355e-01, 0.0, lc};
Point(115) = {2.0854271357e+00, 1.9642024625e-01, 0.0, lc};
Point(116) = {2.0954773869e+00, 1.9553509515e-01, 0.0, lc};
Point(117) = {2.1055276382e+00, 1.9455471259e-01, 0.0, lc};
Point(118) = {2.1155778894e+00, 1.9348007584e-01, 0.0, lc};
Point(119) = {2.1256281407e+00, 1.9231225611e-01, 0.0, lc};
Point(120) = {2.1356783920e+00, 1.9105241752e-01, 0.0, lc};
Point(121) = {2.1457286432e+00, 1.8970181590e-01, 0.0, lc};
Point(122) = {2.1557788945e+00, 1.8826179756e-01, 0.0, lc};
Point(123) = {2.1658291457e+00, 1.8673379794e-01, 0.0, lc};
Point(124) = {2.1758793970e+00, 1.8511934018e-01, 0.0, lc};
Point(125) = {2.1859296482e+00, 1.8342003361e-01, 0.0, lc};
Point(126) = {2.1959798995e+00, 1.8163757214e-01, 0.0, lc};
Point(127) = {2.2060301508e+00, 1.7977373256e-01, 0.0, lc};
Point(128) = {2.2160804020e+00, 1.7783037279e-01, 0.0, lc};
Point(129) = {2.2261306533e+00, 1.7580943002e-01, 0.0, lc};
Point(130) = {2.2361809045e+00, 1.7371291875e-01, 0.0, lc};
Point(131) = {2.2462311558e+00, 1.7154292884e-01, 0.0, lc};
Point(132) = {2.2562814070e+00, 1.6930162339e-01, 0.0, lc};
Point(133) = {2.2663316583e+00, 1.6699123657e-01, 0.0, lc};
Point(134) = {2.2763819095e+00, 1.6461407143e-01, 0.0, lc};
Point(135) = {2.2864321608e+00, 1.6217249758e-01, 0.0, lc};
Point(136) = {2.2964824121e+00, 1.5966894883e-01, 0.0, lc};
Point(137) = {2.3065326633e+00, 1.5710592077e-01, 0.0, lc};
Point(138) = {2.3165829146e+00, 1.5448596829e-01, 0.0, lc};
Point(139) = {2.3266331658e+00, 1.5181170302e-01, 0.0, lc};
Point(140) = {2.3366834171e+00, 1.4908579071e-01, 0.0, lc};
Point(141) = {2.3467336683e+00, 1.4631094861e-01, 0.0, lc};
Point(142) = {2.3567839196e+00, 1.4348994276e-01, 0.0, lc};
Point(143) = {2.3668341709e+00, 1.4062558518e-01, 0.0, lc};
Point(144) = {2.3768844221e+00, 1.3772073114e-01, 0.0, lc};
Point(145) = {2.3869346734e+00, 1.3477827625e-01, 0.0, lc};
Point(146) = {2.3969849246e+00, 1.3180115362e-01, 0.0, lc};
Point(147) = {2.4070351759e+00, 1.2879233091e-01, 0.0, lc};
Point(148) = {2.4170854271e+00, 1.2575480738e-01, 0.0, lc};
Point(149) = {2.4271356784e+00, 1.2269161090e-01, 0.0, lc};
Point(150) = {2.4371859296e+00, 1.1960579492e-01, 0.0, lc};
Point(151) = {2.4472361809e+00, 1.1650043546e-01, 0.0, lc};
Point(152) = {2.4572864322e+00, 1.1337862801e-01, 0.0, lc};
Point(153) = {2.4673366834e+00, 1.1024348445e-01, 0.0, lc};
Point(154) = {2.4773869347e+00, 1.0709812996e-01, 0.0, lc};
Point(155) = {2.4874371859e+00, 1.0394569991e-01, 0.0, lc};
Point(156) = {2.4974874372e+00, 1.0078933669e-01, 0.0, lc};
Point(157) = {2.5075376884e+00, 9.7632186646e-02, 0.0, lc};
Point(158) = {2.5175879397e+00, 9.4477396890e-02, 0.0, lc};
Point(159) = {2.5276381910e+00, 9.1328112184e-02, 0.0, lc};
Point(160) = {2.5376884422e+00, 8.8187471804e-02, 0.0, lc};
Point(161) = {2.5477386935e+00, 8.5058606410e-02, 0.0, lc};
Point(162) = {2.5577889447e+00, 8.1944634921e-02, 0.0, lc};
Point(163) = {2.5678391960e+00, 7.8848661413e-02, 0.0, lc};
Point(164) = {2.5778894472e+00, 7.5773772020e-02, 0.0, lc};
Point(165) = {2.5879396985e+00, 7.2723031857e-02, 0.0, lc};
Point(166) = {2.5979899497e+00, 6.9699481969e-02, 0.0, lc};
Point(167) = {2.6080402010e+00, 6.6706136297e-02, 0.0, lc};
Point(168) = {2.6180904523e+00, 6.3745978672e-02, 0.0, lc};
Point(169) = {2.6281407035e+00, 6.0821959844e-02, 0.0, lc};
Point(170) = {2.6381909548e+00, 5.7936994539e-02, 0.0, lc};
Point(171) = {2.6482412060e+00, 5.5093958552e-02, 0.0, lc};
Point(172) = {2.6582914573e+00, 5.2295685884e-02, 0.0, lc};
Point(173) = {2.6683417085e+00, 4.9544965913e-02, 0.0, lc};
Point(174) = {2.6783919598e+00, 4.6844540618e-02, 0.0, lc};
Point(175) = {2.6884422111e+00, 4.4197101841e-02, 0.0, lc};
Point(176) = {2.6984924623e+00, 4.1605288606e-02, 0.0, lc};
Point(177) = {2.7085427136e+00, 3.9071684489e-02, 0.0, lc};
Point(178) = {2.7185929648e+00, 3.6598815043e-02, 0.0, lc};
Point(179) = {2.7286432161e+00, 3.4189145276e-02, 0.0, lc};
Point(180) = {2.7386934673e+00, 3.1845077201e-02, 0.0, lc};
Point(181) = {2.7487437186e+00, 2.9568947435e-02, 0.0, lc};
Point(182) = {2.7587939698e+00, 2.7363024874e-02, 0.0, lc};
Point(183) = {2.7688442211e+00, 2.5229508429e-02, 0.0, lc};
Point(184) = {2.7788944724e+00, 2.3170524836e-02, 0.0, lc};
Point(185) = {2.7889447236e+00, 2.1188126535e-02, 0.0, lc};
Point(186) = {2.7989949749e+00, 1.9284289624e-02, 0.0, lc};
Point(187) = {2.8090452261e+00, 1.7460911888e-02, 0.0, lc};
Point(188) = {2.8190954774e+00, 1.5719810910e-02, 0.0, lc};
Point(189) = {2.8291457286e+00, 1.4062722257e-02, 0.0, lc};
Point(190) = {2.8391959799e+00, 1.2491297752e-02, 0.0, lc};
Point(191) = {2.8492462312e+00, 1.1007103824e-02, 0.0, lc};
Point(192) = {2.8592964824e+00, 9.6116199511e-03, 0.0, lc};
Point(193) = {2.8693467337e+00, 8.3062371807e-03, 0.0, lc};
Point(194) = {2.8793969849e+00, 7.0922567472e-03, 0.0, lc};
Point(195) = {2.8894472362e+00, 5.9708887727e-03, 0.0, lc};
Point(196) = {2.8994974874e+00, 4.9432510612e-03, 0.0, lc};
Point(197) = {2.9095477387e+00, 4.0103679843e-03, 0.0, lc};
Point(198) = {2.9195979899e+00, 3.1731694601e-03, 0.0, lc};
Point(199) = {2.9296482412e+00, 2.4324900264e-03, 0.0, lc};
Point(200) = {2.9396984925e+00, 1.7890680085e-03, 0.0, lc};
Point(201) = {2.9497487437e+00, 1.2435447834e-03, 0.0, lc};
Point(202) = {2.9597989950e+00, 7.9646414067e-04, 0.0, lc};
Point(203) = {2.9698492462e+00, 4.4827173989e-04, 0.0, lc};
Point(204) = {2.9798994975e+00, 1.9931466685e-04, 0.0, lc};
Point(205) = {2.9899497487e+00, 4.9841087383e-05, 0.0, lc};
Point(206) = {3.0000000000e+00, 0.0000000000e+00, 0.0, lc};
Point(207) = {3.01, 0.0, 0.0, lc};
Point(208) = {3.02, 0.0, 0.0, lc};
Point(209) = {3.25, 0.0, 0.0, lc};
Point(210) = {3.50, 0.0, 0.0, lc};
Point(211) = {3.75, 0.0, 0.0, lc};
Point(212) = {4.0, 0.0, 0.0, lc};
Point(213) = {4.0, 1.0, 0.0, lc};
Point(214) = {0.0, 1.0, 0.0, lc};

Spline(1) = {1:212};
Line(2) = {212,213};
Line(3) = {213,214};
Line(4) = {214,1};

Physical Line( "bottom_wall" ) = { 1 };
Physical Line( "top_wall" ) = { 3 };
Physical Line( "outlet" ) = { 2 };
Physical Line( "inlet" ) = { 4 };

Line Loop(1) = {1,2,3,4};

Plane Surface(1) = {1};
Physical Surface( "domain" ) = {1};

/*
//pts_hor = 17; //number of points on horizontal wall
//pts_vert = 5; //number of points on vertical wall
pts_hor = 60; //number of points on horizontal wall
pts_vert = 20; //number of points on vertical wall

Transfinite Line{1} = pts_hor;
Transfinite Line{2} = pts_vert;
//Transfinite Line{3} = pts_hor Using Bump 0.8;
Transfinite Line{3} = pts_hor;
Transfinite Line{4} = pts_vert;

//Transfinite Surface { 1 } = {  } Right;
*/