# Guide de référence du module fortran MEDsubdomainJoint

## Fonctions

subroutine | msdjcr (fid, lmname, jname, des, dom, rmname, cret)
| Cette routine permet de créer un joint dans un maillage.
subroutine | msdcrw (fid, lmname, jname, numdt, numit, entlcl, geolcl, entdst, geodst, n, corrtab, cret)
| Cette routine permet l'écriture d'une correspondance dans un joint pour un type de couple d'entité en regard et une séquence de calcul donnés.
subroutine | msdcrr (fid, lmname, jname, numdt, numit, entlcl, geolcl, entdst, geodst, corrtab, cret)
| Cette routine permet la lecture d'une correspondance dans un joint pour un type de couple d'entité en regard et une séquence de calcul donnés.
subroutine | msdnjn (fid, maa, n, cret)
| Cette routine permet la lecture du nombre de joint dans un maillage.
subroutine | msdjni (fid, lmname, ind, jname, des, dom, rmname, nstep, ncor, cret)
| Cette routine permet de lire les informations sur un joint dans un maillage.
subroutine | msdszi (fid, mname, jname, numdt, numit, it, letype, lgtype, retype, rgtype, ncor, cret)
| Cette routine permet de lire les informations sur les couples d'entités en correspondance dans un joint pour une séquence de calcul donnée.
subroutine | msdcsz (fid, mname, jname, numdt, numit, letype, lgtype, retype, rgtype, ncor, cret)
| Cette routine permet la lecture du nombre d'entités en correspondance dans un joint pour un couple d'entités et une séquence de calcul donnés.
subroutine | msdcsi (fid, mname, jname, ind, numdt, numit, ncor, cret)
| Cette routine permet de lire les informations sur les correspondances entre types d'entités dans un maillage pour chaque séquence de calcul.

## Documentation des fonctions

subroutine msdcrr | ( | integer | fid,
|  | character *(*) | lmname,
|  | character *(*) | jname,
|  | integer | numdt,
|  | integer | numit,
|  | integer | entlcl,
|  | integer | geolcl,
|  | integer | entdst,
|  | integer | geodst,
|  | integer:dimension(*) | corrtab,
|  | integer | cret |
| ) |  |  |

Cette routine permet la lecture d'une correspondance dans un joint pour un type de couple d'entité en regard et une séquence de calcul donnés.

Paramètres:

  | fid | Identificateur du fichier.
  | lmname | Nom du maillage local, de longueur maximum MED_NAME_SIZE .
  | jname | Nom du joint, de longueur maximum MED_NAME_SIZE .
  | numdt | Numéro de pas de temps de la séquence de calcul (MED_NO_DT si pas de pas de temps).
  | numit | Numéro d'itération de la séquence de calcul (MED_NO_IT si pas de numéro d'itération).
  | entlcl | Type des entités du sous-domaine local mises en correspondance
  | geolcl | Type géométrique des entités du sous-domaine local.
  | entdst | Type des entités du sous-domaine en vis à vis mises en correspondance.
  | geodst | Type géométrique des entités du sous-domaine en vis à vis.
  | corrtab | Tableau de correspondances sur les entités.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet la lecture d'un tableau de correspondance dans un joint pour un type de couple d'entité en regard, les correspondances y sont rangées 2 à 2. Le type géométrique peut être :

- Pour les noeuds (MED_NODE) : MED_NONE.
- Pour les mailles (MED_CELL) : MED_POINT1, MED_SEG2, MED_SEG3, MED_SEG4, MED_TRIA3, MED_TRIA7, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_QUAD9, MED_POLYGON.
- Pour les faces (MED_DESCENDING_FACE) : MED_TRIA3, MED_TRIA6, MED_TRIA7, MED_QUAD4, MED_QUAD8, MED_QUAD9, MED_POLYGON.
- Pour les arêtes (MED_DESCENDING_EDGE) : MED_SEG2, MED_SEG3, MED_SEG4.
  Remarques
    Du point de vue du stockage, un maillage distribué a la même structure qu'un maillage MED classique mais ses composantes (entités géométrique, familles, groupes) peuvent être réparties sur plusieurs sous-domaines affectés à des processeurs disjoints. Lors de cette distribution certains sommets, faces, arêtes ou mailles se retrouvent sur la frontière commune de deux sous-domaines. L'ensemble de ces éléments communs à deux sous-domaines constitue un joint. Dans un cadre très général, les éléments communs à deux sous-domaines peuvent apparaître comme :
- La jointure de deux maillages qui se correspondent parfaitement : on parle alors de raccordement conforme,
- La jointure de deux maillages de pavage différent : raccordement non conforme,
- Le recouvrement de deux maillages qu'il soit conforme ou non.

Définition à la ligne 158 du fichier medjoint.f.

subroutine msdcrw | ( | integer | fid,
|  | character *(*) | lmname,
|  | character *(*) | jname,
|  | integer | numdt,
|  | integer | numit,
|  | integer | entlcl,
|  | integer | geolcl,
|  | integer | entdst,
|  | integer | geodst,
|  | integer | n,
|  | integer:dimension(*) | corrtab,
|  | integer | cret |
| ) |  |  |

Cette routine permet l'écriture d'une correspondance dans un joint pour un type de couple d'entité en regard et une séquence de calcul donnés.

Paramètres:

  | fid | Identificateur du fichier.
  | lmname | Nom du maillage local, de longueur maximum MED_NAME_SIZE .
  | jname | Nom du joint, de longueur maximum MED_NAME_SIZE .
  | numdt | Numéro de pas de temps de la séquence de calcul (MED_NO_DT si pas de pas de temps).
  | numit | Numéro d'itération de la séquence de calcul (MED_NO_IT si pas de numéro d'itération).
  | entlcl | Type des entités du sous-domaine local mises en correspondance
  | geolcl | Type géométrique des entités du sous-domaine local.
  | entdst | Type des entités du sous-domaine en vis à vis mises en correspondance.
  | geodst | Type géométrique des entités du sous-domaine en vis à vis.
  | n | Nombre de correspondance.
  | corrtab | Tableau de correspondances sur les entités.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet l'écriture d'un tableau de correspondance dans un joint pour un type de couple d'entité en regard, les correspondances y sont rangées 2 à 2. Le type géométrique peut être :

- Pour les noeuds (MED_NODE) : MED_NONE.
- Pour les mailles (MED_CELL) : MED_POINT1, MED_SEG2, MED_SEG3, MED_SEG4, MED_TRIA3, MED_TRIA7, MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_QUAD9, MED_POLYGON.
- Pour les faces (MED_DESCENDING_FACE) : MED_TRIA3, MED_TRIA6, MED_TRIA7, MED_QUAD4, MED_QUAD8, MED_QUAD9, MED_POLYGON.
- Pour les arêtes (MED_DESCENDING_EDGE) : MED_SEG2, MED_SEG3, MED_SEG4.
  Remarques
    Du point de vue du stockage, un maillage distribué a la même structure qu'un maillage MED classique mais ses composantes (entités géométrique, familles, groupes) peuvent être réparties sur plusieurs sous-domaines affectés à des processeurs disjoints. Lors de cette distribution certains sommets, faces, arêtes ou mailles se retrouvent sur la frontière commune de deux sous-domaines. L'ensemble de ces éléments communs à deux sous-domaines constitue un joint. Dans un cadre très général, les éléments communs à deux sous-domaines peuvent apparaître comme :
- La jointure de deux maillages qui se correspondent parfaitement : on parle alors de raccordement conforme,
- La jointure de deux maillages de pavage différent : raccordement non conforme,
- Le recouvrement de deux maillages qu'il soit conforme ou non.

Définition à la ligne 46 du fichier medjoint.f.

subroutine msdcsi | ( | integer | fid,
|  | character *(*) | mname,
|  | character *(*) | jname,
|  | integer | ind,
|  | integer | numdt,
|  | integer | numit,
|  | integer | ncor,
|  | integer | cret |
| ) |  |  |

Cette routine permet de lire les informations sur les correspondances entre types d'entités dans un maillage pour chaque séquence de calcul.

Paramètres:

  | fid | Identificateur du fichier.
  | mname | Nom du maillage, de longueur maximum MED_NAME_SIZE .
  | jname | Nom du joint, de longueur maximum MED_NAME_SIZE .
  | ind | Itérateur sur le numéro de séquence de calcul. L'itérateur commence à 1.
  | numdt | Numéro de pas de temps de la séquence de calcul (MED_NO_DT si pas de pas de temps).
  | numit | Numéro d'itération de la séquence de calcul (MED_NO_IT si pas de numéro d'itération).
  | ncor | Nombre de correspondance.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet de lire les informations sur les correspondances entre types d'entités dans un maillage pour chaque séquence de calcul. L'accès à chaque correspondance se fait via un itérateur, les informations lues sont : le numéro d'itération, le pas de temps et le nombre de correspondances.

Remarques
  Du point de vue du stockage, un maillage distribué a la même structure qu'un maillage MED classique mais ses composantes (entités géométrique, familles, groupes) peuvent être réparties sur plusieurs sous-domaines affectés à des processeurs disjoints. Lors de cette distribution certains sommets, faces, arêtes ou mailles se retrouvent sur la frontière commune de deux sous-domaines. L'ensemble de ces éléments communs à deux sous-domaines constitue un joint. Dans un cadre très général, les éléments communs à deux sous-domaines peuvent apparaître comme :
  - La jointure de deux maillages qui se correspondent parfaitement : on parle alors de raccordement conforme,
  - La jointure de deux maillages de pavage différent : raccordement non conforme,
  - Le recouvrement de deux maillages qu'il soit conforme ou non.

Définition à la ligne 179 du fichier medjoint.f.

subroutine msdcsz | ( | integer | fid,
|  | character*(*) | mname,
|  | character*(*) | jname,
|  | integer | numdt,
|  | integer | numit,
|  | integer | letype,
|  | integer | lgtype,
|  | integer | retype,
|  | integer | rgtype,
|  | integer | ncor,
|  | integer | cret |
| ) |  |  |

Cette routine permet la lecture du nombre d'entités en correspondance dans un joint pour un couple d'entités et une séquence de calcul donnés.

Paramètres:

  | fid | Identificateur du fichier.
  | mname | Nom du maillage, de longueur maximum MED_NAME_SIZE .
  | jname | Nom du joint, de longueur maximum MED_NAME_SIZE .
  | numdt | Numéro de pas de temps de la séquence de calcul (MED_NO_DT si pas de pas de temps).
  | numit | Numéro d'itération de la séquence de calcul (MED_NO_IT si pas de numéro d'itération).
  | letype | Type des entités du sous-domaine local mises en correspondance
  | lgtype | Type géométrique des entités du sous-domaine local.
  | retype | Type des entités du sous-domaine en vis à vis mises en correspondance.
  | rgtype | Type géométrique des entités du sous-domaine en vis à vis.
  | ncor | Nombre d'entités en correspondance.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet la lecture du nombre d'entités en correspondance dans un joint pour un couple d'entités et une séquence de calcul donnés.

Remarques
  Du point de vue du stockage, un maillage distribué a la même structure qu'un maillage MED classique mais ses composantes (entités géométrique, familles, groupes) peuvent être réparties sur plusieurs sous-domaines affectés à des processeurs disjoints. Lors de cette distribution certains sommets, faces, arêtes ou mailles se retrouvent sur la frontière commune de deux sous-domaines. L'ensemble de ces éléments communs à deux sous-domaines constitue un joint. Dans un cadre très général, les éléments communs à deux sous-domaines peuvent apparaître comme :
  - La jointure de deux maillages qui se correspondent parfaitement : on parle alors de raccordement conforme,
  - La jointure de deux maillages de pavage différent : raccordement non conforme,
  - Le recouvrement de deux maillages qu'il soit conforme ou non.

Définition à la ligne 132 du fichier medjoint.f.

subroutine msdjcr | ( | integer | fid,
|  | character*(*) | lmname,
|  | character*(*) | jname,
|  | character*(*) | des,
|  | integer | dom,
|  | character*(*) | rmname,
|  | integer | cret |
| ) |  |  |

Cette routine permet de créer un joint dans un maillage.

Paramètres:

  | fid | Identificateur du fichier.
  | lmname | Nom du maillage local, de longueur maximum MED_NAME_SIZE .
  | jname | Nom du joint, de longueur maximum MED_NAME_SIZE .
  | des | Description, chaîne de caractères de taille maximum MED_COMMENT_SIZE caractères.
  | dom | Numéro du sous-domaine distant.
  | rmname | Nom du maillage distant, de longueur maximum MED_NAME_SIZE .
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet de créer un joint dans un maillage. Un joint est identifié par son nom. On précise à la création du joint les noms des maillages local et distant auquel il se rapporte ainsi que le numéro du domaine distant.

Remarques
  Du point de vue du stockage, un maillage distribué a la même structure qu'un maillage MED classique mais ses composantes (entités géométrique, familles, groupes) peuvent être réparties sur plusieurs sous-domaines affectés à des processeurs disjoints. Lors de cette distribution certains sommets, faces, arêtes ou mailles se retrouvent sur la frontière commune de deux sous-domaines. L'ensemble de ces éléments communs à deux sous-domaines constitue un joint. Dans un cadre très général, les éléments communs à deux sous-domaines peuvent apparaître comme :
  - La jointure de deux maillages qui se correspondent parfaitement : on parle alors de raccordement conforme,
  - La jointure de deux maillages de pavage différent : raccordement non conforme,
  - Le recouvrement de deux maillages qu'il soit conforme ou non.

Définition à la ligne 18 du fichier medjoint.f.

subroutine msdjni | ( | integer | fid,
|  | character *(*) | lmname,
|  | integer | ind,
|  | character *(*) | jname,
|  | character *(*) | des,
|  | integer | dom,
|  | character *(*) | rmname,
|  | integer | nstep,
|  | integer | ncor,
|  | integer | cret |
| ) |  |  |

Cette routine permet de lire les informations sur un joint dans un maillage.

Paramètres:

  | fid | Identificateur du fichier.
  | lmname | Nom du maillage local, de longueur maximum MED_NAME_SIZE .
  | ind | Itérateur sur les joints. Un itérateur a pour valeur initiale 1.
  | jname | Nom du joint, de longueur maximum MED_NAME_SIZE .
  | des | Description, chaîne de caractères de taille maximum MED_COMMENT_SIZE caractères.
  | dom | Numéro du sous-domaine distant.
  | rmname | Nom du maillage distant, de longueur maximum MED_NAME_SIZE .
  | nstep | Nombre de séquence de calcul.
  | ncor | Nombre de tableau de correspondances sur la séquence de calcul.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet de lire les informations sur un joint dans un maillage. L'accès au joint se fait via un itérateur. Les informations lues sont : le nom du joint, la description associée au joint, le numéro du domaine distant, le nom du maillage distant, le nombre de séquence de calcul, le nombre de types d'entités en correspondance pour la première séquence de calcul.

Remarques
  Du point de vue du stockage, un maillage distribué a la même structure qu'un maillage MED classique mais ses composantes (entités géométrique, familles, groupes) peuvent être réparties sur plusieurs sous-domaines affectés à des processeurs disjoints. Lors de cette distribution certains sommets, faces, arêtes ou mailles se retrouvent sur la frontière commune de deux sous-domaines. L'ensemble de ces éléments communs à deux sous-domaines constitue un joint. Dans un cadre très général, les éléments communs à deux sous-domaines peuvent apparaître comme :
  - La jointure de deux maillages qui se correspondent parfaitement : on parle alors de raccordement conforme,
  - La jointure de deux maillages de pavage différent : raccordement non conforme,
  - Le recouvrement de deux maillages qu'il soit conforme ou non.

Définition à la ligne 89 du fichier medjoint.f.

subroutine msdnjn | ( | integer | fid,
|  | character *(*) | maa,
|  | integer | n,
|  | integer | cret |
| ) |  |  |

Cette routine permet la lecture du nombre de joint dans un maillage.

Paramètres:

  | fid | Identificateur du fichier.
  | maa | Nom du maillage, de longueur maximum MED_NAME_SIZE .
  | n | Nombre de joint.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet la lecture du nombre de joint dans un maillage.

Remarques
  Du point de vue du stockage, un maillage distribué a la même structure qu'un maillage MED classique mais ses composantes (entités géométrique, familles, groupes) peuvent être réparties sur plusieurs sous-domaines affectés à des processeurs disjoints. Lors de cette distribution certains sommets, faces, arêtes ou mailles se retrouvent sur la frontière commune de deux sous-domaines. L'ensemble de ces éléments communs à deux sous-domaines constitue un joint. Dans un cadre très général, les éléments communs à deux sous-domaines peuvent apparaître comme :
  - La jointure de deux maillages qui se correspondent parfaitement : on parle alors de raccordement conforme,
  - La jointure de deux maillages de pavage différent : raccordement non conforme,
  - Le recouvrement de deux maillages qu'il soit conforme ou non.

Définition à la ligne 67 du fichier medjoint.f.

subroutine msdszi | ( | integer | fid,
|  | character*(*) | mname,
|  | character*(*) | jname,
|  | integer | numdt,
|  | integer | numit,
|  | integer | it,
|  | integer | letype,
|  | integer | lgtype,
|  | integer | retype,
|  | integer | rgtype,
|  | integer | ncor,
|  | integer | cret |
| ) |  |  |

Cette routine permet de lire les informations sur les couples d'entités en correspondance dans un joint pour une séquence de calcul donnée.

Paramètres:

  | fid | Identificateur du fichier.
  | mname | Nom du maillage, de longueur maximum MED_NAME_SIZE .
  | jname | Nom du joint, de longueur maximum MED_NAME_SIZE .
  | numdt | Numéro de pas de temps de la séquence de calcul (MED_NO_DT si pas de pas de temps).
  | numit | Numéro d'itération de la séquence de calcul (MED_NO_IT si pas de numéro d'itération).
  | it | Itérateur sur les tableaux de correspondances. L'itérateur commence à 1.
  | letype | Type des entités du sous-domaine local mises en correspondance
  | lgtype | Type géométrique des entités du sous-domaine local.
  | retype | Type des entités du sous-domaine en vis à vis mises en correspondance.
  | rgtype | Type géométrique des entités du sous-domaine en vis à vis.
  | ncor | Nombre d'entités en correspondance.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet de lire les informations sur les couples d'entités en correspondance dans un joint pour une séquence de calcul donnée. L'accès aux correspondances se fait via un itérateur, les informations lues sont : les types d'entités en correspondance entre les sous-domaines et le nombre d'entités en correspondance.

Remarques
  Du point de vue du stockage, un maillage distribué a la même structure qu'un maillage MED classique mais ses composantes (entités géométrique, familles, groupes) peuvent être réparties sur plusieurs sous-domaines affectés à des processeurs disjoints. Lors de cette distribution certains sommets, faces, arêtes ou mailles se retrouvent sur la frontière commune de deux sous-domaines. L'ensemble de ces éléments communs à deux sous-domaines constitue un joint. Dans un cadre très général, les éléments communs à deux sous-domaines peuvent apparaître comme :
  - La jointure de deux maillages qui se correspondent parfaitement : on parle alors de raccordement conforme,
  - La jointure de deux maillages de pavage différent : raccordement non conforme,
  - Le recouvrement de deux maillages qu'il soit conforme ou non.

Définition à la ligne 107 du fichier medjoint.f.