Documentation de la bibliothèque MED-fichier V2.2 : Paramètres de base de l'interface FORTRAN
|
Retour à la page de garde du guide de référence
Tout ce qui suit est disponible dans le fichier "med.hf".
Tous les paramètres qui sont décrits sont utiles à la définition des
paramètres des routines de l'API.
La taille des chaînes de caractères est standardisée en fonction de l'information représentée :
- Les unités et les noms des unités sont des chaînes de 16 caractères.
- Les noms des structures de données (champ, maillage, famille, ...)
sont des chaînes de 32 caractères.
- Les noms des groupes d'une familles sont codés sur 80 caractères.
- Les descriptions sont chaînes de 200 caractères.
integer MED_LECTURE,MED_LECTURE_ECRITURE
integer MED_LECTURE_AJOUT,MED_CREATION
parameter (MED_LECTURE=0,MED_LECTURE_ECRITURE=1)
parameter (MED_LECTURE_AJOUT=2,MED_CREATION=3)
Définit le mode d'accès aux données d'un fichier MED qui est spécifié à l'ouverture du fichier (
routine efouvr) :
- MED_LECTURE : Ouverture en lecture seule. Il est alors impossible de modifier le contenu du fichier.
- MED_LECTURE_ECRITURE : Ouverture en lecture/écriture du fichier. Si une donnée existe
déjà et qu'on la réécrit, elle est écrasée.
- MED_LECTURE_AJOUT : Ouverture en lecture/écriture du fichier. L'écriture n'est possible que pour
ajouter de nouvelles données : si une donnée existe et qu'on tente de la réécrire dans le fichier, une erreur est générée.
- MED_CREATION : Création du fichier s'il n'existe pas, écrasement sinon.
integer MED_FULL_INTERLACE, MED_NO_INTERLACE
parameter (MED_FULL_INTERLACE=0, MED_NO_INTERLACE=1)
Ces paramètres définissent le mode de stockage des données en mémoire. On trouve deux
modes possibles :
- MED_FULL_INTERLACE : Mode entrelacé.
- MED_NO_INTERLACE : Mode non entrelacé.
Exemple d'utilisation :
Stockage des coordonnées dans un tableau en mémoire dans un repère cartésien à 3 dimensions.
- En mode entrelacé : X1, Y1, Z1, X2, Y2, Z2, .... , Xn, Yn, Zn.
- En mode non entrelacé : X1, X2, ..., Xn, Y1, Y2, ..., Yn, Z1, Z2, ..., Zn
Conventions utilisées :
- Dans un fichier MED, les données sont stockées en mode non entrelacé (MED_NO_INTERLACE).
La conversion éventuelle vers ou à partir de la mémoire en mode entrelacé
est réalisée automatiquement par les routines de l'API.
- Chaque code est libre de gérer ses données en mémoire selon l'un des deux modes.
integer MED_NON_STRUCTURE, MED_STRUCTURE
parameter (MED_NON_STRUCTURE=0,MED_STRUCTURE=1)
Permet de typer un maillage selon les 2 catégories possibles :
- MED_NON_STRUCTURE : Permet de définir un maillage non structuré.
- MED_STRUCTURE : Permet de définir un maillage structuré.
Correspond au type med_maillage défini dans le package
"Maillage" du modèle de données.
integer MED_GRILLE_CARTESIENNE, MED_GRILLE_POLAIRE
integer MED_GRILLE_STANDARD
parameter (MED_GRILLE_CARTESIENNE=0,MED_GRILLE_POLAIRE=1)
parameter (MED_GRILLE_STANDARD=2)
Permet de typer une grille (maillage structuré) :
- MED_GRILLE_CARTESIENNE : Permet de définir une grille cartésienne.
- MED_GRILLE_POLAIRE : Permet de définir une grille polaire.
- MED_GRILLE_STANDARD : Permet de définir une grille standard.
Correspond au type med_type_grille défini dans le package
"Maillage" du modèle de données.
integer MED_MAILLE, MED_FACE, MED_ARETE, MED_NOEUD
parameter (MED_MAILLE=0,MED_FACE=1,MED_ARETE=2,MED_NOEUD=3)
Définit les différents types d'entités qui composent un maillage.
- MED_MAILLE : maille.
- MED_FACE : face (connectivité descendante).
- MED_ARETE : arête (connectivité descendante).
- MED_NOEUD : noeud.
integer MED_POINT1,MED_SEG2,MED_SEG3,MED_TRIA3,MED_TRIA6
integer MED_QUAD4,MED_QUAD8,MED_TETRA4,MED_TETRA10,MED_HEXA8
integer MED_HEXA20,MED_PENTA6,MED_PENTA15,MED_PYRA5,MED_PYRA13
integer MED_POLYGONE, MED_POLYEDRE, MED_NONE
parameter (MED_POINT1=1,MED_SEG2=102,MED_SEG3=103,MED_TRIA3=203)
parameter (MED_TRIA6=206,MED_QUAD4=204,MED_QUAD8=208)
parameter (MED_TETRA4=304,MED_TETRA10=310,MED_HEXA8=308)
parameter (MED_HEXA20=320,MED_PENTA6=306)
parameter (MED_PENTA15=315,MED_PYRA5=305,MED_PYRA13=313)
parameter (MED_POLYGONE = 400, MED_POLYEDRE = 500, MED_NONE=0)
Définit les différents types géométriques des éléments d'un maillage
(mailles/faces/arêtes) :
- MED_POINT1 : point à 1 noeud.
- MED_SEG2 : segment à 2 noeuds.
- MED_SEG3 : segment à 3 noeuds.
- MED_TRIA3 : triangle à 3 noeuds.
- MED_TRIA6 : triangle à 6 noeuds.
- MED_QUAD4 : quadrangle à 4 noeuds.
- MED_QUAD8 : quadrangle à 8 noeuds.
- MED_TETRA4 : tétraèdre à 4 noeuds.
- MED_TETRA10 : tétraèdre à 10 noeuds.
- MED_HEXA8 : hexaèdre à 8 noeuds.
- MED_HEXA20 : hexaèdre à 20 noeuds.
- MED_PENTA6 : pentaèdre à 6 noeuds.
- MED_PENTA15 : pentaèdre à 15 noeuds.
- MED_PYRA5 : pyramide à 5 noeuds.
- MED_PYRA13 : pyramide à 13 noeuds.
- MED_POLYGONE : polygone quelconque.
- MED_POLYEDRE : polyèdre quelconque.
- MED_NONE : vide.
Remarques :
- Correspondent
- Aux mailles : tous les types géométriques possibles.
- Aux faces : les entités de dimension 2 : MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_POLYGONE.
- Aux arêtes : les entités de dimension 1 : MED_SEG2, MED_SEG3.
-
Constantes littérales associées :
integer MED_NBR_GEOMETRIE_MAILLE
integer MED_NBR_GEOMETRIE_FACE
integer MED_NBR_GEOMETRIE_ARETE
parameter (MED_NBR_GEOMETRIE_MAILLE = 15,MED_NBR_GEOMETRIE_FACE=4)
parameter (MED_NBR_GEOMETRIE_ARETE = 2)
Ces constantes correspondent au nombre de types de mailles/faces/arêtes dont la géométrie
est pré-définie (les types MED_POLYGONE et MED_POLYEDRE ne sont donc pas comptés).
-
A noter que des valeurs entières sont associées à chaque type géométrique : pour chacune, le premier chiffre indique la dimension de l'entité,
son modulo 100 son nombre de noeuds.
Ces conventions ne s'appliquent pas aux types MED_POLYGONE et MED_POLYEDRE.
integer MED_COOR, MED_CONN, MED_NOM, MED_NUM, MED_FAM
integer MED_COOR_IND1,MED_COOR_IND2,MED_COOR_IND3
parameter (MED_COOR=0,MED_CONN=1,MED_NOM=2,MED_NUM=3,MED_FAM=4)
parameter (MED_COOR_IND1=5,MED_COOR_IND2=6,MED_COOR_IND3=7)
Permet d'accéder à un type d'attribut interne
des entités d'un maillage.
- MED_COOR : coordonnées des noeuds.
- MED_CONN : connectivité des mailles/faces/arêtes.
- MED_NOM : noms des noeuds/mailles/faces/arêtes.
- MED_NUM : numéros des noeuds/mailles/faces/arêtes.
- MED_FAM : familles des noeuds/mailles/faces/arêtes.
- MED_COORD_IND1 : coordonnées des indices de l'axe 1 d'une grille.
- MED_COORD_IND2 : coordonnées des indices de l'axe 2 d'une grille.
- MED_COORD_IND3 : coordonnées des indices de l'axe 3 d'une grille.
integer MED_NOD, MED_DESC
parameter (MED_NOD=0, MED_DESC=1)
Il existe deux modes de connectivité pour décrire la connectivité des mailles d'un maillage :
- MED_NOD : connectivité nodale.
- MED_DESC : connectivité descendante.
Remarques :
- Dans le cadre de la connectivité nodale, les mailles sont décrites par la liste des noeuds qui les composent. Pour la connectivité descendante, les mailles sont décrites par les faces, les faces par les arêtes, les arêtes par les noeuds.
-
Il n'y a pas de conversion automatique entre les 2 modes de représentation. Si les mailles sont stockées dans un fichier
en mode nodale, un code ne pourra pas les lire en mode descendant.
integer MED_CART, MED_CYL, MED_SPHER
parameter (MED_CART=0,MED_CYL=1, MED_SPHER=2)
Définit le type du repère des coordonnées des noeuds dans un maillage
non structuré :
- MED_CART : cartésien.
- MED_CYL : cylindrique.
- MED_SPHER : sphérique.
integer MED_INT32,MED_INT64,MED_FLOAT64
parameter (MED_INT32=24, MED_INT64=26,MED_FLOAT64=6)
Il s'agit du type des valeurs des composantes d'un champ.
- MED_FLOAT64 : flottant 64 bits IEEE.
- MED_INT32 : entier 32 bits.
- MED_INT64 : entier 64 bits.
Ces constantes sont à utiliser pour le paramétrage des routines sur les
champs de résultats.
C Pas de point de Gauss
integer MED_NOPG
parameter (MED_NOPG = 1)
character*32 MED_NOGAUSS
parameter (MED_NOGAUSS=' ')
C Pas de profils utilisateur
integer MED_NOPF
parameter (MED_NOPF = 0)
character*32 MED_NOPFL
parameter (MED_NOPFL=' ')
C Pas de pas de temps
integer MED_NOPDT
parameter (MED_NOPDT = -1)
C Pas de numéro d'ordre
integer MED_NONOR
parameter (MED_NONOR = -1)
C Prise en compte de toutes les composantes
integer MED_ALL
parameter (MED_ALL = 0)
integer MED_NO_PFLMOD, MED_GLOBAL, MED_COMPACT
parameter (MED_NO_PFLMOD=0, MED_GLOBAL=1, MED_COMPACT=2)
Permet de spécifier le mode de répartition des valeurs
d'un champ définies sur un profil de champ :
- MED_COMPACT :
- Seules les valeurs relatives au profil sont
en mémoire.
- Les points de Gauss apparaissent normalement
en mémoire.
- Le mode d'entrelacement mémoire est pris en compte.
- MED_GLOBAL (en test) :
- La totalité des
valeurs du champ sont en mémoire. La librairie MED-fichier s'occupe de
sélectionner les valeurs en fonction des numéros
indiqués à l'écriture du profil.
- Les points de Gauss apparaissent normalement en mémoire.
- Le mode d'entrelacement mémoire est pris en compte.
- MED_NOPFLMOD : aucun mode à gérer (pas de profil).
integer MED_MAILLAGE
integer MED_CHAMP
parameter (MED_MAILLAGE= 0)
parameter (MED_CHAMP= 1)
Permet de spécifier le type des données stockées dans un
fichier différent du fichier courant et que l'on veut monter dans
le fichier courant :
- MED_MAILLAGE : accès au(x) maillage(s) du fichier que l'on veut monter.
- MED_CHAMP :accès au(x) champ(s) du fichier que l'on veut monter.
logical MED_FAUX, MED_VRAI
parameter (MED_FAUX=.FALSE.,MED_VRAI=.TRUE.)