[Gmsh] Retrieving point IDs from extrude
Ruth V. Sabariego
r.sabariego at ulg.ac.be
Fri Apr 8 11:23:17 CEST 2011
Hi Andreas,
You can use the internal function Boundary for finding the boundary
lines of the surface and then the points.
Try the following example:
====================================
R = 1 ;
lc = R/2 ;
Point(1) = {0,0,0,lc};
Point(2) = {R,0,0,lc};
Point(3) = {0,R,0,lc};
Point(4) = {-R,0,0,lc};
Point(5) = {0,-R,0,lc};
Circle(1) = {2,1,3};
Circle(2) = {3,1,4};
Circle(3) = {4,1,5};
Circle(4) = {5,1,2};
Line Loop(5) = {1,2,3,4};
Plane Surface(6) = {5};
list[] = Extrude {0,0,4*R} {
Surface{6};
} ;
cylinder_volume = list[1];
cylinder_surface_top = list[0];
cylinder_surfaces_side[]= list[{2:5}];
cylinder_lines_top[] = Boundary{Surface{cylinder_surface_top};};
cylinder_points_top[]= Boundary{Line{cylinder_lines_top[]};};
Characteristic Length {cylinder_points_top[]} = lc/10 ;
===================================
Regards,
Ruth
On 08/04/11 10:54, Andreas Puettmann wrote:
> Hi everyone,
>
> I want to mesh a cylinder (which I create by extrusion) with changing
> size elements. At one end I want to have smaller elements than at the
> other end. This is actually just the same problem as described here:
> http://www.geuz.org/pipermail/gmsh/2010/005752.html
>
> I know I can control the element size by adjusting the characteristic
> length:
>
> Characteristic Length { expression-list } = expression;
>
> But the question is: How can I obtain the numbers of points which were
> newly created by the extrude command? I.e. how should I specify
> expression-list?
>
> As far as I understand, the extrude command only returns the IDs of
> the generated volume and surfaces. But I need points to specify
> characteristic lengths...
>
> Any help is greatly appreciated.
>
> Cheers
> Andreas
>
>
--
Dr. Ir. Ruth V. Sabariego
University of Liege, Dept. of Electrical Engineering& Computer Science,
Applied& Computational Electromagnetics (ACE),
phone: +32-4-3663737 - fax: +32-4-3662910 - http://ace.montefiore.ulg.ac.be/