Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
20 de junio de 2010
ndice
1. Introduccin
2. Instalacin
3. Funcionalidades de GMSH
4. GMSH y Femsii
5. Modulo geomtrico
5.1. Definir geometra con ficheros de texto . . . . . . . . . . . . . . .
5.2. Archivos de otros programas . . . . . . . . . . . . . . . . . . . . .
3
4
7
6. Mdulo de mallado
6.1. La triangulacin Delaunay . . . . . . . . . . . . . . . . . . . . . .
6.2. Meshadapt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3. Archivo de mallado *.msh . . . . . . . . . . . . . . . . . . . . . .
7
10
11
11
7. Mdulo de pro-procesado
7.1. Rotacional (Curl) . . . . . . . . . . .
7.2. Combinar distribuciones de vectores
7.3. HarmonicToTime . . . . . . . . . . .
7.4. CutParametric . . . . . . . . . . . .
13
13
13
16
17
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
9. Conclusin
19
1.
Introduccin
2.
Instalacin
Desde la web oficial de GMSH http://geuz.org/gmsh/ se ofrecen ejecutables binarios para Windows, Mac y Linux (32 bit). Descargarlos y instalarlos
directamente en la manera ms sencilla de hacer funcionar GMSH en un equipo.
Alternativamente existe la posibilidad de compilar el cdigo, que es ofrecido
tambin desde la pgina oficial http://geuz.org/gmsh/#Download. Para poder
compilarlo existen unas dependencias, los archivo de desarrollo de las bibliotecas
gsl, fltk, jpeg, y el programa cmake.
En Linux basta configurar las opciones de compilacin e instalacin con
cmake (las opciones se pueden alterar atendiendo a los escrito en los archivos
README e INSTALL presente en el cdigo fuente), para luego ejecutar make
y por ltimo make install.
Sealar que GMSH hace uso de las capacidades de aceleracin de las tarjetas grficas 3D, lo cual es conveniente tener instalados controladores que nos
permitan haces uso de estas capacidades, sobre todo en el caso de que se traten
de visualizar figuras con gran nmero de elementos.
3.
Funcionalidades de GMSH
4.
GMSH y Femsii
5.
Modulo geomtrico
5.1.
// D i b u j o GMSH de un c a b l e c o a x i a l .
// S i s t e m a formado por : c o n d u c t o r i n t e r i o r ,
d i e l e c t r i c o , conductor e x t e r i o r y aire .
// c e n t r o d e l d i b u j o , punto a u x i l i a r no f i s i c o
Po in t ( 1 ) = { 0 , 0 , 0 } ;
// p a r a m e t r i z a n d o
r 1 =1; // c o n t o r n o e x t e r i o r d e l primer c o n d u c t o r
r 2=r 1 2 ; // c o n t o r n o e x t e r i o r d e l d i e l e c t r i c o
r 3=r 1 3 ; // c o n t o r n o e x t e r i o r d e l segundo
conductor
r_dominio=r 3 6 ; // c o n t o r n o e x t e r i o r ( l i m i t e ) d e l
dominio
l c 1 = 0 . 4 ; // l o n g i t u d c a r e c t e r i s t i c a d e l m a l l a d o
de l o s p u n t o s de l a f i g u r a
l c 2=l c 1 1 0 ; // l o n g i t u d c a r e c t e r i s t i c a d e l m a l l a d o
de l o s p u n t o s d e l l i m i t e de c o n t o r n o
14
15
4
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
// d e f i n i e n d o c i r c u n f e r e n c i a e n t r e c o n d u c t o r
interno y d i e l e c t r i c o
P oi n t ( 2 ) = { r1 , 0 , 0 } ;
P oi n t ( 3 ) = { 0 , r1 , 0 } ;
P oi n t ( 4 ) = {r1 , 0 , 0 } ;
P oi n t ( 5 ) = { 0 , r1 , 0 } ;
C i r c l e (1) = {5 , 1 , 2};
C i r c l e (2) = {2 , 1 , 3};
C i r c l e (3) = {3 , 1 , 4};
C i r c l e (4) = {4 , 1 , 5};
// d e f i n i e n d o c i r c u n f e r e n c i a e n t r e d i e l e c t r i c o y
conductor externo
P oi n t ( 6 ) = { r2 , 0 , 0 } ;
P oi n t ( 7 ) = { 0 , r2 , 0 } ;
P oi n t ( 8 ) = {r2 , 0 , 0 } ;
P oi n t ( 9 ) = { 0 , r2 , 0 } ;
C i r c l e (5) = {9 , 1 , 6};
C i r c l e (6) = {6 , 1 , 7};
C i r c l e (7) = {7 , 1 , 8};
C i r c l e (8) = {8 , 1 , 9};
// d e f i n i e n d o c i r c u n f e r e n c i a e n t r e c o n d u c t o r
externo y aire
P oi n t ( 1 0 ) = { r3 , 0 , 0 } ;
P oi n t ( 1 1 ) = { 0 , r3 , 0 } ;
P oi n t ( 1 2 ) = {r3 , 0 , 0 } ;
P oi n t ( 1 3 ) = { 0 , r3 , 0 } ;
C i r c l e (9) = {13 , 1 , 10};
C i r c l e (10) = {10 , 1 , 11};
C i r c l e (11) = {11 , 1 , 12};
C i r c l e (12) = {12 , 1 , 13};
// d e f i n i e n d o c i r c u n f e r e n c i a d e l c o n t o r n o
dirichlet
P oi n t ( 1 4 ) = { r_dominio , 0 , 0 } ;
P oi n t ( 1 5 ) = { 0 , r_dominio , 0 } ;
P oi n t ( 1 6 ) = {r_dominio , 0 , 0 } ;
P oi n t ( 1 7 ) = { 0 , r_dominio , 0 } ;
C i r c l e (13) = {17 , 1 , 14};
C i r c l e (14) = {14 , 1 , 15};
C i r c l e (15) = {15 , 1 , 16};
C i r c l e (16) = {16 , 1 , 17};
// d e f i e n d o a r e a s
L in e Loop ( 1 7 ) = { 2 , 3 , 4 , 1 } ;
6
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Plane S u r f a c e ( 1 8 ) = { 1 7 } ; // c o n d u c t o r i n t e r n o
L in e Loop ( 1 9 ) = { 6 , 7 , 8 , 5 } ;
Plane S u r f a c e ( 2 0 ) = { 1 7 , 1 9 } ; // d i e l e c t r i c o
L in e Loop ( 2 1 ) = { 1 0 , 1 1 , 1 2 , 9 } ;
Plane S u r f a c e ( 2 2 ) = { 1 9 , 2 1 } ; // c o n d u c t o r
externo
L in e Loop ( 2 3 ) = { 1 4 , 1 5 , 1 6 , 1 3 } ;
Plane S u r f a c e ( 2 4 ) = { 2 1 , 2 3 } ; // a i r e
// d e f i n i e n d o r e g i o n e s de c o h e r e n c i a f i s i c a
Physical Surface (25) = {18};
Physical Surface (26) = {20};
Physical Surface (27) = {22};
Physical Surface (28) = {24};
P h y s i c a l Li ne ( 2 9 ) = { 1 5 , 1 6 , 1 3 , 1 4 } ;
// a s i g n a n d o p r e c i s i o n d e l m a l l a d o segun p u n t o s
C h a r a c t e r i s t i c Length { 1 1 , 7 , 3 , 5 , 9 , 1 3 , 1 2 , 8 ,
4 , 2 , 6 , 10} = l c 1 ;
C h a r a c t e r i s t i c Length { 1 4 , 1 5 , 1 6 , 17} = l c 2 ;
5.2.
GMSH permite utilizar definiciones de geometra procedentes de otros programas, concretamente archivos con formato IGES, Step y BRep.
Tambin es posible importar (mediante una herramienta externa) archivos
dxf, pero en tal caso solo se asumirn puntos y lneas, as que ser necesario
definir superficies y elementos fsicos dentro del propio GMSH.
6.
Mdulo de mallado
GMSH crea mallados pensados para poder trabajar con elementos finitos,
con elementos punto, lnea y tringulo (hay otros, pero estos son los que utiliza
Femsii), por lo que en nuestro caso aplicaremos el mallado 2D a nuestras figuras.
En GMSH es posible modificar multitud de parmetros a la hora de crear un
mallado. En la ventana de opciones, seccin Mesh las encontraremos. Desde
modificar el algoritmo de mallado hasta tratar de eliminar los nodos asociados
a pocos elementos.
Figura 5: Triangulacin Delaunay: Se puede ver que al comprobar las circunferencias circunscritas de todos los tringulos, stas solo incluyen los nodos de
propio elemento. Por tanto se dice que es una triangulacin Delaunay.
En lo referente a los tipo de algoritmos de mallado, tradicionalmente GMSH
ha utilizado el mtodo Delaunay, aunque se ha ido aadiendo alguno ms.
Todas las opciones de mallado de GMSH permiten el mallado adaptativo,
lo quiere decir que es posible sealar zonas con mayor precisin de mallado, y
zonas con elementos ms grandes.
6.1.
La triangulacin Delaunay
6.2.
Meshadapt
GMSH se apoya tambin en el software de mallado Meshadapt, desarrollado en el instituto politcnico de Rensselaer, Nueva York. Este software acepta
archivos de mallado, geometra y precisin de discretizacin para conseguir un
nuevo mallado mejor adaptado.
El mtodo consiste en aceptar un archivo de geometra donde se conocern
las lneas que definen una figura, un mallado inicial bsico de esa figura (requiere
un pre-mallado de baja calidad), y un mapa de tamao de mallado segn zonas.
Esto ltimo elemento consiste en una descripcin de la precisin del mallado
segn zonas (normalmente ms precisin en las zonas donde las variables en
estudio tienen mayor tendencia a variar).
6.3.
11
12
Este tipo de archivo es el que asume directamente Femsii para crear el sistema
de ecuaciones (una ecuacin por nodo).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
7.
$MeshFormat
2.1 0 8
$EndMeshFormat
$Nodes
448
1 1 0 0
2 0 1 0
...
447 0 . 9 9 4 7 3 1 0 1 7 2 6 8 2 0 5 2 3.376678531900242 0
448 0.9947310172682052 3 . 3 7 6 6 7 8 5 3 1 9 0 0 2 4 2 0
$EndNodes
$Elements
894
1 1 3 29 13 0 16 89
2 1 3 29 13 0 89 90
...
29 2 3 25 18 0 3 115 22
30 2 3 25 18 0 19 20 114
...
893 2 3 28 24 0 244 228 352
894 2 3 28 24 0 352 438 244
$EndElements
Mdulo de pro-procesado
El mdulo de pos-procesado de GMSH est asociado a los archivos de visualizacin, de hecho solo nos dar opciones en caso de tener abierto alguno.
Mencionar tres funciones de pos-procesado tiles en el contexto de Femsii.
7.1.
Rotacional (Curl)
El rotacional est incluido como extensin de GMSH (plugin), muy til pues
transforma nuestro campo vectorial de vector potencial magntico en un campo
vectorial de flujo magntico. GMSH realiza esta operacin internamente con
cada elemento, que contiene tres valores (uno por nodo) de potencial vector
magntico.
7.2.
13
14
15
7.3.
HarmonicToTime
7.4.
CutParametric
CutParametric corta la vista actual por una funcin dada y representa los
valores del campo de vectores en esa seccin. Esta funcin debe definirse como
dejando la variable u en funcin de: (X(u), Y(u), Z(u)). En el caso por ejemplo
de querer simplemente una lnea que corte una figura 2D por el origen se podra
especificar Y(u)=0, Z(u)=0, X(u)=u.
8.
17
posible incluir bucles, que son muy tiles en el caso de querer dibujar objetos
de estructura cclica.
Es posible adems incluir a otros archivos GMSH en cualquier punto, con lo
que el cdigo puede ser fragmentado para aumentar la simpleza de cada parte
o para facilitar la reutilizacin de los proyectos ya desarrollados.
Adems de poder incluir funciones tpicas de diseo de figuras los guiones
GMSH pueden ser utilizados para definir una serie de rdenes a funciones propias
del programa. Entre las opciones en esta campo est la posibilidad de cargar
archivos, redimensionar la escala de la visualizacin, hacer ejecutar una extensin concreta o incluso realizar una captura de la imagen mostrada en la ventana
de GMSH.
Se muestran algunas de las opciones en el siguiente trozo de cdigo GMSH:
1
2
3
4
5
6
7
8
9
10
11
Plugin()
Delete
Borra un elemento.
Exit
Cierra GMSH.
9.
Conclusin
Aunque son muchas las opciones de GMSH, en esta introduccin nos hemos
quedado en las ms importantes para Femsii. El manual oficial http://geuz.org/gmsh/doc/texinfo/gmsh.html
muestra el resto de opciones.
En cualquier caso GMSH formaba parte de los inicios del proyecto Femsii, y su visin generalista del mallado y la representacin sern muy tiles en
evoluciones de Femsii y otros programas relacionados con los elementos finitos.
Referencias
[1] http://www.scorec.rpi.edu/xli/MeshAdapt.html
[2] C. Geuzaine and J.-F. Remacle, Gmsh: a three-dimensional finite element
mesh generator with built-in pre- and post-processing facilities. International
Journal for Numerical Methods in Engineering, Volume 79, Issue 11, pages
1309-1331, 2009
[3] http://www.ifor.math.ethz.ch/fukuda/polyfaq/node30.html
[4] http://en.wikipedia.org/wiki/Delaunay_triangulation
19