Documentation de la bibliothèque MED-fichier V2.2 : Guide d'utilisation - Module "MED_Variable_Scalaire".
|
Retour à la page de garde du guide d'utilisation
Les routines disponibles permettent de :
- Créer une variable scalaire de type entier ou flottant dans un fichier (NOUVELLE FONCTIONNALITE).
- Ecrire une valeur entière ou flottante dans une variable scalaire du type correspondant
selon éventuellement un pas de temps et/ou un numéro d'ordre (NOUVELLE FONCTIONNALITE).
- Lire le nombre de variables scalaires dans un fichier (NOUVELLE FONCTIONNALITE).
- Lire les informations sur une variable scalaire (nom, type, description associée)- (NOUVELLE FONCTIONNALITE).
- Lire le nombre de pas de temps/numéro d'ordre dans un variable scalaire (NOUVELLE FONCTIONNALITE).
- Lire les informations sur un pas de temps et/ou un numéro d'ordre (NOUVELLE FONCTIONNALITE).
- Lire une valeur entière ou flottante dans une variable scalaire du type correspondant
selon éventuellement un pas de temps et/ou un numéro d'ordre (NOUVELLE FONCTIONNALITE).
Ces routines sont détaillées dans le guide de référence du module "MED_Variable_Scalaire".
L'écriture de variables scalaire dans un fichier MED est optionnelle :
un fichier MED peut contenir de 0 à plusieurs variables.
Le mode d'écriture pour chaque variable scalaire consiste à :
- Créer la variable. Cette variable peut être de type entier ou réel.
- Ecrire dans la variable une ou plusieurs valeurs du type correspondant.
Chaque valeur peut être éventuellement associée à un pas de temps et ou un numéro d'ordre.
La routine MEDscalaireCr/efscac permet de créer
une variable scalaire dans un fichier.
Le type de la variable est au choix :
- MED_FLOAT64 : flottant 64 bits IEEE.
- MED_INT32 : entier 32 bits.
- MED_INT64 : entier 64 bits
On dispose de 2 routines selon le type de la variable :
-
La routine MEDscalaireEntierEcr/efscee permet
d'écrire une valeur dans un variable scalaire de type entier.
-
La routine MEDscalaireFlottantEcr/efscfe permet
d'écrire une valeur dans un variable scalaire de type réel.
Dans les 2 cas, la valeur est éventuellement associée
à un pas de temps et/ou un numéro d'ordre.
La présence du pas de temps et celle
du numéro d'ordre sont optionnelles :
- La constante MED_NOPDT (-1)
permet d'indiquer qu'il n'y a pas de pas de temps.
- La constante MED_NONOR (-1)
permet d'indiquer qu'il n'y a pas de numéro d'ordre.
La routine MEDnScalaire/efnsca permet de lire le nombre
de variables scalaire dans un fichier.
Remarque :
- La présence de variable scalaire dans un maillage est optionnelle : un maillage
peut contenir de zéro à plusieurs variables.
Dès que l'on connaît le nombre de variables scalaire, il est possible d'accéder
à chacune d'entre elles par l'intermédiaire d'une boucle.
Si on a "N" variables, cette boucle ira de 1 à N. A chaque itération,
la valeur du compteur de la boucle est un indice permettant
l'accès à une variable donnée.
La routine MEDscalaireInfo/efscai permet de lire les informations
sur une variable scalaire repérée selon un indice dans le fichier -i.e. :
- Le nom.
- Le type.
- La description associée.
Pour accéder à l'ensemble des valeurs d'une variable scalaire, il faut :
- Lire le nombre de valeur, ce nombre est donné par le nombre
pas de temps. Une valeur associée
à aucun pas de temps est comptabilisée par cette opération.
- Pour chaque pas de temps (boucle) :
- Lire les informations sur le pas de temps.
- Lire la valeur associée au pas de temps.
La routine MEDnScalairePasdeTemps/efnspd permet de lire
le nombre de pas de temps dans une variable scalaire.
La routine MEDscalairePasdetempsInfo/efspdi permet de lire les informations
sur un pas de temps. Il s'agit en fait d'un couple (pas de temps, numéro d'ordre). On lit :
- Le numéro du pas de temps.
- L'unité du pas de temps.
- La valeur du pas de temps.
- La valeur du numéro d'ordre.
La présence du pas de temps et celle
du numéro d'ordre sont optionnelles. Dans ce cas,
on récupère
- La constante MED_NOPDT (-1)
pour indiquer qu'il n'y a pas de pas de temps
à la place du numéro de pas de temps.
- La constante MED_NONOR (-1)
pour indiquer qu'il n'y a pas de numéro d'ordre.
On dispose de 2 routines selon le type de la variable :
-
La routine MEDscalaireEntierLire/efscel permet
de lire une valeur dans un variable scalaire de type entier.
-
La routine MEDscalaireFlottantLire/efscfl permet
de lire une valeur dans un variable scalaire de type réel.
Dans les 2 cas, la valeur est éventuellement associée
à un pas de temps et/ou un numéro d'ordre.
La présence du pas de temps et celle
du numéro d'ordre sont optionnelles :
- La constante MED_NOPDT (-1)
permet d'indiquer qu'il n'y a pas de pas de temps.
- La constante MED_NONOR (-1)
permet d'indiquer qu'il n'y a pas de numéro d'ordre.
Le programme suivant permet de :
- Créer le fichier "test21.med".
- Créer dans ce fichier une variable scalaire entière.
- Ecrire dans cette variable :
- Une valeur sans pas de temps et sans numéro d'ordre.
- Une valeur avec un pas de temps et sans numéro d'ordre.
- Créer dans le fichier une variable scalaire de type réel :
- Ecrire dans cette variable un valeur avec un pas de temps et un numéro d'ordre.
- Fermer le fichier "test21.med".
Accès aux sources :
Le programme suivant permet de :
- Ouvrir le fichier "test21.med" en mode MED_LECTURE.
- Lire dans le fichier le nombre de variable scalaire.
- Pour chaque variable :
- Lire les informations sur la variable.
- Lire le nombre de pas de temps.
- Pour chaque pas de temps :
- Lire les informations sur le pas de temps.
- Lire la valeur associée.
- Fermer le fichier "test21.med".
Accès aux sources :