## Documentation de la bibliothèque MED-fichier V2.2 : Guide de référence - Module "MED_Entité".

Sommaire de la page
- - Liste des routines Accès direct par le nom Interface C
    MEDconnEcr MEDconnLire MEDcoordEcr MEDcoordLire MEDelementsEcr MEDelementsLire MEDfamEcr MEDfamLire MEDindicesCoordEcr | MEDindicesCoordLire MEDpolygoneConnEcr MEDpolygoneInfo MEDpolygoneConnLire MEDpolyedreConnEcr MEDpolyedreInfo MEDpolyedreConnLire MEDnEntMaa | MEDnoeudsEcr MEDnoeudsLire MEDnomEcr MEDnomLire MEDnumEcr MEDnumLire MEDstructureCoordEcr MEDstructureCoordLire
  - Interface FORTRAN
    efcone efconl efcooe efcool efelee efelel effame effaml eficoe | eficol efnema efnoee efnoel efnome efnoml efnume efnuml | efpece efpecl efpgce efpgcl efpyei efpygi efscoe efscol
- Accès thématique
  Ecriture des coordonnées des noeuds Interface C : MEDcoordEcr Interface FORTRAN : efcooe Lecture des coordonnées des noeuds Interface C : MEDcoordLire Interface FORTRAN : efcool Ecriture de la structure des coordonnées d'une grille Interface C : MEDstructureCoordEcr Interface FORTRAN : efscoe Lecture de la structure des coordonnées d'une grille Interface C : MEDstructureCoordLire Interface FORTRAN : efscol Ecriture des indices de coordonnées d'une grille Interface C : MEDindicesCoordEcr Interface FORTRAN : eficoe Lecture des indices de coordonnées d'une grille Interface C : MEDindicesCoordLire Interface FORTRAN : eficol Ecriture des connectivités Interface C : MEDconnEcr Interface FORTRAN : efcone Lecture des connectivités Interface C : MEDconnLire Interface FORTRAN : efconl Ecriture des connectivités des polygones Interface C : MEDpolygoneConnEcr Interface FORTRAN : efpgce Information sur les polygones Interface C : MEDpolygoneInfo Interface FORTRAN : efpygi Lecture des connectivités des polygones Interface C : MEDpolygoneConnLire Interface FORTRAN : efpgcl Ecriture des connectivités des polyèdres Interface C : MEDpolyedreConnEcr Interface FORTRAN : efpece Information sur les polyèdres Interface C : MEDpolyedreInfo Interface FORTRAN : efpyei | Lecture des connectivités des polyèdres Interface C : MEDpolyedreConnLire Interface FORTRAN : efpecl Ecriture des noms Interface C : MEDnomEcr Interface FORTRAN : efnome Lecture des noms Interface C : MEDnomLire Interface FORTRAN : efnoml Ecriture des numéros Interface C : MEDnumEcr Interface FORTRAN : efnume Lecture des numéros Interface C : MEDnumLire Interface FORTRAN : efnuml Ecriture des numéros de famille Interface C : MEDfamEcr Interface FORTRAN : effame Lecture des numéros de famille Interface C : MEDfamLire Interface FORTRAN : effaml Lecture d'un nombre d'entités Interface C : MEDnEntMaa Interface FORTRAN : efnema Ecriture des noeuds d'un maillage non structuré Interface C : MEDnoeudsEcr Interface FORTRAN : efnoee Lecture des noeuds d'un maillage non structuré Interface C : MEDnoeudsLire Interface FORTRAN : efnoel Ecriture des éléments d'un maillage non structuré Interface C : MEDelementsEcr Interface FORTRAN : efelee Lecture des éléments d'un maillage non structuré Interface C : MEDelementsLire Interface FORTRAN : efelel

Retour à la page du guide de référence.

# Liste des routines

Les routines disponibles permettent de :

- Lire et écrire les coordonnées des noeuds d'un maillage non structuré ou d'un maillage structuré de type MED_GRILLE_STANDARD.
- Lire et écrire la structure des coordonnées d'un maillage structuré (NOUVELLE FONCTIONNALITE).
- Lire et écrire les coordonnées des indices d'un axe d'une grille cartésienne ou polaire (NOUVELLE FONCTIONNALITE).
- Lire/écrire les connectivités des mailles/faces/arêtes d'un maillage non structuré. On prend en compte désormais les polyèdres et les polygones quelconques (NOUVELLES FONCTIONNALITES).
- Lire/écrire les noms des entités d'un maillage (noeuds/mailles/faces/arêtes).
- Lire/écrire les numéros des entités d'un maillage (noeuds/mailles/faces/arêtes).
- Lire/écrire les numéros des familles des entités d'un maillage (noeuds/mailles/faces/arêtes).
- Lire le nombre d'entités d'un maillage (noeuds/mailles/faces/arêtes)
- Lire le nombre d'indices présents sur un axe d'une grille cartésienne ou polaire.

On distingue deux niveaux de routines :

1. Les routines élémentaires de niveau 1 qui permettent d'accéder en lecture ou en écriture aux attributs internes des entités (noeuds/mailles/faces/arêtes) d'un maillage MED. Ces routines élémentaires s'adressent à un type d'attribut en particulier (coordonnées des noeuds, connectivité, nom, numéro, numéro de famille).
2. Les routines de niveau 2 qui mutualisent les traitements des routines de niveau 1 : elles permettent de lire ou d'écrire tous les attributs des entités (noeuds/mailles/faces/arêtes) d'un maillage non structuré.

# Ecriture des coordonnées des noeuds

### Interface C

- Nom : MEDcoordEcr
- Signature :

      med_err
      MEDcoordEcr(med_idt fid, char *maa, med_int mdim, med_float *coo,
      	    med_mode_switch mode_switch,med_int n,
      	    med_repere type_rep, char *nom, char *unit)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - coo (IN) : tableau des coordonnées des noeuds
  - mode_switch (IN) : mode de stockage des coordonnées dans le tableau "coo"
  - n (IN) : nombre de noeuds
  - type_rep (IN) : type du repère des coordonnées
  - nom (IN) : noms des coordonnées
  - unit (IN) : unités des coordonnées
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efcooe
- Signature :

             subroutine efcooe(fid, maa, mdim, coo, modswt,
           &                  n,typrep,nom,unit,cret)

            character *(*) maa
            real*8 coo(*)
            integer fid,typrep,mdim
            integer n,cret,modswt
            character *(*) nom, unit

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - coo (IN) : tableau des coordonnées des noeuds
  - modswt (IN) : mode de stockage des coordonnées dans le tableau "coo"
  - n (IN) : nombre de noeuds
  - typrep (IN) : type du repère des coordonnées
  - nom (IN) : noms des coordonnées
  - unit (IN) : unités des coordonnées
  - cret (OUT) : code de retour, 0 si réussite, -1 sinon

### Description

Ecriture des coordonnées des noeuds d'un maillage non structuré ou d'un maillage structuré de type MED_GRILLE_STANDARD.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le tableau des coordonnées "coo" est un tableau à 1 dimension de taille égale à "n * mdim".
- Le mode de stockage du tableau "coo" en mémoire est soit MED_FULL_INTERLACE, soit MED_NO_INTERLACE.
- Le type du repère est soit MED_CART (cartésien), soit MED_CYL (cylindrique), soit MED_SPHER (sphérique).
- Chaque nom et unité de coordonnées est de MED_TAILLE_PNOM (16) caractères.
- Evolutions apportées par MED-fichier V2.2 :
  - Disparition du paramètre "mode" qui spécifiait le mode d'écriture des coordonnées. Le mode d'accès aux données d'un fichier MED se décide désormais à l'ouverture de ce fichier.
  - La taille des paramètres "nom" et "unit" passe de 8 à 16 caractères.

# Lecture des coordonnées des noeuds

### Interface C

- Nom : MEDcoordLire
- Signature :

      med_err
      MEDcoordLire(med_idt fid, char *maa, med_int mdim, med_float *coo,
      	     med_mode_switch mode_switch,med_int numco,
      	     med_int * pfltab, med_size psize, med_repere *type_rep, char *nom, char *unit)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - coo (OUT) : tableau des coordonnées des noeuds
  - mode_switch (IN) : mode de stockage en mémoire souhaité pour les coordonnées dans le tableau "coo"
  - numco (IN) : numéro de la coordonnée à lire.
  - pfltab (IN) : profil des numéros des noeuds à lire
  - psize (IN) : taille du tableau "pfltab"
  - type_rep (OUT) : repère des coordonnées
  - nom (OUT) : noms des coordonnées
  - unit (OUT) : unités des coordonnées
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efcool
- Signature :

            subroutine efcool(fid, maa, mdim,coo,modswt,
           1                  numco,pfltab,psize,
           1                  typrep,nom,unit,cret)

            character *(*) maa
            real*8 coo(*)
            integer mdim
            integer fid,typrep,n,cret,modswt
            integer pfltab(*),psize, numco
            character *(*) nom, unit

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - coo (OUT) : tableau des coordonnées des noeuds
  - modswt (IN) : mode de stockage en mémoire souhaité pour les coordonnées dans le tableau "coo"
  - numco (IN) : numéro de la coordonnée à lire.
  - pfltab (IN) : profil des numéros des noeuds à lire
  - psize (IN) : taille du tableau "pfltab"
  - typrep (OUT) : repère des coordonnées
  - nom (OUT) : noms des coordonnées
  - unit (OUT) : unités des coordonnées
  - cret (OUT) : code retour, 0 si réussite, -1 sinon

### Description

Lecture des coordonnées des noeuds d'un maillage non structuré ou d'un maillage structuré correspondant à une grille MED_GRILLE_STANDARD.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le tableau des coordonnées "coo" est un tableau à 1 dimension de taille égale à "n * mdim" où "n" est le nombre de noeuds.
- Le mode de stockage du tableau "coo" en mémoire est soit MED_FULL_INTERLACE, soit MED_NO_INTERLACE, la routine renvoie les coordonnées en mémoire selon le mode souhaité.
- Le paramètre "numco" permet de sélectionner une coordonnée en particulier. Si on a 3 coordonnées, "numco" vaut entre 1 et 3. Si on veut lire toutes les coordonnées, affecter la constante MED_ALL à "numco".
- Le tableau "pfltab" est un tableau de profil qui permet d'indiquer la liste des numéros des noeuds dont on veut lire les coordonnées. Le paramètre "pflsize" indique la taille du tableau "pfltab". Si on ne veut pas appliquer de profil, affecter la valeur 0 à "pflsize".
- Le type du repère est soit MED_CART (cartésien), soit MED_CYL (cylindrique), soit MED_SPHER (sphérique).
- Chaque nom et unité de coordonnées est de MED_TAILLE_PNOM (16) caractères.
- Evolutions apportées par MED-fichier V2.2 :
  - La taille des noms des unités et des unités passe de 8 à 16 caractères.

# Ecriture de la structure des coordonnées d'une grille

### Interface C

- Nom : MEDstructureCoordEcr
- Signature :

      med_err
      MEDstructureCoordEcr(med_idt fid, char *maillage, med_int mdim, med_int *structure)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maillage (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - structure (IN) : structure des coordonnées de la grille
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efscoe
- Signature :

            subroutine efscoe(fid,maa,mdim,struct,cret)

            character*32  maa
            integer struct(*)
            integer fid,cret,mdim

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - struct (IN) : structure des coordonnées de la grille.
  - cret (OUT) : code de retour, 0 si réussite, -1 sinon

### Description

Ecriture de la structure des coordonnées d'une grille de type MED_GRILLE_STANDARD.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le tableau d'entiers représentant la structure est un tableau mono dimensionnel dont la taille est celle de la dimension du maillage. Chaque élément contient le nombre d'indices par dimension (axe) de la grille. Par exemple, la structure pour définir une grille 5x3 correspondra à un tableau entier à 2 éléments : int structure[2] = {5,3}.
- Nouvelle fonctionnalité MED-fichier V2.2 :
  - Définition des maillages structurés.

# Lecture de la structure des coordonnées d'une grille

### Interface C

- Nom : MEDstructCoordLire
- Signature :

      med_err
      MEDstructureCoordLire(med_idt fid,char *maillage,med_int mdim,med_int *structure)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maillage (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - structure (OUT) : structure des coordonnées de la grille
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efscol
- Signature :

            subroutine efscol(fid,maa,mdim,struct,cret)

            character*32  maa
            integer struct(*)
            integer fid,cret,mdim

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - struct (OUT) : structure des coordonnées de la grille.
  - cret (OUT) : code de retour, 0 si réussite, -1 sinon

### Description

Lecture de la structure des coordonnées d'une grille de type MED_GRILLE_STANDARD.

### Remarques

- Le nom du maillage est de MED_TAILLE_NOM (32) caractères.
- Le tableau d'entiers représentant la structure est un tableau mono dimensionnel dont la taille est celle de la dimension du maillage. Chaque élément contient le nombre d'indices par dimension (axe) de la grille. Par exemple, la structure pour définir une grille 5x3 correspondra à un tableau entier à 2 éléments : int structure[2] = {5,3}.
- Nouvelle fonctionnalité MED-fichier V2.2 :
  - Définition des maillages structurés.

# Ecriture des indices de coordonnées d'une grille

### Interface C

- Nom : MEDindicesCoordEcr
- Signature :

      med_err
      MEDindicesCoordEcr(med_idt fid,char *maillage,med_int mdim,med_float *indices,
      		   med_int n,med_int axe,char *comp,char *unit)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maillage (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - indices (IN) : tableau des indices de coordonnées selon un axe donné.
  - n (IN) : nombre d'indices sur l'axe
  - axe (IN) : numéro de l'axe
  - comp (IN) : nom de l'axe
  - unit (IN) : unité des coordonnées du tableau "indices"
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : eficoe
- Signature :

             subroutine eficoe(fid,maa,mdim,indices,
           &                  n,axe,comp,unit,cret)

            character*32 maa
            real*8 indices(*)
            integer fid,mdim,axe
            integer n,cret
            character*16 comp, unit

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - indices (IN) : tableau des des indices des coordonnées selon un axe donné.
  - n (IN) : nombre d'indices sur l'axe
  - axe (IN) : numéro de l'axe
  - comp (IN) : nom de l'axe
  - unit (IN) : unité des coordonnées du tableau "indices"
  - cret (OUT) : code de retour, 0 si réussite, -1 sinon

### Description

Ecriture des indices de coordonnées selon un axe d'une grille MED_GRILLE_CARTESIENNE ou MED_GRILLE_POLAIRE.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le nom de l'axe et l'unité des coordonnées sont des chaînes de MED_TAILLE_PNOM (16) caractères.
- Nouvelle fonctionnalité MED-fichier V2.2 :
  - Définition des maillages structurés.

# Lecture des indices de coordonnées d'une grille

### Interface C

- Nom : MEDindicesCoordLire
- Signature :

      med_err
      MEDindicesCoordLire(med_idt fid,char *maillage,med_int mdim,med_float *indices,
      		   med_int n,med_int axe,char *comp,char *unit)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maillage (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - indices (OUT) : tableau des indices de coordonnées selon un axe donné.
  - n (IN) : nombre d'indices sur l'axe
  - axe (IN) : numéro de l'axe
  - comp (OUT) : nom de l'axe
  - unit (OUT) : unité des coordonnées du tableau "indices"
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : eficol
- Signature :

            subroutine eficol(fid,maa,mdim,indices,
           &                  n,axe,comp,unit,cret)

            character*32 maa
            real*8 indices(*)
            integer fid,mdim,axe
            integer n,cret
            character*16 comp, unit

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - indices (OUT) : tableau des indices de coordonnées selon un axe donné.
  - n (IN) : nombre d'indices sur l'axe
  - axe (IN) : numéro de l'axe
  - comp (OUT) : nom de l'axe
  - unit (OUT) : unité des coordonnées du tableau "indices"
  - cret (OUT) : code retour, 0 si réussite, -1 sinon

### Description

Lecture des indices de coordonnées selon un axe d'une grille MED_GRILLE_CARTESIENNE ou MED_GRILLE_POLAIRE.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le nom de l'axe et l'unité des coordonnées sont des chaînes de MED_TAILLE_PNOM (16) caractères.
- Nouvelle fonctionnalité MED-fichier V2.2 :
  - Définition des maillages structurés.

# Ecriture des connectivités

### Interface C

- Nom : MEDconnEcr
- Signature :

      med_err
      MEDconnEcr(med_idt fid,char *maa, med_int mdim, med_int *con,med_mode_switch modswt,
      	   med_int n,med_entite_maillage type_ent,med_geometrie_element type_geo,
                 med_connectivite type_conn)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - con (IN) : tableau des connectivités des mailles/faces/arêtes
  - modswt (IN) : mode de stockage des connectivités dans le tableau "con"
  - n (IN) : nombre de mailles/faces/arêtes
  - typent (IN) : type de l'entité.
  - typgeo (IN) : type géométrique.
  - typcon (IN) : type de connectivité.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efcone
- Signature :

            subroutine efcone (fid, maa, mdim,con, modswt, n,
           1typent,typgeo,typcon,cret)

            character *(*) maa
            integer fid, con(*),typent,typgeo,typcon,cret
            integer n,mdim, modswt

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - con (IN) : tableau des connectivités des mailles/faces/arêtes
  - modswt (IN) : mode de stockage des connectivités dans le tableau "con"
  - n (IN) : nombre de mailles/faces/arêtes
  - typent (IN) : type de l'entité.
  - typgeo (IN) : type géométrique.
  - typcon (IN) : type de connectivité.
  - cret (OUT) : code de retour, 0 si réussite, -1 sinon.

### Description

Ecriture des connectivités des éléments (mailles/faces/arêtes) d'un maillage non structuré.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le tableau des connectivités "con" est un tableau à 1 dimension de taille égale à "n * T" où T correspond à la taille mémoire (nombre d'entiers) nécessaire au stockage de la connectivité de l'entité géométrique considérée.
- Le mode de stockage du tableau "con" en mémoire est soit MED_FULL_INTERLACE, soit MED_NO_INTERLACE.
- Le type de l'entite "typent" est soit MED_MAILLE, MED_FACE ou MED_ARETE.
- Le type géométrique peut être :
  - Pour les mailles : MED_POINT1, MED_SEG2, MED_SEG3, MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_TETRA4, MED_TETRA10, MED_HEXA8, MED_HEXA20, MED_PENTA6, MED_PENTA15, MED_PYRA5, MED_PYRA13.
  - Pour les faces : MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8.
  - Pour les arêtes : MED_SEG2 et MED_SEG3.
- Le type de connectivité peut-être : nodale (MED_NOD) ou descendante (MED_DESC).
- Règles à appliquer pour définir la taille mémoire "T" nécessaire au stockage de la connectivité d'une entité géométrique :
  Pour calculer la taille "T" d'une entité géométrique dans le tableau de connectivité, on adopte les conventions suivantes :
  1. Dans le cas de la connectivité nodale :"T" = nombre de noeuds.
  2. Dans le cas de la connectivité descendante :
     1. Entité de dimension 3 : "T" = nombre de faces.
     2. Entité de dimension 2 : "T" = nombre d'arêtes
     3. Entité de dimension 1 : "T" = nombre de noeuds.
- Evolutions apportées par MED-fichier V2.2 :
  - Disparition du paramètre "mode" qui spécifiait le mode d'écriture du tableau des connectivités. Le mode d'accès aux données d'un fichier MED se décide désormais à l'ouverture de ce fichier.
  - Simplification du mode de description de la connectivité des éléments dont la dimension est inférieure à celle du maillage: suppression des 0 supplémentaires qui s'inséraient dans le tableau des connectivités de ce type d'éléments.

# Lecture des connectivités

### Interface C

- Nom : MEDconnLire
- Signature :

      med_err
      MEDconnLire(med_idt fid,char *maa,med_int mdim,med_int *con,med_mode_switch modswt,
      	    med_int * pfltab, med_size psize,
      	    med_entite_maillage typent, med_geometrie_element typgeo,med_connectivite typcon)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - con (OUT) : tableau des connectivités des mailles/faces/arêtes
  - modswt (IN) : mode de stockage des connectivités dans le tableau "con"
  - pfltab (IN) : tableau de profils (liste de numéros d'éléments)
  - psize (IN) : taille du tableau "pfltab"
  - typent (IN) : type de l'entité.
  - typgeo (IN) : type géométrique.
  - typcon (IN) : type de connectivité.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efconl
- Signature :

            subroutine efconl(fid, maa, mdim,conn,modswt,
           1                  pfltab,psize,
           1                  typent,typgeo,typcon,cret)

            character *(*) maa
            integer mdim
            integer fid, conn(*),typent,typgeo,typcon,cret
            integer pfltab(*), psize
            integer modswt

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - mdim (IN) : dimension du maillage
  - con (OUT) : tableau des connectivités des mailles/faces/arêtes
  - modswt (IN) : mode de stockage des connectivités dans le tableau "con"
  - pfltab (IN) : tableau de profils (liste de numéros d'éléments)
  - psize (IN) : taille du tableau "pfltab"
  - typent (IN) : type de l'entité.
  - typgeo (IN) : type géométrique.
  - typcon (IN) : type de connectivité.
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Lecture des connectivités des éléments (mailles/faces/arêtes) d'un maillage non structuré.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le tableau des connectivités "con" est un tableau à 1 dimension de taille égale à "n * T" où T correspond à la taille mémoire (nombre d'entiers) nécessaire au stockage de la connectivité de l'entité géométrique considérée.
- Le mode de stockage du tableau "con" en mémoire est soit MED_FULL_INTERLACE, soit MED_NO_INTERLACE.
- Le tableau de profil permet de sélectionner via une liste de numéros, un certain nombre d'entités. Si on veut lire toutes les entités, le paramètre "psize" doit être égal à MED_ALL.
- Le type de l'entite "typent" est soit MED_MAILLE, MED_FACE ou MED_ARETE.
- Le type géométrique peut être :
  - Pour les mailles : MED_POINT1, MED_SEG2, MED_SEG3, MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_TETRA4, MED_TETRA10, MED_HEXA8, MED_HEXA20, MED_PENTA6, MED_PENTA15, MED_PYRA5, MED_PYRA13.
  - Pour les faces : MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8.
  - Pour les arêtes : MED_SEG2 et MED_SEG3.
- Le type de connectivité peut-être : nodale (MED_NOD) ou descendante (MED_DESC).
- Règles à appliquer pour définir la taille mémoire "T" nécessaire au stockage de la connectivité d'une entité géométrique :
  Pour calculer la taille "T" d'une entité géométrique dans le tableau de connectivité, on adopte les conventions suivantes :
  1. Dans le cas de la connectivité nodale :"T" = nombre de noeuds.
  2. Dans le cas de la connectivité descendante :
     1. Entité de dimension 3 : "T" = nombre de faces.
     2. Entité de dimension 2 : "T" = nombre d'arêtes
     3. Entité de dimension 1 : "T" = nombre de noeuds.
- Evolutions apportées par MED-fichier V2.2 :
  - Simplification du mode de description de la connectivité des éléments dont la dimension est inférieure à celle du maillage: suppression des 0 supplémentaires qui s'inséraient dans le tableau des connectivités de ce type d'éléments.

# Ecriture des connectivités des polygones

### Interface C

- Nom : MEDpolygoneConnEcr
- Signature :

      med_err
      MEDpolygoneConnEcr(med_idt fid, char *maa, med_int *index, med_int ni,
      		   med_int *conn, med_entite_maillage typent,
      		   med_connectivite typcon)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - index (IN) : tableau d'index
  - ni (IN) : taille du tableau d'index
  - conn (IN) : tableau des connectivités
  - typent (IN) : type d'entité.
  - typcon (IN) : type de connectivité.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efpgce
- Signature :

            subroutine efpgce(fid,maa,index,ni,conn,typent,typcon,cret)

            character *32 maa
            integer fid, conn(*),typent,typcon,cret,index(*)
            integer ni

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - index (IN) : tableau d'index
  - ni (IN) : taille du tableau d'index
  - conn (IN) : tableau des connectivités
  - typent (IN) : type d'entité.
  - typcon (IN) : type de connectivité.
  - cret (OUT) : code de retour, 0 si réussite, -1 sinon.

### Description

Ecriture des connectivités des mailles/faces de type MED_POLYGONE (polygones quelconques non référencés dans les éléments géométriques de base).

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le mode de stockage est libre -i.e. n'est pas régi par l'ordre des types géométriques (donné par le nombre de sommets). Exemple : si on a 2 polygones à 5 sommets (P5) et 1 polygone à 6 sommets (P6), on peut stocker les connectivités de ces éléments de la manière suivante : P5, P6, P5.
- On accède à la connectivité de chaque polygone par l'intermédiaire du tableau d'index. Pour notre exemple cela revient à avoir les 2 tableaux suivants (les index dans MED débutent par convention à l'indice 1) :

- En connectivité nodale MED ("typcon" = MED_NOD), les entiers stockés dans le tableau "conn" correspondent à des numéros de noeuds alors qu'en connectivité descendante ("typcon" = MED_DESC), ils correspondent à des numéros d'arêtes.
- Le seul mode de stockage du tableau "conn" possible est le mode non entrelacé (MED_NO_INTERLACE).
- Nouvelle fonctionnalité MED-fichier V2.2 :
  - Mailles/faces de type MED_POLYGONE.

# Information sur les polygones

### Interface C

- Nom : MEDpolygoneInfo
- Signature :

      med_err
      MEDpolygoneInfo(med_idt fid, char *maa, med_entite_maillage typent, med_connectivite typcon,
      		med_int *consiz)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - typent (IN) : type d'entité.
  - typcon (IN) : type de connectivité.
  - consiz (OUT) : taille à allouer pour le tableau des connectivités "conn"
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efpygi
- Signature :

            subroutine efpygi(fid,maa,typent,typcon,consiz,cret)

            character*32  maa
            integer fid,typent,typcon,cret
            integer consiz

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - typent (IN) : type d'entité.
  - typcon (IN) : type de connectivité.
  - consiz (OUT) : taille à allouer pour le tableau des connectivités "conn"
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Lecture des informations propres aux mailles/faces de type MED_POLYGONE. L'entier lu "consiz" définit la taille du tableau "conn" qu'il faut allouer pour lire la connectivité des polygones.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Pour récupérer le nombre de polygones, il faut utiliser la routine MEDnEntMaa/efnema ce qui permet de déterminer la taille du tableau d'"index" passé en paramètre pour la lecture des connectivités.
- Nouvelle fonctionnalité MED-fichier V2.2 :
  - Mailles/faces de type MED_POLYGONE.

# Lecture des connectivités des polygones

### Interface C

- Nom : MEDpolygoneConnLire
- Signature :

      med_err
      MEDpolygoneConnLire(med_idt fid, char *maa, med_int *index, med_int ni,
      		   med_int *con, med_entite_maillage type_ent,
      		   med_connectivite type_conn)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - index (OUT) : tableau d'index
  - ni (IN) : taille du tableau d'index
  - conn (OUT) : tableau des connectivités
  - typent (IN) : type d'entité.
  - typcon (IN) : type de connectivité.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efpgcl
- Signature :

            subroutine efpgcl(fid,maa,index,ni,conn,typent,typcon,cret)

            character*32 maa
            integer fid, conn(*),typent,typcon,cret,index(*)
            integer ni

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - index (OUT) : tableau d'index
  - ni (IN) : taille du tableau d'index
  - conn (OUT) : tableau des connectivités
  - typent (IN) : type d'entité.
  - typcon (IN) : type de connectivité.
  - cret (OUT) : code de retour, 0 si réussite, -1 sinon.

### Description

Lecture des connectivités des mailles/faces de type MED_POLYGONE (polygones quelconques non référencés dans les éléments géométriques de base).

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le mode de stockage est libre -i.e. n'est pas régi par l'ordre des types géométriques (donné par le nombre de sommets). Exemple : si on a 2 polygones à 5 sommets (P5) et 1 polygone à 6 sommets (P6), on peut stocker les connectivités de ces éléments de la manière suivante : P5, P6, P5.
- On accède à la connectivité de chaque polygone par l'intermédiaire du tableau d'index. Pour notre exemple cela revient à avoir les 2 tableaux suivants (les index dans MED débutent par convention à l'indice 1) :

- En connectivité nodale MED ("typcon" = MED_NOD), les entiers stockés dans le tableau "conn" correspondent à des numéros de noeuds alors qu'en connectivité descendante ("typcon" = MED_DESC), ils correspondent à des numéros d'arêtes.
- Le seul mode de stockage du tableau "conn" possible est le mode non entrelacé (MED_NO_INTERLACE).
- Nouvelle fonctionnalité MED-fichier V2.2 :
  - Mailles/faces de type MED_POLYGONE.

# Ecriture des connectivités des polyèdres

### Interface C

- Nom : MEDpolyedreConnEcr
- Signature :

      med_err
      MEDpolyedreConnEcr(med_idt fid,char *maa,med_int *indexp,med_int np,med_int *indexf,med_int nf,
      		   med_int *conn,med_connectivite typcon)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - indexp (IN) : tableau d'index de niveau 1
  - np (IN) : taille du tableau "indexp"
  - indexf (IN) : tableau d'index de niveau 2
  - nf (IN) : taille du tableau "indexf"
  - conn (IN) : tableau des connectivités
  - typcon (IN) : type de connectivité.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efpece
- Signature :

            subroutine efpece(fid,maa,indexp,np,indexf,nf,conn,typcon,cret)

            character *32 maa
            integer fid, conn(*),typent,typcon,cret,indexp(*),indexf(*)
            integer np,nf

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - indexp (IN) : tableau d'index de niveau 1
  - np (IN) : taille du tableau "indexp"
  - indexf (IN) : tableau d'index de niveau 2
  - nf (IN) : taille du tableau "indexf"
  - conn (IN) : tableau des connectivités
  - typcon (IN) : type de connectivité.
  - cret (OUT) : code de retour, 0 si réussite, -1 sinon.

### Description

Ecriture des connectivités des mailles de type MED_POLYEDRE (polyèdres quelconques non référencés dans les éléments géométriques de base).

### Remarques

- Le nom du maillage est de MED_TAILLE_NOM (32) caractères.
- Stockage des données en mémoire en connectivité nodale (typcon = MED_NOD) :
  - On accède aux connectivités via un système de double indexation :
    1. Le premier tableau "indexp" renvoie à la liste des faces de chaque polyèdre.
    2. Le second tableau "indexf" renvoie pour chaque face à la liste des noeuds qui la composent.
  - Exemple d'illustration pour définir la connecitivté de "n" polyèdres :

  - A noter que :
    - Les faces communes sont décrites 2 fois (mêmes listes de noeuds mais orientations différentes).
    - La normale des faces doit être extérieure.
- Stockage des données en mémoire en connectivité descendante (typcon = MED_DESC) :
  - En connectivité descendante, un seul niveau d'indexation suffit (indexp). Le tableau des connectivités contient les numéros des faces. Le tableau "indexf" contient alors le type géométrique de chaque face (exemple : MED_TRIA3). A noter que dans ce cas, "nf = consiz".
  - Exemple d'illustration :

- Nouvelle fonctionnalité MED-fichier V2.2 :
  - Mailles de type MED_POLYEDRE.

# Information sur les polyèdres

### Interface C

- Nom : MEDpolyedreInfo
- Signature :

      med_err
      MEDpolyedreInfo(med_idt fid, char *maa,med_connectivite typcon,med_int *nf,
      		med_int *consiz)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - typcon (IN) : type de connectivité.
  - nf (OUT) : taille du tableau ne niveau 2 "indexf" à passer en paramètre à MEDpolyedreConnLire/efpecl.
  - consiz (OUT) : taille du tableau de connectivité "conn" à passer en paramètre à MEDpolyedreConnLire/efpecl.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efpyei
- Signature :

            subroutine efpyei(fid,maa,typcon,nf,consiz,cret)

            character*32 maa
            integer fid,typent,typcon,cret
            integer consiz,nf

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - typcon (IN) : type de connectivité.
  - nf (OUT) : taille du tableau ne niveau 2 "indexf" à passer en paramètre à MEDpolyedreConnLire/efpecl.
  - consiz (OUT) : taille du tableau de connectivité "conn" à passer en paramètre à MEDpolyedreConnLire/efpecl.
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Lecture des informations concernant les mailles de type MED_POLYEDRE (polyèdres quelconques non référencés dans les éléments géométriques de base).

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Pour récupérer le nombre de polyèdres, il faut utiliser la routine MEDnEntMaa/efnema ce qui permet également de déterminer la taille du tableau "indexp".

# Lecture des connectivités des polyèdres

### Interface C

- Nom : MEDpolyedreConnLire
- Signature :

      med_err
      MEDpolyedreConnLire(med_idt fid,char *maa,med_int *indexp,med_int np,med_int *indexf,med_int nf,
      		   med_int *conn,med_connectivite typcon)

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - indexp (OUT) : tableau d'index de niveau 1
  - np (IN) : taille du tableau "indexp"
  - indexf (OUT) : tableau d'index de niveau 2
  - nf (IN) : taille du tableau "indexf"
  - conn (OUT) : tableau des connectivités
  - typcon (IN) : type de connectivité.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efpecl
- Signature :

            subroutine efpecl(fid,maa,indexp,np,indexf,nf,conn,typcon,cret)

            character*32 maa
            integer fid, conn(*),typent,typcon,cret,indexp(*),indexf(*)
            integer np,nf

- Paramètres :
  - fid (IN) : descripteur du fichier
  - maa (IN) : nom du maillage
  - indexp (OUT) : tableau d'index de niveau 1
  - np (IN) : taille du tableau "indexp"
  - indexf (OUT) : tableau d'index de niveau 2
  - nf (IN) : taille du tableau "indexf"
  - conn (OUT) : tableau des connectivités
  - typcon (IN) : type de connectivité.
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Ecriture des connectivités des mailles de type MED_POLYEDRE (polyèdres quelconques non référencés dans les éléments géométriques de base).

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Stockage des données en mémoire en connectivité nodale (typcon = MED_NOD) :
  - On accède aux connectivités via un système de double indexation :
    1. Le premier tableau "indexp" renvoie à la liste des faces de chaque polyèdre.
    2. Le second tableau "indexf" renvoie pour chaque face à la liste des noeuds qui la composent.
  - Exemple d'illustration pour définir la connecitivté de "n" polyèdres :

  - A noter que :
    - Les faces communes sont décrites 2 fois (mêmes listes de noeuds mais orientations différentes).
    - La normale des faces doit être extérieure.
- Stockage des données en mémoire en connectivité descendante (typcon = MED_DESC) :
  - En connectivité descendante, un seul niveau d'indexation suffit (indexp). Le tableau des connectivités contient les numéros des faces. Le tableau "indexf" contient alors le type géométrique de chaque face (exemple : MED_TRIA3). A noter que dans ce cas, "nf = consiz".
  - Exemple d'illustration :

- Nouvelle fonctionnalité MED-fichier V2.2 :
  - Mailles de type MED_POLYEDRE.

# Ecriture des noms

### Interface C

- Nom : MEDnomEcr
- Signature :

      med_err
      MEDnomEcr(med_idt fid,char *maa, char *nom, med_int n,
      	  med_entite_maillage typent,med_geometrie_element typgeo)

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - nom (IN) : tableau des noms.
  - n (IN) : nombre de noms.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efnome
- Signature :

           subroutine efnome(fid, maa, nom, n,
           1typent, typgeo,cret)

           character *(*) maa
           character*(*) nom
           integer fid,typent, typgeo,cret
           integer n

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - nom (IN) : tableau des noms.
  - n (IN) : nombre de noms.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Ecriture des noms des entités (noeuds/mailles/faces/arêtes) d'un maillage.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le tableau "nom" est un tableau à 1 dimension de taille égale à "n *MED_TAILLE_PNOM" (MED_TAILLE_PNOM = 16).
- Le type de l'entite "typent" est soit MED_NOEUD, MED_MAILLE, MED_FACE ou MED_ARETE.
- Le type géométrique peut être :
  - Pour les noeuds : 0.
  - Pour les mailles : MED_POINT1, MED_SEG2, MED_SEG3, MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_TETRA4, MED_TETRA10, MED_HEXA8, MED_HEXA20, MED_PENTA6, MED_PENTA15, MED_PYRA5, MED_PYRA13, MED_POLYGONE, MED_POLYEDRE.
  - Pour les faces : MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_POLYGONE.
  - Pour les arêtes : MED_SEG2 et MED_SEG3.
- Evolutions apportées par MED-fichier V2.2 :
  - Disparition du paramètre "mode" qui spécifiait le mode d'écriture des noms dans le fichier. Le mode d'accès aux données d'un fichier MED se décide désormais à l'ouverture de ce fichier.
  - La taille d'un nom passe de 8 à 16 caractères.

# Lecture des noms

### Interface C

- Nom : MEDnomLire
- Signature :

      med_err
      MEDnomLire(med_idt fid,char *maa, char *nom, med_int n,
      	   med_entite_maillage type_ent,med_geometrie_element type_geo)

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - nom (OUT) : tableau des noms.
  - n (IN) : nombre de noms.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efnoml
- Signature :

            subroutine efnoml(fid, maa, nom, n,
           1typent, typgeo,cret)

            character *(*) maa
            character*(*) nom
            integer fid,typent, typgeo,cret,n

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - nom (OUT) : tableau des noms.
  - n (IN) : nombre de noms.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Lecture des noms des éléments (noeuds/mailles/faces/arêtes) d'un maillage.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le tableau "nom" est un tableau à 1 dimension de taille égale à "n * MED_TAILLE_PNOM" (MED_TAILLE_PNOM = 16).
- Le type de l'entite "typent" est soit MED_NOEUD, MED_MAILLE, MED_FACE ou MED_ARETE.
- Le type géométrique peut être :
  - Pour les noeuds : 0.
  - Pour les mailles : MED_POINT1, MED_SEG2, MED_SEG3, MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_TETRA4, MED_TETRA10, MED_HEXA8, MED_HEXA20, MED_PENTA6, MED_PENTA15, MED_PYRA5, MED_PYRA13, MED_POLYGONE, MED_POLYEDRE.
  - Pour les faces : MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_POLYGONE.
  - Pour les arêtes : MED_SEG2 et MED_SEG3.
- Evolutions apportées par MED-fichier V2.2 :
  - La taille d'un "nom" passe de 8 à 16 caractères.

# Ecriture des numéros

### Interface C

- Nom : MEDnumEcr
- Signature :

      med_err
      MEDnumEcr(med_idt fid,char *maa, med_int *num, med_int n,
      	  med_entite_maillage typent,med_geometrie_element typgeo)

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - num (IN) : tableau des numéros.
  - n (IN) : taille du tableau des numéros.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efnume
- Signature :

            subroutine efnume(fid, maa, num, n,
           1typent, typgeo,cret)

            character *(*) maa
            integer num(*)
            integer fid,typent, typgeo,cret
            integer n

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - num (IN) : tableau des numéros.
  - n (IN) : taille du tableau des numéros.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Ecriture des numéros des entités (noeuds/mailles/faces/arêtes) d'un maillage.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le tableau des numéros "num" est un tableau à 1 dimension de taille égale à "n".
- Le type de l'entite "typent" est soit MED_NOEUD, MED_MAILLE, MED_FACE ou MED_ARETE.
- Le type géométrique peut être :
  - Pour les noeuds : 0.
  - Pour les mailles : MED_POINT1, MED_SEG2, MED_SEG3, MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_TETRA4, MED_TETRA10, MED_HEXA8, MED_HEXA20, MED_PENTA6, MED_PENTA15, MED_PYRA5, MED_PYRA13, MED_POLYGONE, MED_POLYEDRE.
  - Pour les faces : MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_POLYGONE.
  - Pour les arêtes : MED_SEG2 et MED_SEG3.
- Evolutions apportées par MED-fichier V2.2 :
  - Disparition du paramètre "mode" qui spécifiait le mode d'écriture des numéros. Les mode d'accès aux données d'un fichier MED se décide désormais à l'ouverture de ce fichier.

# Lecture des numéros

### Interface C

- Nom : MEDnumLire
- Signature :

      med_err
      MEDnumLire(med_idt fid,char *maa, med_int *num, med_int n,
      	   med_entite_maillage typent,med_geometrie_element typgeo)

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - num (OUT) : tableau des numéros.
  - n (IN) : taille du tableau "num".
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efnuml
- Signature :

            subroutine efnuml(fid, maa, num, n,
           1typent, typgeo,cret)

            character *(*) maa
            integer num(*)
            integer fid,typent, typgeo,cret,n

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - num (OUT) : tableau des numéros.
  - n (IN) : taille du tableau "num".
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Lecture des numéros des entités (noeuds/mailles/faces/arêtes) d'un maillage.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le tableau "num" est un tableau à 1 dimension de taille égale à "n".
- Le type de l'entite "typent" est soit MED_NOEUD, MED_MAILLE, MED_FACE ou MED_ARETE.
- Le type géométrique peut être :
  - Pour les noeuds : 0.
  - Pour les mailles : MED_POINT1, MED_SEG2, MED_SEG3, MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_TETRA4, MED_TETRA10, MED_HEXA8, MED_HEXA20, MED_PENTA6, MED_PENTA15, MED_PYRA5, MED_PYRA13, MED_POLYGONE, MED_POLYEDRE.
  - Pour les faces : MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_POLYGONE.
  - Pour les arêtes : MED_SEG2 et MED_SEG3.

# Ecriture des numéros de famille

### Interface C

- Nom : MEDfamEcr
- Signature :

      med_err
      MEDfamEcr(med_idt fid,char *maa, med_int *fam, med_int n,
      	  med_entite_maillage typent, med_geometrie_element typgeo)

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - fam (IN) : tableau des numéros de famille.
  - n (IN) : taille du tableau "fam".
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : effame
- Signature :

            subroutine effame(fid,maa,fam,n,typent,typgeo,cret)

            integer fid,fam(*),n,typent,typgeo,cret
            character *(*) maa

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - fam (IN) : tableau des numéros des familles.
  - n (IN) : taille du tableau "fam".
  - typent (IN) : type de l'entité.
  - typgeo (IN) : type géométrique.
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Ecriture des numéros des familles des entités (noeuds/mailles/faces/arêtes) d'un maillage.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le tableau des numéros de familles "fam" est un tableau à 1 dimension de taille égale à "n".
- Le type de l'entite "typent" est soit MED_NOEUD, MED_MAILLE, MED_FACE ou MED_ARETE.
- Le type géométrique peut être :
  - Pour les noeuds : 0.
  - Pour les mailles : MED_POINT1, MED_SEG2, MED_SEG3, MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_TETRA4, MED_TETRA10, MED_HEXA8, MED_HEXA20, MED_PENTA6, MED_PENTA15, MED_PYRA5, MED_PYRA13, MED_POLYGONE, MED_POLYEDRE.
  - Pour les faces : MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_POLYGONE.
  - Pour les arêtes : MED_SEG2 et MED_SEG3.
- Evolutions apportées par MED-fichier V2.2 :
  - Disparition du paramètre "mode" qui spécifiait le mode d'écriture des numéros de famille. Les mode d'accès aux données d'un fichier MED se décide désormais à l'ouverture de ce fichier.

# Lecture des numéros de famille

### Interface C

- Nom : MEDfamLire
- Signature :

      med_err
      MEDfamLire(med_idt fid,char *maa, med_int *fam, med_int n,
      	   med_entite_maillage type_ent,med_geometrie_element type_geo)

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - fam (OUT) : tableau des numéros de famille.
  - n (IN) : taille du tableau "fam".
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : effaml
- Signature :

            subroutine effaml(fid,maa,fam,n,typent,typgeo,cret)

            integer fid,fam(*),n,typent,typgeo,cret
            character *(*) maa

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - fam (OUT) : tableau des numéros de famille.
  - n (IN) : taille du tableau "fam".
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Lecture des numéros des familles des entités (noeuds/mailles/faces/arêtes) d'un maillage.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- Le tableau "fam" est un tableau à 1 dimension de taille égale à "n".
- Le type de l'entite "typent" est soit MED_NOEUD, MED_MAILLE, MED_FACE ou MED_ARETE.
- Le type géométrique peut être :
  - Pour les noeuds : 0.
  - Pour les mailles : MED_POINT1, MED_SEG2, MED_SEG3, MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_TETRA4, MED_TETRA10, MED_HEXA8, MED_HEXA20, MED_PENTA6, MED_PENTA15, MED_PYRA5, MED_PYRA13, MED_POLYGONE, MED_POLYEDRE.
  - Pour les faces : MED_TRIA3, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_POLYGONE.
  - Pour les arêtes : MED_SEG2 et MED_SEG3.

# Lecture du nombre d'entités dans un maillage

### Interface C

- Nom : MEDnEntMaa
- Signature :

      med_int
      MEDnEntMaa(med_idt fid, char *maa, med_table quoi, med_entite_maillage typent,
      	   med_geometrie_element typgeo, med_connectivite typcon)

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - quoi (IN) : information souhaitée.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique de l'entité.
  - typcon (IN) : type de connectivité.
- Code retourné : nombre de noeuds/mailles/faces/arêtes/indices de coordonnées sur une axe d'une grille si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efnema
- Signature :

            subroutine efnema(fid, maa, quoi,
           1typent, typgeo,typcon,n,cret)

            character *(*) maa
            integer fid,typent, typgeo,cret,typcon,n,quoi

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - quoi (IN) : information souhaitée.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique de l'entité.
  - typcon (IN) : type de connectivité.
  - n (OUT) : nombre de mailles/faces/arêtes/indices de coordonnées sur une axe d'une grille si réussite (éventuellement 0).
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Retourne selon la valeur des paramètres :

- Le nombre de noeuds/mailles/faces/arêtes d'un maillage non structuré.
- Le nombre de noeuds d'une grille MED_GRILLE STANDARD.
- Le nombre d'indices d'une grille MED_GRILLE_CARTESIENNE ou MED_GRILLE_POLAIRE selon un axe donné.

### Remarques

- Le nom du maillage est une chaîne de MED_TAILLE_NOM (32) caractères.
- La routine MEDnEntMaa/efnmaa étant utilisable pour tous les types d'entités, les paramètres "quoi", "typent" et "typgeo" permettent de spécifier le type exact d'entité considéré :
  - Pour les mailles/faces/arêtes, on doit avoir :
    - Le paramètre "quoi" égal à MED_CONN.
    - Le paramètre "typent" égal à MED_MAILLE ou MED_FACE ou MED_ARETE.
    - Le paramètre "typgeo" égal au type géométrique souhaité (MED_POINT, MED_SEG2, MED_SEG3, ...).
    - Le paramètre "typcon" égal à MED_NOD ou MED_DESC.
  - Pour les noeuds d'un maillage non structuré ou d'une grille MED_GRILLE_STANDARD, on doit avoir :
    - Le paramètre "quoi" égal à MED_COORD.
    - Le paramètre "typent" égal à MED_NOEUD.
    - Les paramètres "typgeo" et "typcon" égaux à 0.
  - Pour les indices de coordonnées d'une grille MED_GRILLE_CARTESIENNE ou MED_GRILLE_POLAIRE selon un axe donné, on doit avoir :
    - Le paramètre "quoi" égal à MED_COOR_IND1 ou MED_COOR_IND2 ou MED_COOR_IND3 selon l'axe considéré.
    - Le paramètre "typent" égal à MED_NOEUD
    - Les paramètres "typgeo" et "typcon" égaux à 0.

# Ecriture des noeuds d'un maillage non structuré

### Interface C

- Nom : MEDnoeudsEcr
- Signature :

      med_err
      MEDnoeudsEcr(med_idt fid,char *maa,med_int mdim,med_float *coo,
      	     med_mode_switch modswt,
      	     med_repere rep,char *nomcoo, char *unicoo,char *nom,
      	     med_booleen inom,med_int *num,med_booleen inum,med_int *fam,
      	     med_int n)

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - mdim (IN) : dimension du maillage.
  - coo (IN) : tableau des coordonnées.
  - modswt (IN) : mode de stockage en mémoire des données.
  - rep (IN) : type du repère des coordonnées.
  - nomcoo (IN) : nom des coordonnées.
  - unicoo (IN) : unités des coordonnées.
  - nom (IN) : tableau des noms des noeuds.
  - inom (IN) : indicateur de présence des noms des noeuds.
  - num (IN) : tableau des numéros des noeuds.
  - inum (IN) : indicateur de présence des numéros des noeuds.
  - fam (IN) : tableau des numéros des familles des noeuds.
  - n (IN) : nombre de noeuds.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efnoee
- Signature :

      	subroutine efnoee(fid,maa,mdim,coo,modswt,rep,nomcoo,unicoo,
           &                  nom,inom,num,inum,fam,n,cret)

      	integer fid,mdim,rep,n,cret,modswt
              integer num(*),fam(*)
      	logical inom,inum
      	real*8 coo(*)
      	character*(*) maa,nomcoo,unicoo,nom

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - mdim (IN) : dimension du maillage.
  - coo (IN) : tableau des coordonnées.
  - modswt (IN) : mode de stockage en mémoire des données.
  - rep (IN) : type du repère des coordonnées.
  - nomcoo (IN) : nom des coordonnées.
  - unicoo (IN) : unités des coordonnées.
  - nom (IN) : tableau des noms des noeuds.
  - inom (IN) : indicateur de présence des noms des noeuds.
  - num (IN) : tableau des numéros des noeuds.
  - inum (IN) : indicateur de présence des numéros des noeuds.
  - fam (IN) : tableau des numéros des familles des noeuds.
  - n (IN) : nombre de noeuds.
  - cret (OUT) : code de retour, 0 si réussite, -1 sinon.

### Description

Ecriture globale des attributs des noeuds d'un maillage non structuré. Cette routine est équivalente aux appels successifs aux routines élémentaires :

- Ecriture des coordonnées (MEDcoordEcr/efcooe).
- Ecriture des noms (MEDnomEcr/efnome).
- Ecriture des numéros (MEDnumEcr/efnume).
- Ecriture des numéros des familles (MEDfamEcr/effame).

### Remarques

- L'écriture des noms et des numéros étant optionnelle, les paramètres "inom" et "inum" indiquent leur présence : MED_VRAI si oui, MED_FAUX sinon.
- Evolutions apportées par MED-fichier V2.2 :
  - La taille des noms des unités, des unités et des noms des noeuds passe de 8 à 16 caractères.
  - Disparition du paramètre "mode" qui spécifiait le mode d'écriture. Les mode d'accès aux données d'un fichier MED se décide désormais à l'ouverture de ce fichier.

# Lecture noeuds d'un maillage non structuré

### Interface C

- Nom : MEDnoeudsLire
- Signature :

      med_err
      MEDnoeudsLire(med_idt fid,char *maa,med_int mdim, med_float *coo,
      	      med_mode_switch modswt,
      	      med_repere *rep,char *nomcoo, char *unicoo,char *nom,
      	      med_booleen *inom,med_int *num,med_booleen *inum,med_int *fam,
      	      med_int n)

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - mdim (IN) : dimension du maillage.
  - coo (OUT) : tableau des coordonnées.
  - modswt (IN) : mode de stockage en mémoire des données.
  - rep (OUT) : type du repère des coordonnées.
  - nomcoo (OUT) : nom des coordonnées.
  - unicoo (OUT) : unités des coordonnées.
  - nom (OUT) : tableau des noms des noeuds.
  - inom (OUT) : indicateur de présence des noms des noeuds.
  - num (OUT) : tableau des numéros des noeuds.
  - inum (OUT) : indicateur de présence des numéros des noeuds.
  - fam (OUT) : tableau des numéros des familles des noeuds.
  - n (IN) : nombre de noeuds.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efnoel
- Signature :

      	subroutine efnoel(fid,maa,mdim,coo,modswt,rep,nomcoo,
           &                  unicoo,nom,inom,num,inum,fam,n,cret)

      	integer fid,mdim,rep,nnoe,cret,modcoo
              integer num(*),fam(*)
      	logical inom,inum
      	real*8 coo(*)
      	character*(*) maa,nomcoo,unicoo,nom
      	integer pnom,pnum

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - mdim (IN) : dimension du maillage.
  - coo (OUT) : tableau des coordonnées.
  - modswt (IN) : mode de stockage en mémoire des données.
  - rep (OUT) : type du repère des coordonnées.
  - nomcoo (OUT) : nom des coordonnées.
  - unicoo (OUT) : unités des coordonnées.
  - nom (OUT) : tableau des noms des noeuds.
  - inom (OUT) : indicateur de présence des noms des noeuds.
  - num (OUT) : tableau des numéros des noeuds.
  - inum (OUT) : indicateur de présence des numéros des noeuds.
  - fam (OUT) : tableau des numéros des familles des noeuds.
  - n (IN) : nombre de noeuds.
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Lecture globale des attributs des noeuds d'un maillage. Cette routine est équivalente aux appels successifs des routines élémentaires suivantes :

- Lecture des coordonnées (MEDcoordLire/efcool).
- Lecture des noms (MEDnomLire/efnoml).
- Lecture des numéros (MEDnumLire/efnuml).
- Lecture des numéros des familles (MEDfamLire/effaml).

### Remarques

- La présence des noms et des numéros étant optionnelle, les paramètres "inom" et "inum" indiquent leur présence à la sortie de la routine : MED_VRAI si oui, MED_FAUX sinon.
- Evolutions apportées par MED-fichier V2.2 :
  - La taille des noms des unités, des unités et des noms des noeuds passe de 8 à 16 caractères.

# Ecriture des éléments d'un maillage non structuré

### Interface C

- Nom : MEDelementsEcr
- Signature :

      med_err
      MEDelementsEcr(med_idt fid,char *maa,med_int mdim,med_int *con,med_mode_switch modswt,
      	       char *nom,med_booleen inom,med_int *num,med_booleen inum,
      	       med_int *fam,med_int n,med_entite_maillage typent,
      	       med_geometrie_element typgeo,med_connectivite typcon)

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - mdim (IN) : dimension du maillage.
  - con (IN) : tableau des connectivités.
  - modswt (IN) : mode de stockage en mémoire des données.
  - nom (IN) : tableau des noms des mailles/faces/arêtes.
  - inom (IN) : indicateur de présence des noms des mailles/faces/arêtes.
  - num (IN) : tableau des numéros des mailles/faces/arêtes.
  - inum (IN) : indicateur de présence des numéros des mailles/faces/arêtes.
  - fam (IN) : tableau des numéros des familles des mailles/faces/arêtes.
  - n (IN) : nombre d'entités.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
  - typcon (IN) : type de connectivité.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efelee
- Signature :

      	subroutine efelee (fid,maa,mdim,con,typswt,nom,inom,
           &                     num,inum,fam,n,typent,typgeo,
           &                     typcon,cret)

      	integer fid,mdim,n,cret
      	integer con(*)
              integer fam(*)
              integer num(*)
        	integer typgeo,typent,typcon,modswt
              character*(*) nom
              character*(*) maa
      	logical inom,inum

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - mdim (IN) : dimension du maillage.
  - con (IN) : tableau des connectivités.
  - modswt (IN) : mode de stockage en mémoire des données.
  - nom (IN) : tableau des noms des mailles/faces/arêtes.
  - inom (IN) : indicateur de présence des noms des mailles/faces/arêtes.
  - num (IN) : tableau des numéros des mailles/faces/arêtes.
  - inum (IN) : indicateur de présence des numéros des mailles/faces/arêtes.
  - fam (IN) : tableau des numéros des familles des mailles/faces/arêtes.
  - n (IN) : nombre de mailles/faces/arêtes.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
  - typcon (IN) : type de connectivité.
  - cret (OUT) : code de retour, 0 si réussite, -1 sinon.

### Description

Ecriture globale des attributs internes des éléments (mailles/faces/arêtes) d'un maillage. Cette routine est équivalente aux appels successifs des routines élémentaires :

- Ecriture des connectivités (MEDconnEcr/efcone).
- Ecriture des noms (MEDnomEcr/efnome).
- Ecriture des numéros (MEDnumEcr/efnume).
- Ecriture des numéros des familles (MEDfamEcr/effame).

### Remarques

- L'écriture des noms et des numéros étant optionnelle, les paramètres "inom" et "inum" indiquent leur présence : MED_VRAI si oui, MED_FAUX sinon.
- Evolutions apportées par MED-fichier V2.2 :
  - La taille des noms des éléments passe de 8 à 16 caractères.
  - Disparition du paramètre "mode" qui spécifiait le mode d'écriture. Les mode d'accès aux données d'un fichier MED se décide désormais à l'ouverture de ce fichier.

# Lecture des éléments d'un maillage non structuré

### Interface C

- Nom : MEDelementsLire
- Signature :

      med_err
      MEDelementsLire(med_idt fid,char *maa,med_int mdim,med_int *con,med_mode_switch modswt,
      	       char *nom,med_booleen *inom,med_int *num,med_booleen *inum,
      	       med_int *fam,med_int n,med_entite_maillage typent,
      	       med_geometrie_element typgeo,med_connectivite typcon)

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - mdim (IN) : dimension du maillage.
  - con (OUT) : tableau des connectivités.
  - modswt (IN) : mode de stockage en mémoire des données.
  - nom (OUT) : tableau des noms des mailles/faces/arêtes.
  - inom (OUT) : indicateur de présence des noms des mailles/faces/arêtes.
  - num (OUT) : tableau des numéros des mailles/faces/arêtes.
  - inum (OUT) : indicateur de présence des numéros des mailles/faces/arêtes.
  - fam (OUT) : tableau des numéros des familles des mailles/faces/arêtes.
  - n (IN) : nombre d'entités.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
  - typcon (IN) : type de connectivité.
- Code retourné : 0 si réussite, -1 sinon.

### Interface FORTRAN

- Nom : efelel
- Signature :

      	subroutine efelel (fid,maa,mdim,con,modswt,nom,inom,
           &                   num,inum,fam,n,typent,typgeo,
           &                   typcon,cret)

      	integer fid,mdim,pnum,pnom,n,cret,modswt
        	integer typgeo,typent,typcon
      	integer conn(*),fam(*),num(*)
              character*(*) nom,maa

- Paramètres :
  - fid (IN) : descripteur du fichier.
  - maa (IN) : nom du maillage.
  - mdim (IN) : dimension du maillage.
  - con (OUT) : tableau des connectivités.
  - modswt (IN) : mode de stockage en mémoire des données.
  - nom (OUT) : tableau des noms des mailles/faces/arêtes.
  - inom (OUT) : indicateur de présence des noms des mailles/faces/arêtes.
  - num (OUT) : tableau des numéros des mailles/faces/arêtes.
  - inum (OUT) : indicateur de présence des numéros des mailles/faces/arêtes.
  - fam (OUT) : tableau des numéros des familles des mailles/faces/arêtes.
  - n (IN) : nombre d'entités.
  - typent (IN) : type d'entité.
  - typgeo (IN) : type géométrique.
  - typcon (IN) : type de connectivité.
  - cret (OUT) : code retour, 0 si réussite, -1 sinon.

### Description

Lecture globale des attributs des mailles/faces/arêtes d'un maillage. Cette routine est équivalente aux appels successifs des routines élémentaires :

- Lecture des connectivités (MEDconnLire/efconl).
- Lecture des noms (MEDnomLire/efnoml).
- Lecture des numéros (MEDnumLire/efnuml).
- Lecture des numéros des familles (MEDfamLire/effaml).

### Remarques

- La présence des noms et des numéros étant optionnelle, les paramètres "inom" et "inum" indiquent leur présence à la sortie de la routine : MED_VRAI si oui, MED_FAUX sinon.
- Evolutions apportées par MED-fichier V2.2 :
  - La taille des noms des unités, des unités et des noms des noeuds passe de 8 à 16 caractères.