mmhaar
mmhaaw
mmhatr
mmhatw
mmhcar
mmhcaw
mmhcor
mmhcow
mmhcpr
mmhcpw
mmhcre
mmhcsc
mmhcsi
mmhcsr
mmhcyr
mmhcyw
mmhear
mmheaw
mmhelr
mmhelw
mmheni
mmhenr
mmhenw
mmhfnr
mmhfnw
mmhgcr
mmhgcw
mmhgnr
mmhgnw
mmhgsr
mmhgsw
mmhgtr
mmhgtw
mmhmii
mmhmin
mmhnan
mmhnax
mmhnep
mmhnme
mmhnmh
mmhnor
mmhnow
mmhpgr
mmhpgw
mmhphr
mmhphw
mmhstr
mmhtfr
mmhtfw
mmhunr
mmhunw
mmhyar
mmhyaw
mmhypr
mmhypw

## mmhnep()

subroutine mmhnep | ( | integer*8 | fid,
|  | character *(*) | name,
|  | integer | numdt,
|  | integer | numit,
|  | integer | entype,
|  | integer | geotype,
|  | integer | datype,
|  | integer | cmode,
|  | integer | stm,
|  | character *(*) | pname,
|  | integer | psize,
|  | integer | chgt,
|  | integer | tsf,
|  | integer | n,
|  | integer | cret
| ) |  |

Cette routine permet de lire le nombre d'entités dans un maillage pour une étape de calcul et un profil donnés.

Paramètres

  fid | Identificateur du fichier.
  name | Nom du maillage, de longueur maximum MED_NAME_SIZE .
  numdt | Numéro de pas de temps de l'étape de calcul (MED_NO_DT si pas de numéro de pas de temps).
  numit | Numéro d'itération de l'étape de calcul (MED_NO_IT si pas de numéro d'itération).
  entype | Type d'entité (med_entity_type).
  geotype | Type géométrique de l'entité (med_geometry_type).
  datype | Type de la donnée.
  cmode | Mode de connectivité (nodale ou descendante).
  stm | Indique le mode de stockage en mémoire med_storage_mode des valeurs associées au profil utilisé.
  pname | Nom du profil utilisé (de taille maximum MED_NAME_SIZE ) ou (MED_NO_PROFILE | MED_ALLENTITIES_PROFILE ) s'il n'y a pas de profil.
  psize | Taille du profil.
  chgt | Indicateur de changement par rapport à l'étape de calcul précédente.
  tsf | Indicateur de transformation par rapport à l'étape de calcul précédente.
  n | Nombre d'entité à lire.
  cret | retour négatif en cas d'erreur (MED_ERR_HOWTO), Zéro sinon.

Voir également
  MEDmeshnEntityWithProfile

Cette routine permet de lire le nombre d'entités dans un maillage pour une étape de calcul et un profil donnés. Le profil est identifié par un nom et le mode de stockage des données en mémoire peut être paramétré : MED_COMPACT_STMODE ou MED_GLOBAL_STMODE . L'indicateur changement indique un changement dans le maillage par rapport à l'étape de calcul précédente (exemple : nouvelles coordonnées des noeuds). Si cet indicateur est à MED_TRUE, l'indicateur tranbsformation indique pour l'étape de calcul considérée et le type d'entité concerné un changement géométrique (exemple : modification des connectivités des mailles). Cette routine retourne selon la valeur des paramètres et en tenant compte du mode de stockage du profil : Cette routine retourne selon la valeur des paramètres :

- Le nombre de noeuds/mailles/faces/arêtes d'un maillage non structuré.
- Le nombre de noeuds d'un maillage structuré correspondant à une grille curviligne (MED_CURVILINEAR_GRID).
- Le nombre de points de coordonnées d'un maillage structuré correspondant à une grille cartésienne ou polaire (MED_CURVILINEAR_GRID,MED_POLAR_GRID).
- La taille des tableaux d'index des polygones (entitype==MED_CELL, geotype==MED_POLYGON, datatype==MED_INDEX_NODE) .
- La taille des tableaux d'index des faces des polyèdres (entitype==MED_CELL, geotype==MED_POLYHEDRON, datatype==MED_INDEX_FACE) .
- La taille des tableaux d'index des polyèdres (entitype==MED_CELL, geotype==MED_POLYHEDRON, datatype==MED_INDEX_NODE) .
  Remarques

      ENTITYPE | GEOTYPE | DATATYPE | N | CHGT | TRF
      MED_UNDEF_ENTITY_TYPE | Quelconque | Quelconque | 0 | TRUE si un quelconque changement s'est produit par rapport à la séquence de calcul précédente. | FALSE
      MED_ALL_ENTITY_TYPE | Quelconque | Quelconque | Nombre de types d'entités différents contenu dans le maillage à la séquence de calcul spécifié. Ce nombre inclus la présence du type éléments de structures et des noeuds. | TRUE si un quelconque changement s'est produit par rapport à la séquence de calcul précédente. | FALSE
      <entitype> | MED_GEO_ALL | Quelconque | Nombre de types géométriques différents pour le type d'entité <entitype> dans le maillage quelque soit la séquence de calcul. La valeur 1 est renvoyée pour le type d'entité MED_NODE. si des coordonnées sont présentes. | TRUE si un quelconque changement s'est produit par rapport à la séquence de calcul précédente pour le type d' entité <entitype>. | FALSE

      MED_NODE

      Quelconque

      MED_COORDINATE
      MED_COORDINATE_AXIS<i>

      Si aucun profil stocké :

      -Nombre de noeuds total

      Si un profil est stocké :

      -Nombre de noeuds total en mode MED_GLOBAL_STMODE
      -Nombre de noeuds du profil en mode MED_COMPACT_STMODE

      TRUE si un quelconque changement s'est produit par rapport à la séquence de calcul précédente que cela concerne :

      - le tableau de coordonnées
      - la matrice de transformation
      - le tableau des numéros optionnels
      - le tableau des numéros de familles
      - le tableau des noms optionnels
      - le tableau de numérotation globale

      Si CHGT=TRUE :

      - TRUE indique un changement qui concerne uiquement le tableau des coordonnées des noeuds.

      - FALSE indique un changement qui ne concerne pas uniquement le tableau des coordonnées des noeuds. Si un changement des coordonnées existe, cela implique qu'il existe également un autre changement (transformation, noms,n° optionnels..).Il faut déterminer par d'autres appels à cette routine quelles autres informations sont concernées par le changement.

      Si CHGT=FALSE :

      - FALSE est la seule valeur possible

      MED_COORDINATE_TRSF

      7 ( la taille fixe de matrice de transformation)

      TRUE si un changement s'est produit par rapport à la séquence de calcul précédente concernant le tableau des coordonnées (non exclusif avec d'autres types de modifications)

      TRUE si un quelconque changement s'est produit par rapport à la séquence de calcul précédente dans le tableau concerné par le paramètre DATATYPE (non exclusif avec d'autres types de modifications)

      - MED_NAME - MED_NUMBER - MED_GLOBAL_NUMBER - MED_FAMILY_NUMBER | Si aucun profil stocké : -Nombre de noeuds total Si un profil est stocké : -Nombre de noeuds total en mode MED_GLOBAL_STMODE -Nombre de noeuds du profil en mode MED_COMPACT_STMODE

      != MED_NODE

      <geotype>

      MED_CONNECTIVITY
      MED_INDEX_FACE
      MED_INDEX_NODE

      Si aucun profil stocké :

      -Nombre d'entités du type géométrique <geotype> total

      Si un profil est stocké :

      -Nombre d'entités du type géométrique <geotype> total en mode MED_GLOBAL_STMODE
      -Nombre d'entités du type géométrique <geotype> du profil en mode MED_COMPACT_STMODE

      TRUE si un quelconque changement s'est produit par rapport à la séquence de calcul précédente pour le type d'entité <entitype> et le type géométrique <geotype> que cela concerne :

      - le tableau de connectitivités
      - les tableaux d'index polygones / polyhèdres
      - le tableau des numéros optionnels
      - le tableau des numéros de familles
      - le tableau des noms optionnels
      - le tableau de numérotation globale
      - les attributs variables si <entitype>==MED_STRUCT_ELEMENT

      Si CHGT=TRUE :

      - TRUE indique un changement qui concerne uiquement le tableau des connectivités des éléments.(et des tableaux d'index pour les polygones / polyhèdres)

      - FALSE indique un changement qui ne concerne pas uniquement le tableau des connectivités des éléments. Si un changement des connectivités des éléments existe, cela implique qu'il existe également un autre changement (transformation, noms,n° optionnels..).Il faut déterminer par d'autres appels à cette routine quelles autres informations sont concernées par le changement.

      Si CHGT=FALSE :

      - FALSE est la seule valeur possible

      - MED_NAME
      - MED_NUMBER
      - MED_GLOBAL_NUMBER
      - MED_FAMILY_NUMBER
      MED_VARIABLE_ATTRIBUTE

      Idem

      TRUE si un changement s'est produit par rapport à la séquence de calcul précédente concernant le tableau des connectivités (non exclusif avec d'autres types de modifications)

      TRUE si un quelconque changement s'est produit par rapport à la séquence de calcul précédente dans le tableau concerné par le paramètre DATATYPE (non exclusif avec d'autres types de modifications)

    - La première séquence de calcul <MED_NO_DT,MED_NO_IT> ne peut pas utiliser de profil

    - La première séquence de calcul <MED_NO_DT,MED_NO_IT> ne peut pas utiliser de matrice de transformation

    - Seuls les types géométriques présents à la première séquence de calcul peuvent apparaître dans les séquences de calcul suivantes

    - Une matrice de transformation ne peut pas cohabiter avec la définition de nouvelles coordonnées au sein d'une même séquence de calcul

    - Si de nouvelles coordonnées sont écrites dans une nouvelle séquence de calcul qui suit une séquence contenant une matrice de transformation, cette dernière ne sera pas visible dans la nouvelle séquence

    - Lorsqu'un profil est utilisé pour la connectivité/les coordonnées d'un type géométrique/entité donné, il est également appliqué pour tous les attributs (optionnels ou non)

    - Un code qui ne s'intéresserait pas aux attributs optionnels doit vérifier leur présence dès le premier pas de temps

    - Le nombre d'entités renvoyé pour les attributs optionnels doit être identique à celui renvoyé pour les coordonnées des noeuds ou la connectivité des éléments (sinon le fichier n'est pas conforme au modèle MED)

    - La taille du tableau d'index des polygones/polyèdres moins 1 indique le nombre de polygones/polyèdres disponibles (utile pour l'allocation des tableaux d'attributs optionnels).

Définition à la ligne 670 du fichier medmesh.f.