Documentation de la bibliothèque MED-fichier V2.3 : Tutorial
|
Cette rubrique constitue un tutorial de la bibliothèque MED-fichier, elle
a pour objectif de guider un utilisateur dans la réalisation d'une interface
MED-fichier dans un code de calcul C ou FORTRAN.
Il s'agit d'un premier jet qui sera complété prochainement par des exemples
concrets de définition de maillages et de champs de résultats au
format MED V2.3.
Pour intégrer la bibliothèque MED-fichier V2.3 dans un code de calcul
C ou FORTRAN, il faut :
- Vérifier si le modèle de données MED V2.3 est compatible avec
les données que vous voulez échanger.
Pour cela, vous devez consulter la description complète du modèle de données associé à la V2.3.
- Développer dans le code une interface avec la bibliothèque MED-fichier V2.3 qui permette de lire et d'écrire
des fichiers au format MED V2.3.
- Valider votre interface en réalisant :
- Un chaînage interne : vous devez pouvoir lire les fichiers MED V2.3 que vous avez créés.
- Un ou plusieurs chaînages avec un ou plusieurs autres codes disposant déjà d'une interface MED V2.3 validée. Il s'agit
de pouvoir lire les fichiers MED fournis par ce(s) code(s) et de s'assurer que ce(s) code(s) puisse(nt)
lire vos fichiers.
Intégrer la bibliothèque MED-fichier dans un code de calcul
revient à définir une architecture comprenant 3 couches fonctionnelles différentes :
- La couche basse fournit les fonctions d'accès au support d'échange (fichier sur disque). Cette couche constitue un module réutilisable et externe au code
de calcul. De plus elle est totalement indépendante du modèle de données commun :
elle offre uniquement un service d'accès à des structures de données générales (tableaux,
listes, matrices, ...). Dans le cadre de MED, étant donnés les volumes de donnés ciblés
(maillages à plusieurs millions de noeuds), c'est le format de fichier binaire HDF V5 qui a été choisi.
- La couche intermédiaire définit le mode de représentation et d'accès aux données du
modèle commun et utilise les services de la couche basse. Cette couche constitue également un module réutilisable et externe au code de calcul.
La bibliothèque informatique MED-fichier constitue ce module.
- La couche haute gère l'import/export des données du modèle commun à partir
ou vers les structures de données propres à chaque code de calcul. La couche haute utilise
les services de la couche intermédiaire. Cette interface avec la bibliothèque MED
permet à un code de calcul de lire/écrire dans un fichier au format HDF les
données du modèle commun. C'est cette couche haute que vous devez développer
dans votre code de calcul.
Pour mettre à jour une interface MED-fichier V2.2 et intégrer les évolutions
fournies par la V2.3, vous pouvez directement passer à la rubrique
"De la V2.2 à la V2.3".
Pour développer une interface MED-fichier V2.3 en partant de zéro, vous devez vous appuyer sur :
- Le guide d'utilisation qui fournit des modèles de
programmation des routines de l'API de la bibliothèque MED-fichier V2.3.
- Le guide de référence qui fournit la description de chacune
des routines de l'API de la bibliothèque MED-fichier V2.3.
Une interface MED-fichier V2.3 complète doit permettre de lire et d'écrire
tout type de fichier MED. Pour accéder en lecture ou en écriture à un fichier MED, il faut ouvrir
le fichier selon un des modes d'accès fournis par la bibliothèque. Les différentes
fonctionnalités disponibles autour de la gestion des fichiers MED V2.3
sont décrites dans le module "MED_Fichier" du guide d'utilisation.
Un fichier MED V2.3 standard contient :
La prise en compte de certaines données est cependant optionnelle.
Vous pouvez ne pas prendre en compte les :
- Variables scalaires numériques :
- A l'écriture : aucun problème, les fichiers MED que vous serez amenés
à créer ne contiendront aucune variable scalaire.
- A la lecture : si vous êtes amenés à lire un fichier MED contenant
des variables scalaires, vous n'aurez pas accès à ces données.
- Maillages structurés :
- A l'écriture : aucun problème, les fichiers MED que vous serez amenés
à créer ne contiendront aucun maillage de ce type.
- A la lecture : si vous êtes amenés à lire un fichier MED contenant
des maillages structurés, vous n'aurez pas accès à ces données.
Il est recommandé si vous trouvez un tel maillage de renvoyer alors
une erreur ou un avertissement à l'utilisateur.
- Eléments polyèdres et polygones quelconques dans un maillage non structuré :
- A l'écriture : aucun problème, les maillages structurés que vous serez amenés
à créer ne contiendront aucun élément de ce type.
- A la lecture : si vous êtes amenés à lire un maillage non structuré contenant
des polyèdres ou des polygones quelconques, vous devez renvoyer une erreur
car vous ne serez pas alors capable de lire toute la description géométrique
du maillage.