## Documentation de la bibliothèque MED-fichier V2.2 : Guide d'utilisation - Module "MED_Profil".

Sommaire de la page
Introduction Modèles de programmation Créer et écrire un profil dans un fichier Accéder aux profils d'un fichier Lire le nombre de profil dans un fichier Lire les informations sur un profil Lire la taille d'un profil Lire un profil dans un fichier Exemples de programmation Exemple de création de profils de champs dans un fichier Exemple de lecture des profils de champs dans un fichier Convention sur la définition des profils de champ dans un fichier

Retour à la page de garde du guide d'utilisation

# Introduction

Les routines disponibles permettent de :

- Créer et écrire un profil dans un fichier.
- Lire le nombre de profil dans un fichier
- Lire les informations sur un profil.
- Lire la taille d'un profil.
- Lire un profil dans un fichier.

Ces routines sont détaillées dans le guide de référence du module "MED_Profil".

# Modèles de programmation

### Créer et écrire un profil dans un fichier

La routine MEDprofilEcr/efpfle permet de créer et d'écrire un profil de champ dans un fichier. Un profil est identifé par son nom de taille MED_TAILLE_NOM (32) caractères.

### Accéder aux profils dans un fichier

Il existe 2 possibilités :

1. La première consiste à balayer et lire l'ensemble des profils d'un fichier :

   Dès que l'on connait le nombre de profil dans un fichier, il est possible d'accéder à chacun d'entre eux par l'intermédiaire d'une boucle. Si on a "N" profils, 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 profil donné.

   La lecture dans un fichier de l'ensemble des profils consiste donc à :

   - Lire le nombre de profils.
   - Pour chaque profil :
     - Lire les informations sur le profil (nom, taille).
     - Allouer la mémoire nécessaire au stockage du profil (tableau d'entiers).
     - Lire le profil (tableau d'entiers : numéros d'entité d'un type géométrique donné).
2. La seconde consiste à lire un profil directement référencé dans un champ :

   Lors de la lecture des valeurs d'un champ, un nom de profil peut également être retourné par la routine MEDchampLire/efchal. L'accès au profil ainsi référencé consiste alors à :

   - Lire la taille du profil.
   - Allouer la mémoire nécessaire au stockage du profil (tableau d'entiers).
   - Lire le profil (tableau d'entiers : numéros d'entité d'un type géométrique donné).

### Lire le nombre de profil dans un fichier

La routine MEDnProfil/efnpro permet de lire dans un fichier le nombre de profils de champ.

### Lire les informations sur un profil

La routine MEDprofilInfo/efproi permet de lire les informations sur un profil (nom, taille).

### Lire la taille d'un profil

La routine MEDnValProfil/efnpfl permet de lire la taille d'un profil de champ dont on connait le nom : nombre d'entiers à allouer pour pouvoir le lire par la suite.

### Lire un profil dans un fichier

La routine MEDprofilLire/efpfl permet de lire un profil de champs.

# Exemples de programmation

### Exemple de création de profils de champs dans un fichier

Le programme suivant va créer dans un fichier 2 profils de champs qui correspondent à des numéros de mailles MED_TRIA6. Ces 2 profils sont ensuite référencés à l'écriture des valeurs des champs (routine MEDchampEcr/efchae).

Accès aux sources :

- Version C.
- Version FORTRAN.

### Exemple de lecture des profils de champs d'un fichier

Le programme suivant va lire dans un fichier l'ensemble des profils de champs de ce fichier selon les deux mode d'accès possibles :

1. En parcourant tous les profils du fichier.
2. En accédant à chaque profil référencé dans un champ.

Accès aux sources :

- Version C.
- Version FORTRAN.

# Convention sur la définition des profils de champ dans un fichier

- Les numéros spécifiés dans un profil de champ correspondent aux numéros implicites des noeuds ou des éléments d'un maillage pour un type géométrique donné : un profil porte soit sur les noeuds, soit sur des mailles MED_SEG2, soit sur des mailles MED_SEG3, ...
- Un profil ne prend pas en compte les numéros optionnels des entités définis par MEDnumEcr/efnume.
- Un profil est une liste compacte : on n'y trouve que les numéros représentatifs. Exemple : sur un maillage de 30 noeuds, si on a un champ portant sur les noeuds de numéros de référence 4, 5 et 12, le profil correspondant sera la liste (4,5,12).