HOMARD : Pilotage

Version anglaise

 
 

Balle rouge Comment faire ?

HOMARD est disponible sur de nombreuses plate-formes. Par exemple, des PC sous LINUX, des stations de travail SUN, Compaq, etc. Il peut tout à fait être utilisé avec un autre logiciel de calcul que Code_Aster®, moyennant une gestion du couplage. Pour réaliser l'adaptation d'un maillage, il faut fournir les informations suivantes à HOMARD :


La première information est une interaction avec le logiciel de calcul. La transmission du maillage, de l'indicateur d'erreur et des champs à mettre à jour se fait par un fichier au format MED, développé dans le cadre du projet SALOME. Les séries de version V8.x et suivantes utilisent la version 2.3.1 de MED.
Les parentés sont stockées dans un fichier produit automatiquement par HOMARD. En entrée d'une adaptation, on doit fournir le fichier produit à la fin de l'adaptation précédente. Au tout premier passage, on ne fournit rien.
La dernière information sur les données de pilotage est transmise à HOMARD via un fichier texte. Ce fichier texte peut être écrit automatiquement par une procédure de couplage. C'est ce qui se passe avec Code_Aster ou Code_Saturne.


 

Balle rouge Les données de pilotage

Balle jaune Les conventions

Pour utiliser HOMARD, on doit fournir un jeu de données qui contient la définition de tous les fichiers qui entrent en jeu ainsi que les options de pilotage.
Les conventions qui régissent ce fichier sont les suivantes :

  • Le fichier s'intitule "HOMARD.Configuration" ; il est à placer dans le répertoire d'exécution.
  • Une ligne comporte au plus 200 caractères.
  • Une ligne correspond à une information.
  • Une ligne blanche est une ligne ignorée .
  • Une ligne commençant par un caractère # est une ligne ignorée ; on peut écrire des commentaires à la suite du #.
  • L'ordre des lignes n'a aucune importance ; si une même information apparaît plusieurs fois, seule la dernière sera retenue.
  • Une ligne est formée d'un mot-clé, suivi d'une ou deux données.
  • Le mot-clé et les données sont séparés par au moins un caractère blanc ; les autres caractères blancs sont ignorés.
  • Les variables d'environnement, comme $HOME, sont interprétées à l'exécution de HOMARD.


  • Balle jaune Exemple

    #
    # 1. La sortie standard
    #
    ListeStd   $HOME/Etude_rotor/cas_1/Liste.01.vers.02
    #
    # 2. Le pilotage général
    #
    Action   homa
    NumeIter   1
    CCAssoci med
    #
    # 3. Le lien avec le calcul
    #
    CCNoMN__   M_1
    CCMaiN__   $HOME/Etude_rotor/cas_1/maill.01.med
    CCSolN__   $HOME/Etude_rotor/cas_1/maill.01.med
    #
    CCNoMNP1   M_2
    CCMaiNP1   $HOME/Etude_rotor/cas_1/maill.02.med
    CCSolNP1   $HOME/Etude_rotor/cas_1/maill.02.med
    #
    # 4. Options de l'adaptation
    #
    CCNoChaI ERREST RESU_1__ERRE_ELEM_NORE__________
    CCNumOrI 10
    CCNumPTI 10
    CCIndica   $HOME/Etude_rotor/cas_1/maill.01.med
    TypeRaff   libre
    SeuilHPE   3.
    TypeDera   libre
    SeuilBPE   25.
    #
    # 5. Les champs à mettre à jour
    #
    CCChaNom 1 RESU_1__TEMP____________________
    CCChaNuO 1 9
    CCChaPdT 1 9
    CCChaNom 2 RESU_1__DEPL____________________
    CCChaNuO 2 10
    CCChaPdT 2 10
    #
    # 6. Les fichiers HOMARD temporaires
    #
    HOMaiN__   Mai1   /tmp/maill.01.hom
    HOMaiNP1   Mai2   /tmp/maill.02.hom
    

    Quelques commentaires sur ce jeu de commandes.
    Le point de départ est un maillage obtenu après 1 itération d'adaptation. Son nom est M_1 et il est présent dans le fichier $HOME/Etude_rotor/cas_1/maill.01.med. Après adaptation, le nouveau maillage aura pour nom M_2 et sera écrit dans le fichier $HOME/Etude_rotor/cas_1/maill.02.med.
    L'adaptation se fera moyennant la composante ERREST du champ RESU_1__ERRE_ELEM_NORE__________, aux numéro d'ordre et pas de temps 10. Ce champ d'indicateur d'erreur est présent dans le fichier $HOME/Etude_rotor/cas_1/maill.01.med. Le raffinement est demandé sur les 3% d'éléments ayant les plus fortes erreurs. Le dérafinement est demandé pour les 25% d'éléments ayant les erreurs les plus faibles.
    Le champ RESU_1__TEMP____________________, aux numéro d'ordre et de pas de temps 9, et le champ RESU_1__DEPL____________________, aux numéro d'ordre et de pas de temps 10, seront mis à jour. Ils sont lus dans le fichier $HOME/Etude_rotor/cas_1/maill.01.med, puis écrits dans le fichier $HOME/Etude_rotor/cas_1/maill.02.med.
    Les fichiers temporaires /tmp/maill.01.hom et /tmp/maill.02.hom contiennent les structures de données HOMARD correspondants aux parentés des maillages des itérations 1 et 2. Ces parentés sont connues sous les noms Mai1 et Mai2.
    Enfin, les messages émis par HOMARD seront écrits dans le fichier $HOME/Etude_rotor/cas_1/Liste.01.vers.02.

    Balle jaune Liste des mots-clés

    Voici la liste des mots-clés possibles. Quand une valeur par défaut existe, elle est mentionnée en bleu.

    Les maillages en entrée et en sortie :

    *NumeIter Numéro d'itération du maillage d'entrée.
    *CCMaiN__ Nom du fichier MED contenant le maillage à adapter.
    *CCNoMN__ Nom du maillage à adapter dans le fichier.
    *CCMaiNP1 Nom du fichier MED qui contiendra le nouveau maillage.
    *CCNoMNP1 Nom du maillage adapté.


    L'indicateur d'erreur peut comporter plusieurs composantes. Si plusieurs composantes sont à prendre en compte il faut indiquer lesquelles et le mode de prise en compte (norme, absolue...). Si ce n'est pas fait, HOMARD prend la norme Euclidienne de toutes les composantes. :

    CCIndicaNom du fichier MED contenant l'indicateur d'erreur.
    *CCNoChaINom du Champ dans le fichier à utiliser, comme indicateur d'erreur.
    CCCoChaINom de la composante à utiliser.
    CCUsCmpIMode de calcul de l'indicateur -1 :
    • 0 norme L2,
    • 1 norme infinie,
    • 2 valeur relative. (uniquement si une seule composante est spécifiée
    CCModeFIMode de Fonctionnement de l'indicateur -2 :
    • 0 : La valeur par maille de l'indicateur est utilisé.
    • 1 : Le saut de l'indicateur entre deux mailles est utilisé
    CCNumOrI Numéro d'ordre voulu. Par défaut, HOMARD suppose que le champ a été écrit sans numéro d'ordre.
    CCNumPTI Numéro de pas de temps voulu. Par défaut, HOMARD suppose que le champ a été écrit sans numéro de pas de temps.


    Les champs à mettre à jour :

    *CCSolN__ Nom du fichier MED contenant les champs à mettre à jour.
    *CCSolNP1 Nom du fichier MED contenant les nouveaux champs.

    Puis pour chaque champ à mettre à jour, on trouve le triplet :

    *CCChaNom Rang Nom du champ.
    *CCChaNuO Rang Numéro d'ordre.
    *CCChaPdT Rang Numéro de pas de temps.
    CCChaIns Rang Instant.
    CCChaCaS Rang Caractéristiques du support du champ : 'standard' ou 'aux_noeuds_par_element'.
    CCChaNCN Rang Pour un champ aux points de Gauss, rang du champ aux nœuds par élément associé'.

    Le rang du champ est un entier compris entre 1 et le nombre total de champs à mettre à jour. Les lignes peuvent être mises dans n'importe quel ordre dans le fichier de configuration à condition que cette numérotation soit sans trou.


    Raffinement selon des zones. On a le choix entre plusieurs types de zone:

    ZoRaType Numero de Zone 1 Zone rectangulaire. 5 Zone cylindrique
    2 Zone parallélépipédique 6 Disque percé
    3 Disque 7 Tuyau
    4 Zone Sphèrique


    Les zones 2D sous-entendent un Z constant. Dans ce cas les caractéristiques des zones concernant Z ne sont pas remplies.


    Zone rectangulaire ou parallélépipédique ZoRaXmin Numero de zone Xmin de la boite ZoRaXmax Numero de zone Xmax de la boite
    ZoRaYmin Numero de zone Ymin de la boite ZoRaYmax Numero de zone Ymax de la boite
    ZoRaZmin Numero de zone Zmin de la boite ZoRaZmax Numero de zone Zmax de la boite


    Zone Sphérique ou en disque ZoRaXCen Numero de zone X du Centre de la sphère
    ZoRaYCen Numero de zone Y du Centre de la sphère
    ZoRaZCen Numero de zone Z du Centre de la sphère
    ZoRaRayo Numero de zone Rayon de la sphère


    Zone cylindrique ZoRaXBas Numero de zone X du Centre de la Base
    ZoRaYBas Numero de zone Y du Centre de la Base
    ZoRaZBas Numero de zone Z du Centre de la Base
    ZoRaRayo Numero de zone Rayon du cylindre
    ZoRaXAxe Numero de zone X du vecteur Axe
    ZoRaYAxe Numero de zone Y du vecteur Axe
    ZoRaZAxe Numero de zone Z du vecteur Axe
    ZoRaHaut Numero de zone Hauteur


    Tuyau ZoRaXBas Numero de zone X du Centre de la Base
    ZoRaYBas Numero de zone Y du Centre de la Base
    ZoRaZBas Numero de zone Z du Centre de la Base
    ZoRaXAxe Numero de zone X du vecteur Axe
    ZoRaYAxe Numero de zone Y du vecteur Axe
    ZoRaZAxe Numero de zone Z du vecteur Axe
    ZoRaHaut Numero de zone Hauteur
    ZoRaRayI Numero de zone Rayon int´rieur du tuyau
    ZoRaRayE Numero de zone Rayon ext´rieur du tuyau

    Stratégie d'adaptation. On a le choix entre plusieurs types de raffinement et déraffinement :

    TypeRaff libre Raffinement conforme.
    non_conforme_1_noeud Raffinement non-conforme avec uniquement 1 nœud pendant par arête.
    non_conforme_1_arete Raffinement non-conforme avec uniquement 1 arête coupée par maille.
    non_conforme_indicateur Raffinement non-conforme fidèle à l'indicateur.
    uniforme Tous les éléments sont découpés.
    non Pas de raffinement.
    TypeDera libre Déraffinement piloté par des informations maille par maille.
    uniforme Tous les éléments sont regroupés.
    non Pas de déraffinement.


    Options particulières au raffinement :

    NiveauMa Niveau maximum de raffinement à ne pas dépasser.
    SeuilHau Seuil d'erreur absolu. Tous les éléments à erreur plus forte sont découpés.
    SeuilHRe Seuil d'erreur relatif. Idem, mais le seuil est une fraction de l'écart d'erreur maxi/mini. Le seuil est donné en %, entre 0 et 100.
    SeuilHPE Fraction d'éléments à la plus forte erreur. Le seuil est donné en %, entre 0 et 100.


    Options particulières au déraffinement :

    NiveauMi Niveau minimum de déraffinement à en-dessous duquel on ne doit pas descendre.
    SeuilBas Seuil d'erreur absolu. Tous les éléments à erreur plus faible sont regroupés.
    SeuilBRe Seuil d'erreur relatif. Idem, mais le seuil est une fraction de l'écart d'erreur maxi/mini. Le seuil est donné en %, entre 0 et 100.
    SeuilBPE Fraction d'éléments à la plus faible erreur. Le seuil est donné en %, entre 0 et 100.


    Options complémentaires :

    ListeStd Nom du fichier pour la liste standard de sortie.


    Suivi de la frontière (adaptation en 2D uniquement) :

    Le suivi d'une frontière se fait en rapprochant les éléments qui appartiennent à des groupes de même nom entre le maillage de calcul et le maillage de cette frontière. Si aucune information complémentaire n'est donnée, tous les groupes d'éléments contenus dans le maillage de la frontière seront examinés. On peut restreindre ce suivi à une liste de groupes, en les désignant par autant de lignes que de groupes. C'est la seule exception à la règle qui veut que seule la dernière ligne est prise en compte :

    SuivFron non Pas de suivi de frontière.
    oui Une frontière est suivie.
    CCFronti Nom du fichier MED contenant le maillage de la frontière.
    CCNoMFro Nom du maillage de la frontière.
    CCGroFro Nom du groupe à suivre


    On trouve ensuite des options diverses, toutes optionnelles :

    Langue Francais Les messages sont en français.
    Anglais Les messages sont en ... anglais !
    TypeBila 0 Aucun bilan sur le maillage. Sinon, on donne un entier produit des nombres suivants :
    2 Nombre d'entités au sens HOMARD.
    3 Interpénétration des éléments. Attention, ce peut être assez cher en 3D !
    5 Qualité des éléments.
    7 Nombre d'entités au sens du logiciel de calcul couplé.
    11 Analyse de la connexité du maillage.
    13 Tailles des sous-domaines.
    PPBasFic Un préfixe pour les noms de fichiers auxiliaires produits par HOMARD et récapitulant des informations sur le maillage. Si ce mot-clé est absent, le sinformations sont écrites dans la sortie standard.
    ModeHOMA 1 Utilisation de HOMARD pour adapter un maillage.
    2 Utilisation de HOMARD pour obtenir des informations sur un maillage.
    TypeElem tous Tous les types d'éléments découpables par HOMARD sont acceptés : segments, triangles, quadrangles, tétraèdres.
    mixte L'adaptation porte sur les zones possibles, mais des zones en hexaèdres ou pentaèdres peuvent transiter, à condition de ne pas être contaminées par le raffinement.
    simplexe Seuls les simplexes (segments, triangles, tétraèdres) sont permis.
    CCAssoci med Le logiciel de calcul associé a produit ses maillages au format MED.
    HOMARD On part de maillages au format HOMARD.


    [ Haut de la page | Comment faire ? | Les données de pilotage | Règles | Avec Code_Aster® ]


    Logo droit [ Accueil | Présentation | Images | Mode d'emploi | Documentation | Contact ] Logo gauche

    © EDF Electricité de France 1996, 1997, 2010. Tous droits réservés.