##
Documentation de la biliothèque MED-fichier V2.3 : Guide d'utilisation - Module "MED_Maillage".

Sommaire de la page

- Introduction
- Modèles de programmation
  - Créer un maillage dans un fichier
  - Créer et écrire un nom universel pour un maillage
  - Ecrire la dimension de l'espace du domaine de calcul dans un maillage
  - Ecrire le type de grille correspondant à un maillage structuré
  - Lire le nombre de maillage dans un fichier
  - Identifier les maillages dans un fichier
  - Lire le nom universel d'un maillage
  - Lire la dimension de l'espace du domaine de calcul dans un maillage
  - Lire le type de grille correspondant à un maillage structuré
- Exemples de programmation
  - Exemples de création de maillages dans un fichier
  - Exemple d'identification et de lecture des informations de tous les maillages d'un fichier

Retour à la page de garde du guide d'utilisation

# Introduction

Les routines disponibles permettent de :

- Créer un maillage dans un fichier.
- Ecrire/lire des informations sur un maillage dans un fichier :
  - Ecrire/lire la dimension de l'espace du domaine de calcul (NOUVELLES FONCTIONNALITES).
  - Ecrire/lire le type de grille d'un maillage structuré (grille cartésienne, polaire) - (NOUVELLES FONCTIONNALITES).
  - Lire le nombre de maillage dans un fichier.
  - Lire la dimension d'un maillage.
  - Lire le nom la dimension et le type d'un maillage.
  - Ecrire/lire un nom universel (unique généré automatiquement) associé à un maillage.

Ces routines sont détaillées dans la rubrique du guide de référence du module "MED_Maillage".

# Modèles de programmation

### Créer un maillage dans un fichier

La routine MEDmaaCr/efmaac permet de créer un maillage dans un fichier MED ouvert selon un des modes d'écriture parmi ceux autorisés. Un maillage est identifié par son nom qui est une chaîne de MED_TAILLE_NOM caractères en Fortran (au plus MED_TAILLE_NOM en C). Dans un fichier MED, on ne peut pas avoir plusieurs maillages portant le même nom.

Lors de la création d'un maillage, on écrit également dans le fichier les paramètres de base qui permettent de caractériser ce maillage à savoir sa dimension et son type qui peut prendre les valeurs :

- MED_NON_STRUCTURE : maillage non structuré.
- MED_STRUCTURE : maillage structuré.

### Créer et écrire un nom universel pour un maillage

La routine MEDunvCr/efunvc permet de créer un nom universel pour un maillage donné. Ce nom universel qui est créé de manière automatique, est unique : il est constitué du nom fourni, par l'utilisateur concaténé avec la date d'exécution de la routine.

L'écriture du nom universel est optionnelle. Le plus souvent le nom utilisateur passé en paramètre à la routine MEDmaaCr/efmaac suffit à identifier de manière certaine le maillage.

### Ecrire la dimension de l'espace du domaine de calcul dans un maillage

Si la dimension de l'espace du domaine de calcul est différente de celle du maillage (on peut avoir un maillage 2D dans un espace de dimension 3), il est possible d'écrire la dimension de cet espace avec la routine MEDdimEspaceCr/efespc.

L'écriture dans un maillage de la dimension de l'espace ne doit avoir lieu que si cette dimension est différente de celle du maillage. Par défaut, on considère que les 2 dimensions sont les mêmes.

### Ecrire le type de grille correspondant à un maillage structuré

La routine MEDnatureGrilleEcr/efnage permet d'écrire dans un maillage de type MED_STRUCTURE le type de grille qui lui correspond. On distingue les types suivants :

- MED_GRILLE_CARTESIENNE : grille cartésienne.
- MED_GRILLE_POLAIRE : grille polaire.
- MED_GRILLE_STANDARD : grille standard.

### Lire le nombre de maillage dans un fichier

La routine MEDnMaa/efnmaa permet de lire le nombre total de maillage dans un fichier MED.

### Identifier les maillages dans un fichier

Dès que l'on connait le nombre de maillage, il est possible d'accéder au nom et aux informations sur chaque maillage à partir d'une boucle : Si on a "N" maillages, cette boucle ira de 1 à N. A chaque itération, la valeur du compteur de la boucle est un indice permettant l'accés à un maillage donné. Pour identifier le maillage associé à l'indice de boucle, il faut utiliser la routine MEDmaaInfo/efmaai qui va lire :

- Le nom utilisateur du maillage.
- La dimension .
- Le type (MED_STRUCTURE ou MED_NON_STRUCTURE).
- La description associée.

Remarques :

- Les maillages d'un fichier sont classés selon l'ordre alphabétique des noms des différents maillages et non selon l'ordre chronologique de création.
- La routine MEDmaaInfo/efmaai récupère les informations écrites par la routine MEDmaaCr/efmaac.

### Lire le nom universel d'un maillage

La routine MEDunvLire/efunvl permet de lire un nom universel dans un maillage donné.

La lecture et la présence dans un maillage du nom universel sont optionnelles. Le plus souvent le nom utilisateur récupéré par la routine MEDmaaInfo/efmaai suffit à identifier de manière certaine le maillage.

### Lire la dimension de l'espace du domaine de calcul dans un maillage

La dimension de l'espace du domaine de calcul peut être est différente de celle du maillage (on peut avoir un maillage 2D dans un espace de dimension 3). Il est possible de lire la dimension de cet espace avec la routine MEDdimEspaceLire/efespl.

Par défaut, si la dimension de l'espace n'est pas présente dans un maillage, on considère qu'elle est égale à celle du maillage.

### Lire le type de grille correspondant à un maillage structuré

La routine MEDnatureGrilleLire/efnagl permet de lire dans un maillage de type MED_STRUCTURE le type de grille qui lui correspond. On distingue les types suivants :

- MED_GRILLE_CARTESIENNE : grille cartésienne.
- MED_GRILLE_POLAIRE : grille polaire.
- MED_GRILLE_STANDARD : grille standard.

# Exemples de programmation

### Exemples de création de maillages dans un fichier

Le programme suivant :

- Crée un fichier de nom "test2.med".
- Crée dans le fichier un maillage "maa1" de type MED_NON_STRUCTURE de dimension 3.
- Crée et écrit dans ce maillage, un nom universel.
- Crée dans le fichier un second maillage "maa2" de type MED_NON_STRUCTURE de dimension 2.
- Ecrit dans ce maillage la dimension de l'espace du domaine de calcul qui est égale à 3. On a donc un maillage 2D dans un espace 3D.
- Crée dans le fichier un troisième maillage "maa3" de type MED_STRUCTURE de dimension 1.
- Ferme le fichier "test2.med".

Accès aux sources :

- Version C.
- Version FORTRAN.

### Exemple d'identification et de lecture des informations de tous les maillages d'un fichier

Le programme suivant :

- Ouvre le fichier "test2.med" en mode MED_LECTURE.
- Lit le nombre de maillages dans ce fichier.
- Itère sur tous les maillages du fichier et pour chacun d'entre eux :
  - Identifie le maillage (nom,type,dimension).
  - Lit le nom universel dont la présence est optionnelle.
  - Lit la dimension de l'espace qui n'est présente que si elle est différente de celle du maillage.
- Ferme le fichier "test2.med".

Accès aux sources :

- Version C.
- Version FORTRAN.