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