Télécharger mailtopo.notice

Retour à la liste

Afficher cette notice en

Numérotation des lignes :
$$$$ MAILTOPO NOTICE  GOUNAND   26/06/11    21:15:05     12570          
                                             DATE     26/06/11

    Procedure MAILTOPO                      Voir aussi : TRIA REMA
    ------------------                                   INDI  
    MAIL1 (METR1) = MAILTOPO | 'TRIA' MAIL2         | (METR2) ...
                             | 'REMA' MAIL3 (MAIL4) |

                     ... | ('AJNO') | ('IPOL')  (TAB1) ;
                         |  'NOAJ'  |
    Objet :
    _______

    Cette procédure n'est pas destinee a etre appelee par l'utilisateur
    (voir operateurs TRIA et REMA).
    Elle implemente un algorithme topologique de génération ('TRIA') ou
    d'optimisation ('REMA') d'un maillage de simplex anisotrope du a T.
    Coupez et al. (voir bibliographie ci-apres)

    Commentaire :
    _____________

      MAIL1 : maillage genere (type MAILLAGE)

      METR1 : si le mot-cle 'IPOL' est donne, METR1 (type CHPOINT) est
              la metrique interpolee sur le nouveau maillage MAIL1

      MAIL2 : bord du maillage a generer (type MAILLAGE)

      MAIL3 : maillage a optimiser (type MAILLAGE)

      MAIL4 : partie du bord de MAIL3 que le mailleur ne doit pas
              modifier (par defaut le mailleur peut retirer ou ajouter
              des noeuds sur les parties planes du bord de MAIL3)

      METR2 : objet de type FLOTTANT ou CHPOINT
              Si METR2 est de type FLOTTANT, il s'agit de la taille
              d'arete voulue (densite)
              Si METR2 est de type CHPOINT, il s'agit de l'inverse
              de la metrique voulue (unite : longueur^-2)

      TAB1  : objet optionnel de type TABLE dont les indices sont des
              parametres d'entree ou de sortie du mailleur
              Entree :
              --------
              TAB1 . 'ipol_met' = 0..1 ; (0 par defaut)
                   Interpolation de la metrique
                   0 : arithmetique
                   1 : geometrique
              TAB1 . 'bary_topo' = 0..1 ; (0 par defaut)
                   Ajout d'un nouveau noeud
                   0 : isobarycentre
                   1 : quasi-barycentre dans la metrique
              TAB1 . 'impr' = 0..2 ; (0 par defaut)
                   Niveau d'information
              TAB1 . 'graph' = faux..vrai ; (faux par defaut)
                   Sortie de graphiques
              TAB1 . 'id_cas' = MOT1 ;
                   Chaine de caracteres decrivant le cas
              TAB1 . 'max_iter' = ENTI1 ; (100 par defaut)
                   Nombre d'iterations maximum de l'algorithme
              TAB1 . 'detect_cycling' = 0..1 ; (1 par defaut)
                   Detecte-t-on le cyclage ?
              TAB1 . 'precrel_volume' = FLOT1 ; (1.D-11 par defaut)
                   Precision relative en-dessous de laquelle un element
                   est considere comme ayant un volume nul
              TAB1 . 'precrel_qualite' = FLOT1 ; (1.D-2 par defaut)
                   Precision relative en-dessous de laquelle deux
                   elements sont consideres comme ayant une qualite
                   identique
              TAB1 . 'critquals' = enum (prog 2 10 3) (prog 2 10 1) ;
                                   (par defaut)
                   Critere de qualite demande pour chaque passe de
                   l'algorithme (voir description en remarque 3)
              TAB1 . 'nbpasses_rema' = 2 (par defaut) ;
                   Nombre de passes pour le remaillage
              TAB1 . 'sort_mail_pass' = 0..1 ; (0 par defaut)
                   Sortie de la sequence des maillages generes a chaque
                   passe (a l'indice 'seqpass')
              TAB1 . 'sort_seqm' = 0..1 ; (0 par defaut)
                   Sortie de la sequence des maillages generes par
                   l'algorithme (a l'indice 'seqtopo')
              TAB1 . 'veri_seqm' = 0..1 ; (0 par defaut)
                   Verifie la sequence des maillages generes par
                   l'algorithme (debug)
              TAB1 . 'veri_opto' = 0..2 ; (0 par defaut)
                   Niveau de verification (impr) dans l'operateur
                   appele (OPTO)
              TAB1 . 'impr_opto' = 0..6 ; (default 0)
                   Impressions (debug) dans l'operateur appele (OPTO)
              TAB1 . 'impr_segadj_opto' = 0..1 ; (0 par defaut)
                   Impressions (debug) lors des ajustements de segments
                   dans l'operateur appele (OPTO)
              Sortie :
              --------
              TAB1 . 'curtopo' = MAIL1 ;
                   Maillage courant obtenu par l'algorithme
              TAB1 . 'cycling_detected' = LOGI1 ;
                   Cyclage detecte ou non
              TAB1 . 'seqtopo' = LMAIL1 ;
                   Sequence de maillages obtenues par l'algorithme
                   (type LISTOBJE)
              TAB1 . 'seqpass' = LMAIL2 ;
                   Sequence de maillages obtenues a chaque passe par
                   l'algorithme (type LISTOBJE)
              TAB1 . 'critquals_eff' = LLREEL ;
                   Critere de qualite effectivement utilise pour chaque
                   passe de l'algorithme. Il peut avoir ete modifie par
                   rapport a celui demande pour des raisons de precision
                   numerique
              TAB1 . 'dvol' = FLOT1 ;
                   Difference entre le volume du maillage courant et le
                   volume souhaite
              TAB1 . 'nnul' = ENTI1 ;
                   Nombre d'elements du maillage courant ayant un volume
                   nul
              TAB1 . 'miq' = FLOT1 ;
                   Qualite minimum (cf. operateur INDI) des elements du
                   maillage courant
              TAB1 . 'meq' = FLOT1 ;
                   Qualite mediane des elements du maillage courant
              TAB1 . 'maq' = FLOT1 ;
                   Qualite maximale des elements du maillage courant


    Remarques :
    ___________

     1) Si la metrique voulue est isotrope, le nom de composante est G.
        Si la metrique voulue est anisotrope, les noms des composantes
        sont :  G11, G21, G22, (G31, G32, G33 en 3D)

     2) Si le mot-clef 'AJNO' (par defaut) est donne, le mailleur peut
        generer de nouveaux noeuds.
        Si le mot-clef 'NOAJ' est donne, le mailleur ne genere pas de
        nouveaux noeuds.

     3) Un critere de qualite est donne par 3 nombres dans un LISTREEL
        Nombre 1 : type du critere de qualite et de taille d'un element
                   0 = Coupez
                   1 = \prod_i l_i^2 / \sum_i  l_i^2
                   2 = \prod_i l_i   / \sum_i  l_i
                   3 = \min l_i  / \max l_i
        Nombre 2 : exposant p de la p-moyenne des l_i pour definir la
                   taille moyenne d'un element
        Nombre 3 : exposant q utilise pour ponderer le critere de taille
                   par rapport au critere de qualite
        Les l_i sont les valeurs propres de la transformation geometrique
        entre un element reel et un element de reference regulier dans
        la metrique voulue.


    Bibliographie :
    _______________

    @article{author = {Coupez, Thierry},
         title  = {Generation de maillage et adaptation de maillage par
                  optimisation locale},
         journal = {Revue Européenne des Éléments Finis},
         volume  = {9}, number = {4}, pages = {403-423}, year = {2000},
         doi     = {10.1080/12506559.2000.10511454}}


    @PhdThesis{author = {Cyril Gruau},
           title =  {Generation de métriques pour adaptation anisotrope
              de maillage, application à la mise en forme des matériaux},
              school = {ENSMP}, year = {2004}}

    @article{author = "Cyril Gruau and Thierry Coupez",
         title = "3D tetrahedral, unstructured and anisotropic mesh
           generation with adaptation to natural and multidomain metric",
         journal = "Computer Methods in Applied Mechanics and Engineering",
         volume = "194", number = "48 - 49", pages = "4951 - 4976",
         year = "2005",
         doi = "10.1016/j.cma.2004.11.020"}

© Cast3M 2003 - Tous droits réservés.
Mentions légales