Mailleur
Christophe Geuzaine
Christophe.Geuzaine at ulg.ac.be
Fri Mar 20 15:47:07 CET 1998
Nicolas MOES wrote:
>
> Cher Christophe,
>
> J'utilise pas mal pour l'instant le mailleur que tu as ecrit avec JF.
> Il m'a dit qu'il etait possible d'associer les maillages sur des entites
> differentes. Imagine un carre, je voudrais que le maillage sur le cote
> droit soit le meme que sur le cote gauche (periodique) idem pour le cote
> du haut et du bas.
>
Qu'entends-tu exactement par 'le meme' ? Pour avoir la meme distribution
geometrique, tu peux employer le mailleur de ligne transfini:
Transfinite Line{Num,Num,...} = NbPts With Type ArgType ;
avec
Num == un numero de ligne (qui existe) precede ou non d'un
signe (un signe '-' -> il maille le segment dans
l'autre sens)
NbPts == nombre de noeuds generes
Type == Type de maillage. Pour le moment, on peut mettre
- soit rien du tout (-> points equidistants)
- soit 'Power' (la distribution suit une loi en puissance)
- soit 'Progression' (la distrib. suit une progr. geom.)
- soit 'Bump' (double progr. geom.)
L'argument qui suit controle le precedent (donne la puissance,
ou le facteur de progression, ...)
Le mailleur transfini fonctionne aussi en 2D et en 3D: Pour le 2D, tu
specifies:
Transfinite Surface{Num} = {NumPoint,NumPoint,NumPoint,NumPoint} ;
ou
Transfinite Surface{Num} = {NumPoint,NumPoint,NumPoint} ;
(Attention, il faut que les segments opposes possedent le meme nbre
de points). C'est idem pour les volumes, sauf que tu remplaces 'Surface'
par 'Volume' et qu'il faut donner 6 ou 8 points au lieu de 3 ou 4.
Maintenant, si tu veux pouvoir faire des correspondances entre les
elements generes (par exemple pour des conditions de symetrie, ...),
le mailleur permet de generer en sortie (dans le fichier '.msh') ce
que j'appelle des 'associations'. Par exemple, si tu as defini la
Physical Line 100, la commande
Physical Association(555)= {100};
creera une association (de numero 100) comprenant les elemnts de la
ligne 100. Donc pour faire des correspondances entres 2 maillages
lineiques complexes:
1) tu crees une physical line pour chacun des maillages
2) tu crees une association pour chaque physical line
Tu auras en sortie deux listes d'elements, qu'il te suffira de traiter
comme bon te semble (les elements seront dans l'ordre donne par la
definition de la physical line (cf. le signe)).
Je ne sais pas si je reponds a ta question... N'hesite pas a me
recontacter
si ce n'est pas le cas !
--
Christophe Geuzaine
Tél: +32-(0)4-366.37.10 mailto:Christophe.Geuzaine at ulg.ac.be
Fax: +32-(0)4-366.29.10 http://www.montefiore.ulg.ac.be/~geuzaine