u4.21.01 Opérateur LIRE_MAILLAGE#
Syntaxe#
Détail de la syntaxe
maillage = LIRE_MAILLAGE(
◇ FORMAT = / "ASTER",
/ "GIBI",
/ "GMSH",
/ "IDEAS",
/ "MED" (par défaut),
⟐ VERI_MAIL = _F(
◇ VERIF = / "OUI" (par défaut),
/ "NON",
◇ APLAT = float (défaut: 0.001),
),
# Si: ( not equal_to("FORMAT", 'MED') )
◇ UNITE = unit (défaut: 20),
# Si: ( equal_to("FORMAT", 'MED') )
◇ UNITE = unit (défaut: 20),
◇ NOM_MED = text,
◇ INFO_MED = / 0 (par défaut),
/ 1,
◇ PARTITIONNEUR = / "SANS" (par défaut),
/ "PTSCOTCH",
# Si: ( equal_to("FORMAT", 'IDEAS') )
◇ CREA_GROUP_COUL = / "OUI",
/ "NON" (par défaut),
◇ INFO = / 0,
/ 1 (par défaut),
/ 2,
)
◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles
Opérandes#
Opérande UNITE#
◊ UNITE = i
Numéro d’unité logique du fichier maillage. Unité 20 par défaut.
Opérande FORMAT#
◊ FORMAT = / 'MED' [DEFAUT]
/ 'ASTER'
/ 'GMSH'
Ce mot clé sert à préciser le format du fichier à lire. Aujourd’hui trois formats sont supportés: “MED”, “ASTER” et “GMSH”.
Le format “ASTER” est décrit dans [U3.01.00].
Le format “MED’qui signifie «Modélisation et Echanges de Données» est un format de données neutre développé par EDFR&D et le CEA pour les échanges de données entre codes de calcul. Les données que l’on peut échanger selon ce format sont les maillages et les champs de résultats: champs aux nœuds, champs par élément. Les fichiers MED sont des fichiers binaires et portables (s’appuyant sur la bibliothèque HDF, Hierarchical Data Format). La lecture d’un fichier MED par LIRE_MAILLAGE, permet de récupérer un maillage produit par tout autre code capable de créer un fichier MED. C’est le format conseillé dans code_aster et celui par défaut.
Quel que soit le format, les données lues sont:
|
numéro, nom, coordonnées, |
|
numéro, nom, type, nom des nœuds, |
|
numéro, nom, nombre de nœuds, noms des nœuds, |
|
numéro, nom, nombre de mailles, noms des mailles. |
Nota:
Dans un fichier MED, il y a partition des n œ uds et des mailles en fonction des groupes. Une partition correspond à une famille MED. Dans un fichier MED, les groupes sont répartis au sein des familles: on y trouve donc des familles de n œ uds et des familles de mailles. Lors de la lecture d’un fichier MED, les listes des groupes de n œ uds et de mailles sont constituées à la volée par décomposition des familles.
Concernant GMSH, les fichiers aux formats ASCII 1.0 et 2.0 sont lus.
Dans GMSH, les groupes sont toujours numérotés. Ils sont également parfois nommés en version 2.0.
Pour le format GMSH version 1, les groupes de nœuds et mailles sont lus de la façon suivante:
tous les groupes d’éléments de numéros 1, 2, … de GMSH sont transformés engroupes de mailles (GROUP_MA) portant le nom GM1, GM2,
les groupes sont mutuellement exclusifs: une maille ne peut appartenir à plusieurs groupes.
Pour le format GMSH version 2, les groupes de nœuds et mailles sont lus de la façon suivante :
seuls les groupes nommés dans GMSH (section PhysicalNames du format msh ) sont importés;
les groupes peuvent se recouvrir: une maille peut appartenir à plusieurs groupes;
le type GMSH de la maille doit être cohérent avec la dimension GMSH du groupe pour pouvoir appartenir à ce groupe (par exemple segment à 2 nœud pour un groupe 1D)
Opérande VERI_MAIL#
Le mot clé VERI_MAIL déclenche 4 vérifications sur le maillage :
absence de nœuds orphelins,
absence de mailles « en double »,
absence de mailles quadratiques ayant les mêmes noeuds sommets mais pas les mêmes noeuds milieux,
absence de mailles trop aplaties.
Si ces vérifications ne sont pas satisfaites, le code émet une alarme.
Par défaut (c’est-à-dire en l’absence du mot clé VERI_MAIL), les vérifications sont faites. Si l’utilisateur veut éviter ces vérifications, il écrira:
VERI_MAIL = _F (VERIF = 'NON',)
Un nœud est déclaré orphelin s’il ne fait partie de la connectivité d’aucune maille.
Une maille est déclarée « en double », si 2 mailles (ou plus) ont des connectivités formées par la même liste de nœuds.
Le mot clé APLAT= ap permet d’émettre des alarmes lorsque le maillage contient des mailles trop aplaties.
L’aplatissement d’une maille est définie comme le rapport Amin/Amax où Amin et Amax sont les longueurs des arrêtes la plus courte et la plus longue de la maille. Le nom des mailles dont l’aplatissement est inférieur à ap sera imprimé sur le fichier “MESSAGE”.
D’autres critères de qualité pour le maillage sont disponibles via la commande MACR_INFO_MAIL [U7.03.02].
Dans le cas de l’émission d’un message d’erreur ou d’alarme, il est possible d’essayer de créer un maillage réparé avec la fonction suivante
fix_mesh = mesh.fix()
Opérandes pour le format “MED”#
◊ NOM_MED = mamed
Un fichier MED peut contenir plusieurs maillages. Chaque maillage est repéré par son nom. Pour lire un maillage en particulier, il faut fournir son nom en argument de ce mot clé NOM_MED. En l’absence de mot-clé, le premier maillage trouvé dans le fichier sera lu. Lorsque le fichier ne contient qu’un maillage, il n’y a donc rien à préciser.
Remarques:
Dans un maillage, un groupe de mailles peut être composé d’éléments de différente s dimension s (bords, faces ou volumes).
Ce genre de groupe s’affiche dans Salome (module Mesh) comme plusieurs groupes portant lemême nom sous différentes catégories, mais en fait c’est un seulgroupe dans code_aster.
◊ INFO_MED= / 1, [DEFAUT]
/ 2,
/ 3
Imprime des informations spécifiques sur le déroulement de la relecture du fichier de maillage MED (nombre de nœuds et de mailles relus, informations sur les familles MED, …) :
INFO_MED = 1 : aucune impression,
INFO_MED = 2 :uniquement des impressions relatives à la correspondance famille / groupe,
INFO_MED = 3:la totalité des informations sont imprimées.
◊ PARTITIONNEUR= / ‘SANS’, : [DEFAUT]
/ ‘PTSCOTCH’
Par défaut (SANS), le maillage n’est pas découpé (séquentiel et ancien parallèlisme).
Avec PTSCOTCH, cela permet de partitionner un maillage contenu dans un fichier pour le distribuer entre les différents sous-domaines lors d’un calcul parallèle. Le maillage est découpé en autant de sous-domaines que de processus MPI. En séquentiel, le mot-clé est ignoré.Attention, pour le moment, certaines mailles POI1 ne sont pas recopiées.
Opérandes pour le format “IDEAS”#
◊ CREA_GROUP_COUL
L’utilisateur peut demander la création de groupes de mailles et de nœuds regroupant toutes les mailles et nœuds de même couleur en indiquant CREA_GROUP_COUL = “OUI”. Ces groupes sont nommés COUL_n ou n est le numéro de la couleur dans IDEAS.
Par défaut ce n’est pas fait pour ne pas augmenter inutilement le nombre de groupes de mailles et de nœuds.
Remarques:
On ne traite que des systèmes de coordonnées cartésiens.
On ne gère qu’un seul système de coordonnées cartésien.
Lors de la conversion du fichier universel IDEAS, on vérifie si l’utilisateur a défini plusieurs systèmes de coordonnées. Si c’est le cas, un message d’alarme en avertit l’utilisateur, pour lui demander de vérifier que tous les systèmes de coordonnées sont identiques.
Opérande INFO#
◊ INFO = / 1 , [DEFAUT]
/ 2
Niveau d’impression.
Si: INFO= 1
titre du maillage,
nombre de nœuds,
nombre de mailles de chaque type,
nombre de groupes de nœuds et pour chacun d’eux son nom et le nombre de nœuds du groupe
nombre de groupes de mailles et pour chacun d’eux son nom et le nombre de mailles du groupe.
Si: INFO= 2 on imprime en plus des informations de INFO= 1:
liste des nœuds |
numéro, nom, coordonnées, |
liste des mailles |
numéro, nom, type, nom des nœuds, |
liste des groupes de nœuds |
numéro, nom, nombre de nœuds, noms des nœuds, |
liste des groupes de mailles |
numéro, nom, nombre de mailles, noms des mailles. |