[Gmsh] Incorrect char length (and a host of perhaps related problems)

David Colignon David.Colignon at ulg.ac.be
Fri Feb 15 10:26:26 CET 2008


Hi Anthony,

I think there is a little bug somewhere, but you can avoid it by putting a non zero value ( 0.001 for example ) in 
Tools->Options->Mesh->General->Minimum mesh size

Cheers

Dave


-- 
David Colignon, Ph.D.
ACE - Applied & Computational Electromagnetics
Institut Montefiore B28
Université de Liège
4000 Liège - BELGIQUE
Tél: +32 (0)4 366 37 32
Fax: +32 (0)4 366 29 10
http://ace.montefiore.ulg.ac.be


Anthony Costa wrote:
> I am receiving an odd error message saying
> Error   : Incorrect char. length lc = 0: using default instead
> 
> This is patently false in my mesh. The value is well defined and of
> proper order.
> 
> The mesh is a 3D box with a cylindrical capillary travelling through
> the middle of the 3D box.
> 
> After the returned errors, I get a series of other errors, which
> eventually lead to the failure of the mesh compilation. This is true
> at a variety of characteristic lengths. One of these is:
> Error   : 3 identical points in Qtest
> 
> There is obviously something I have overlooked here. Any advice would
> be much appreciated. GEO file attached. I am using a recent nightly
> build: 20080208.
> 
> Thanks!
> Anthony
> 
> ---
> 
> // conver to meters
> ctm = 0.001;
> 
> // characteristic length
> lc = 0.01*ctm;
> 
> // resolved length
> rc = 0.01*ctm;
> 
> negx = 0*ctm;
> negy = -50*ctm;
> negz = -50*ctm;
> posx = 250*ctm;
> posy = 50*ctm;
> posz = 50*ctm;
> 
> Point(1) = {negx, negy, negz, lc};
> Point(2) = {posx, negy, negz, lc};
> Point(3) = {posx, posy, negz, lc};
> Point(4) = {negx, posy, negz, lc};
> Point(5) = {negx, negy, posz, lc};
> Point(6) = {posx, negy, posz, lc};
> Point(7) = {posx, posy, posz, lc};
> Point(8) = {negx, posy, posz, lc};
> Line(1) = {4,3};
> Line(2) = {3,7};
> Line(3) = {7,8};
> Line(4) = {8,4};
> Line(5) = {4,1};
> Line(6) = {1,5};
> Line(7) = {5,8};
> Line(8) = {5,6};
> Line(9) = {6,2};
> Line(10) = {2,1};
> Line(11) = {2,3};
> Line(12) = {7,6};
> 
> // center of sprayer
> Point(20) = {0,0,0,rc};
> 
> // length of sprayer into the box
> spraylength = 25*ctm;
> 
> // inner capillary diameter
> incapdiameter = .25*ctm;
> 
> // outer capillary diameter
> outcapdiameter = 1.5875*ctm;
> 
> // inner and outer spray points on box wall
> Point(34) = {0,-0.5*outcapdiameter,0,rc};
> Point(35) = {0,0.5*outcapdiameter,0,rc};
> Point(36) = {0,0,-0.5*outcapdiameter,0,rc};
> Point(37) = {0,0,0.5*outcapdiameter,0,rc};
> 
> // circle definitions
> Circle(17) = {37,20,34};
> Circle(18) = {34,20,36};
> Circle(19) = {36,20,35};
> Circle(20) = {35,20,37};
> 
> // major plane surfaces at sim boundaries
> Line Loop(37) = {1,2,3,4};
> Plane Surface(38) = {37};
> Line Loop(39) = {1,-11,10,-5};
> Plane Surface(40) = {39};
> Line Loop(41) = {10,6,8,9};
> Plane Surface(42) = {41};
> Line Loop(43) = {7,-3,12,-8};
> Plane Surface(44) = {43};
> Line Loop(45) = {11,2,12,9};
> Plane Surface(46) = {45};
> Line Loop(47) = {4,5,6,7};
> Line Loop(48) = {19,20,17,18};
> Plane Surface(49) = {47,48};
> 
> // expansion of outer capillary region into box
> Extrude {spraylength,0,0} {
>   Line{20,19,18,17};
>   Point{20};
> }
> 
> // creation of inner capillary termination region
> Point(80) = {spraylength,-(1/2)*incapdiameter,0,rc};
> Point(81) = {spraylength,(1/2)*incapdiameter,0,rc};
> Point(82) = {spraylength,0,-(1/2)*incapdiameter,0,rc};
> Point(83) = {spraylength,0,(1/2)*incapdiameter,0,rc};
> 
> // circles in inner capillary termination region
> Circle(67) = {81,39,83};
> Circle(68) = {83,39,80};
> Circle(69) = {80,39,82};
> Circle(70) = {82,39,81};
> 
> // creation of outer and inner capillary regions with normal in
> capillary extension direction
> Line Loop(71) = {50,62,58,54};
> Line Loop(72) = {67,68,69,70};
> Plane Surface(73) = {71,72};
> Plane Surface(74) = {72};
> Surface Loop(75) = {44,49,38,40,46,42,61,57,53,65,73,74};
> 
> // the simulation volume
> Volume(76) = {75};
>