# Foire aux questions du modèle MED

- Introduction
- Liste des questions
  1. A quoi correspondent les modes de stockage mémoire MED_FULL_INTERLACE et MED_NO_INTERLACE ? Comment les utiliser au sein d'une interface MED ?
  2. Peut-on stocker les éléments d'un maillage à la fois en connectivité nodale et descendante ?
  3. Quelle est la règle exacte à appliquer pour stocker des mailles de dimension inférieure à celle du maillage ?
  4. Doit-on avoir systématiquement dans un maillage MED les numéros et les noms des noeuds/éléments ?
  5. Quelle régle appliquer pour la définition des noms et numéros des familles d'un maillage ?
  6. Doit-on utiliser les numéros optionnels lors de la définition des connectivités ?
  7. Comment sont numérotés les élements ?
  8. Combien de coordonnées dois-je définir pour les noeuds d'un maillage de dimension 2 dans un espace de dimension 3 ?
  9. A quoi correspondent exactement les équivalences entre éléments au sein d'un maillage ?

# Introduction

Cette rubrique constitue une "Foire Aux Questions".

Elle a pour but de fournir des réponses simples aux questions les plus fréquemment posées par les utilisateurs en charge de développer une interface MED.

# Liste des questions

- Question 1
  - Enoncé : A quoi correspondent les modes de stockage mémoire MED_FULL_INTERLACE et MED_NO_INTERLACE ? Comment les utiliser au sein d'une interface MED ?

  - Réponse : Dans MED, on a la possibilité d'utiliser deux modes de stockage des données en mémoire :

    - MED_FULL_INTERLACE : Mode entrelacé.
    - MED_NO_INTERLACE : Mode non entrelacé.

    Ces deux modes de représentation permettent au développeur d'indiquer comment sont rangées ses données en mémoire. Cela peut s'appliquer aux :

    1. Coordonnées des noeuds.
    2. Connectivités des mailles/faces/arêtes.
    3. Composantes des champs de résultats.

    Exemple d'utilisation : Mode de stockage des coordonnées des noeuds définies dans un repère cartésien de dimension 3 dans un tableau mono-dimensionnel en mémoire :

    - En mode entrelacé (MED_FULL_INTERLACE) : X1, Y1, Z1, X2, Y2, Z2, .... , Xn, Yn, Zn.
    - En mode non entrelacé (MED_NO_INTERLACE) : X1, X2, ..., Xn, Y1, Y2, ..., Yn, Z1, Z2, ..., Zn
- Question 2
  - Enoncé : Peut-on stocker les éléments d'un maillage à la fois en connectivité nodale et descendante ?

  - Réponse : La connectivité des mailles peut être au choix décrite soit en connectivité nodale (MED_NODAL) soit en connectivité descendante (MED_DESCENDING).

    Il est possible dans un fichier MED de stocker les 2 modes de connectivité. Cependant dans ce cas de figure les deux descriptions doivent être complètes (on ne peut pas définir une partie du maillage en connectivité nodale et l'autre en connectivité descendante). De la même manière, il n'y a pas de contrôle de cohérence des données entre les 2 modes de connectivité.

- Question 3
  - Enoncé : Quelle est la règle exacte à appliquer pour stocker des mailles de dimension inférieure à celle du maillage ?

  - Réponse : Il n'y a plus de règle spécifique à appliquer depuis MED-fichier V2.2. La règle définie pour MED-fichier V2.1 est caduque (numéros supplémentaires pour la description de la connectivité des mailles de dimension inférieure à celle du maillage).

- Question 4
  - Enoncé : Doit-on avoir systématiquement dans un maillage MED les numéros et les noms des noeuds/éléments ?

  - Réponse : Les noms et les numéros que l'on peut associer aux noeuds et aux éléments d'un maillage sont optionnels. S'ils existent, ils doivent porter sur toutes les entités du maillage.

- Question 5

  - Enoncé : Quelle régle appliquer pour la définition des noms et numéros des familles d'un maillage ?

  - Réponse : Les conventions sur la définition des familles d'un maillage MED sont les suivantes :

    - On trouve dans un maillage :
      - La famille de numéro 0 qui ne comporte aucun groupe.
      - Zéro ou plusieurs familles des noeuds dont le numéro doit être strictement positif.
      - Zéro ou plusieurs familles d'éléments (mailles/faces/arêtes) dont le numéro doit être strictement négatif.
    - La création de la famille vide de numéro 0 est obligatoire, elle constitue la famille de référence pour tous les noeuds et les éléments qui n'appartiennent à aucun groupe et n'ont aucun attribut. Cependant l'écriture du numéro de famille 0 pour les noeuds ou les éléments est optionelle s'ils appartiennent tous à la famille 0.
    - Une famille de noeuds peut porter le même nom qu'un famille d'éléments. Par contre les familles d'éléments (respectivement de noeuds) doivent toutes avoir des noms différents.
    - Le numéro de famille est le lien existant entre la famille considérée et une entité du maillage (noeud, maille, face ou arête). Ce numéro doit être unique dans chaque famille d'un maillage.

- Question 6

  - Enoncé : Doit-on utiliser les numéros optionnels lors de la définition des connectivités ?

  - Réponse : Quelque soit le type de connectivité (nodale/descendante), la numérotation optionnelle si elle est présente n'est jamais utilisée dans la définition des connectivités.

- Question 7

  - Enoncé : Comment sont numérotés les élements ?

  - Réponse : Tous les éléments ont une numérotation propre à leur type géométrique. Par exemple, la définition d'une connectivité descendante MED_HEXA8 se base sur des faces MED_QUAD4 numérotés de 1..nq où nq correspond au nombre de faces MED_QUAD4. Une numérotion globale implicite existe sur les éléments, elle consiste à parcourir l'ensemble des types géométrique dans l'ordre de définition du modèle de données.

- Question 8

  - Enoncé : Combien de coordonnées dois-je définir pour les noeuds d'un maillage de dimension 2 dans un espace de dimension 3 ?

  - Réponse : La dimension de l'espace est par défaut celle du maillage. La dimension du maillage est égale à la dimension de l'élément géométrique de plus grande dimension. Un maillage de dimension 2 s'il est défini dans un espace de dimension 3 n'est pas forcément plan, il faut donc définir trois coordonnées pour chacun des noeuds du maillage.

- Question 9
  - Enoncé : A quoi correspondent exactement les équivalences entre éléments au sein d'un maillage ?

  - Réponse : Une équivalence est une liste de correspondances 2 à 2 entre des entités (noeuds, mailles, faces, arêtes) d'un même type. Les correspondances entre entités sont stockées 2 à 2 en mémoire et dans les fichier MED.

    Exemple : La liste suivante {1,2,3,4,5,6} appliquée à des entités de type MED_TRIA3, signifie qu'on a les 3 correspondances suivantes dans le maillage:

    - Triangles 1 et 2.
    - Triangles 3 et 4.
    - Triangles 5 et 6.