MED "fichier" V2.1.5 : Modèles de programmation concernant l'accès aux noeuds dans un maillage donné.
|
Retour à la page de garde du guide utilisateur
L'API de la bibliothèque MED offre des routines d'accès aux noeuds d'un maillage donné (cf. le
package "Noeud" du modèle de données). On distinguera 2 modes d'accès :
- Accès en écriture (on écrit dans le fichier MED), on peut dans ce cadre :
- Ecrire les coordonnées, type du repère, noms et unités des coordonnées.
- Ecrire les noms des noeuds.
- Ecrire les numéros des noeuds.
- Ecrire les numéros de familles de noeuds.
- Accès en lecture (on lit dans le fichier MED), on peut dans ce cadre :
- Lire le nombre de noeuds du maillage.
- Lire les coordonnées, le type du repère, les noms et unités des coordonnées.
- Lire les noms des noeuds.
- Lire les numéros des noeuds.
- Lire les numéros des familles des noeuds.
Ces routines sont détaillées dans le guide de référence.
Pour accéder aux noeuds, on distingue 2 niveaux de routines dans l'API MED "fichier" :
- Les routines de niveau 1 qui permettent de écrire/lire séparément
les coordonnées, les noms, les numéros, les numéros de famille (4 routines distinctes pour l'écriture, 4 autres routines
pour la lecture).
- Les routines de niveau 2 qui permettent de écrire/lire en un seul appel
les coordonnées, les noms, les numéros, les numéros de famille (1 routine englobante pour l'écriture, 1
autre routine pour la lecture, ces routines
font elles-mêmes appel aux routines de niveau 1).
On peut utiliser indifférement chaque niveau. Les routines de niveau
1 offrent plus de souplesse à l'utilisation (cf. les modèles de programmation
de lecture), les routines de niveau 2 permettent de limiter le
nombre d'appels aux routines de l'API et de simplifier l'interface MED.
Nous offrons des modèles de programmation de ces 2 types de routines à la fois
dans le cas de l'écriture d'un fichier au format MED que dans le cas de sa lecture.
Pour les noeuds d'un maillage dans un fichier MED, la présence des :
- coordonnées et numéros de famille est obligatoire.
- noms et numéros est optionnelle : on n'est pas obligé de les écrire, ni de les lire.
Si les noms et numéros existent, ils doivent être présents pour tous
les noeuds.
Avec les routines de niveau 1, on obtient le modèle de programmation suivant :
Avec les routines de niveau 2, on obtient le modèle de programmation suivant :
Pour la lecture, le modèle de programmation consiste à :
- Lire le nombre de noeuds
- Allouer les tableaux de données en conséquence : coordonnées, noms (optionnel), numéros (optionnel)
et numéros de famille.
- Remplir les tableaux avec les routines de niveau 1 ou de niveau 2.
A la différence des routines de niveau 2 pour lesquelles cela
n'est pas possible, les routines de niveau 1 (avec MEDcoordLire/efcool)
permettent de lire les coordonnées des noeuds en sélectionnant
une composante et/ou en appliquant un profil sur les noeuds (liste des numéros de noeuds à lire).
Avec la routine de niveau 2 (MEDnoeudsLire/efnoel), on lit
systématiquement toutes les composantes de tous les noeuds.
Avec les routines de niveau 1, on obtient le modèle de programmation suivant :
Avec les routines de niveau 2, on obtient le modèle de programmation suivant :