[Gmsh] Question about mesh refinement with stating of characteristic lengths

Christophe Geuzaine cgeuzaine at ulg.ac.be
Thu Jul 10 18:39:16 CEST 2008


Moritz Nadler wrote:
> Hallo,
> 
> I tried so somehow use the fields demo file in my geometry without really 
> understanding it. This did not work, when I compile my .geo I get a mesh with 
> way to much elements. The large ch. lengths of the "outer" point are being 
> ignored now.
> 
> I tried to read about fields in the manual but I could not really get the 
> concept why so many different "fields" are needed to just fully define one for 
> example what the background field is good for...
> 
> What I want I if a fine mesh around line 3 and 7 and point 16 19 which I have 
> now but in the rest of the domain the mesh density should still correspond to 
> the large ch length defined in the points there which I do not have.
> 

Just set LcMax to the largest char length in the model. The eventual 
mesh size os computed as the minimum of all prescribed sizes (at points, 
using fields, using a background mesh, using curvatures, etc.).


//my current .geo file with too high element density
highPr = 0.0002;
argPr =  0.00004;
midPr =  0.0002;
lowPr =  0.0006;
vLowPr = 0.001;

Point(1) = {0,0,0,argPr};
Point(2) = {0.25E-2,0,0,midPr};
Point(3) = {0.5E-2,0,0,highPr};
Point(4) = {0.5E-2,0.025E-2,0,highPr};
Point(5) = {0.75E-2,0.025E-2,0,midPr};
Point(6) = {2.25E-2,0.025E-2,0,midPr};
Point(7) = {2.5E-2,0.025E-2,0,highPr};
Point(8) = {2.5E-2,0,0,highPr};
Point(9) = {2.75E-2,0,0,midPr};
Point(10) = {4E-2,0,0,lowPr};
Point(11) = {9.5E-2,0,0,vLowPr};
Point(13) = {0,9.525E-2,0,vLowPr};
Point(14) = {0,4.025E-2,0,lowPr};
Point(15) = {0,2.775E-2,0,midPr};
Point(16) = {0,2.525E-2,0,highPr};
Point(17) = {0,2.275E-2,0,midPr};
Point(18) = {0,0.775E-2,0,midPr};
Point(19) = {0,0.525E-2,0,highPr};
Point(20) = {0,0.275E-2,0,midPr};
Point(21) = {0,0.025E-2,0,argPr};

Field[1] = Attractor;
Field[1].NNodesByEdge = 100;
Field[1].NodesList = {16,19};
Field[1].EdgesList = {3,7};

Field[2] = Threshold;
Field[2].IField = 1;
Field[2].LcMin = highPr;
Field[2].LcMax = vLowPr;
Field[2].DistMin = 0.002;
Field[2].DistMax = 0.008;

Background Field = 2;

Line(1) = {1,2};
Line(2) = {2,3};
Line(3) = {3,4};
Line(4) = {4,5};
Line(5) = {5,6};
Line(6) = {6,7};
Line(7) = {7,8};
Line(8) = {8,9};
Line(9) = {9,10};
Line(10) = {10,11};
Circle(11) = {11,1,13};
Line(13) = {13,14};
Line(14) = {14,15};
Line(15) = {15,16};
Line(16) = {16,17};
Line(17) = {17,18};
Line(18) = {18,19};
Line(19) = {19,20};
Line(20) = {20,21};
Line(21) = {21,1};

Line Loop(22) = {1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21};
Plane Surface(23) = {22};
// end of file



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