Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 1.9 La SD MILI Sup.: 1 Description des SD par type Préc.: 1.7 La SD GEOM Index Table des matières


1.8 La SD MAIL

 

1.8.1 Contenu

Cette SD est l'organisation choisie pour stocker les maillages bidimensionnels ou tridimensionnels et les informations relatives à l'interpolation éléments finis choisie. Elle correspond à une description du maillage élément par élément et à celle de l'interpolation par type d'inconnue.

La SD MAIL est composée de 22 tableaux dont l'organisation est prédéfinie.

Tableau MAI0 : Informations générales.

De type entier, ce tableau possède 32 variables. Il contient une description générale du travail (titre, date, nom), de la SD MAIL (type, niveau, ...) et indique la présence ou non du tableau MAI1.

1:20 TITRE

le titre du travail en 20 mots de 4 caractères,

21:22 DATE

la date de création en 2 mots de 4 caractères,

23:28 NOMCRE

le nom du créateur en 6 mots de 4 caractères,

29 'MAIL'

le type de la SD,

30 NIVEAU

le paramètre de niveau de la SD,

31 ETAT

un paramètre réservé,

32 NTACM

le nombre de tableaux supplémentaires associés à la SD
(ils seront décrits dans le tableau MAI1).

Tableau MAI1 : Descripteur des éventuels tableaux supplémentaires.

Ce tableau est analogue au tableau B1 de la SD B (voir cette SD).

Tableau MAI2 : Description générale.

Ce tableau de type entier contient 12 valeurs.

1 NDIM

la dimension de l'espace (2 ou 3),

2 NINCFV

le nombre d'inconnues de la formulation variationnelle,

3 NTYELM

le nombre de type d'éléments finis,

4 NDSR

le maximum des numéros de référence,

5 NTYNOE

le nombre de types de noeuds,

6 NTYPOI

le nombre de types de points,

7 NCACAR

1 si les points ont d'autres caractéristiques que leurs coordonnées,
0 sinon,

8 NCOPNP

1 si les noeuds coïncident partout avec les points, 0 sinon,

9 MAXT

le nombre maximum de types géométriques d'éléments (cf. plus bas), permet de dimensionner le tableau. MAI3([note] Dans les versions précédentes, il y avait seulement 8 types possibles.)

10 NMMAM

le nombre maximum de mots nécessaires pour stocker toutes les informations relatives à un élément,

11 LMAIL

la taille du tableau MAIL,

12 NOPFI

l'option d'écriture sur fichier,

Tableau MAI3 : La liste des types d'éléments finis.

Ce tableau de type entier et character contient 4 + 4.MAXT.NDSD valeurs.

1 NE

le nombre d'éléments,

2 NOE

le nombre de noeuds,

3 NP

le nombre de points,

4 NDSD

le maximum des numéros de sous-domaine,

Boucle de i=1 à NDSD

Fin de la boucle i

Il y a 16 types possibles de géométries habituelles, il s'agit séquentiellement de :

Tableau MAI4 : La signification physique des inconnues variationnelles.

De type entier, ce tableau contient les NINCFV fois 4 mots (de 4 caractères) donnant cette signification.

Tableau MAI5 : Nombre d'inconnues par type de noeuds.

De type entier, ce tableau contient NTYNOE mots :

Tableau MAI6 : Numéros des inconnues.

De type entier, ce tableau contient MAI5(i) mots :

Tableau MAI7 : Nombre de degrés de liberté par inconnues.

De type entier, ce tableau contient MAI5(i) mots :

Tableau MAI8 : Le code du mnémonique associé au degrés de liberté.

De type entier, ce tableau contient MAI7(i) mots :

Les codes sont les suivants :

Tableau MAI9 : Nombre de mnémoniques par type de points.

De type entier, ce tableau contient NTYPOI mots :

Tableau MAIA : Numéro du mnémonique par type de points.

De type entier, ce tableau contient MAI9(i) mots :

Tableau MAIB : Bibliothèques et éléments finis.

De type entier et character, ce tableau contient 4 NTYELM mots :

Tableau MAIC : Géométrie des types d'éléments finis.

De type entier, ce tableau contient NTYELM mots :

Ce code est celui décrit dans la SD NOPO ( 3 : triangle, 4 : quadrangle, etc.).

Tableau MAID : Nombre de noeuds par types d'éléments finis.

De type entier, ce tableau contient NTYELM mots :

Tableau MAIE : Nombre de points par types d'éléments finis.

De type entier, ce tableau contient NTYELM mots :

Tableau MAIF : Nombre de tableaux associés par types d'éléments finis.

De type entier, ce tableau contient NTYELM mots :

Tableau MAIG : Pointeur dans MAIJ.

De type entier, ce tableau contient NTYELM mots :

Tableau MAIH : Pointeur dans MAIJ.

De type entier, ce tableau contient NTYELM mots :

Tableau MAII : Pointeur dans MAIJ.

De type entier, ce tableau contient NTYELM mots :

Remarque : Ces adresses sont relatives au début du tableau MAIJ.

Tableau MAIJ : Pointeur dans MAIK et description des tableaux associés.

De type entier, ce tableau contient :

Boucle i de 1 à NTYELM

Fin de la boucle i.

LMAIJ, la longueur du tableau MAIJ somme le nombre de mots nécessaires pour stocker toutes ces informations. Sur le fichier, cette valeur est récupérable puisque chaque enregistrement débute par le nombre de mots qui suivent.

Tableau MAIK : Coordonnées des points et noeuds sur l'élément de référence.

De type donné dans MAIJ, ce tableau contient :

Boucle i de 1 à NTYELM

Fin de la boucle i.

Noeuds et points sont rangés dans l'ordre défini par la SD NOPO (voir cette SD). Si l'élement de référence est typiquement bidimensionnel mais est considéré comme tridimensionnel, il suffit de fixer les z à 0.

Tableau MAIL : Description des éléments.

De type complexe double précision, ce tableau contient :

Boucle i de 1 à NE

Fin de la boucle i.

Outils associés

Ecriture et lecture d'une SD MAIL

Si NOPTFI=0, la SD est de catégorie 1 ; par suite, dans ce cas, une SD résidant en mémoire centrale, est écrite en totalité sur fichier séquentiel via le module SDECRI.

De même, toujours si NOPTFI=0, elle est lue sur fichier et reportée en totalité en mémoire centrale via le module SDLECT.

Si NOPTFI=1, la SD est de catégorie 2 ; le tableau MAIL est lu et écrit en dehors de ces modules. Chaque élément constituant un enregistrement :

 

      WRITE(NFMAIL) LE,(M(IAMAIL-1+I),I=1,LE)

Impression d'une SD MAIL et dessin d'un maillage

Le contenu (total ou partiel) d'une SD MAIL peut être imprimé en utilisant les modules suivants :

      SUBROUTINE  IMMAIL(M,NFMAIL,NIMAIL,IMPRE)
C BUT : IMRESSION DES TABLEAUX DE LA SD MAIL, CROISSANTE AVEC IMPRE
C ---   FICHIER NFMAIL (OU MC SI 0), NIVEAU NIMAIL

      SUBROUTINE INFOMA(M,IOPT,TYPESD,NIVEAU,TAB2,TAB3,TABC,TABI,TABJ,
     +                  IAMAIL,NUMREC)
C BUT : DONNER DES INFORMATIONS SUR UNE SD MAIL

Les préprocesseurs IMAGXX et INFOXX permettent l'appel conversationnel de IMMAIL et de et INFOMA respectivement.

Le maillage contenu dans un fichier peut être dessiné via le préprocesseur TRMCXX (cf. [RM 96]) en dimension 2 ou TRC3XX en dimension 3 qui utilisent également la SD COOR.

Modules de création et de manipulation d'une SD MAIL

La SD MAIL est construite via les modules COMACO, COMAC2 ou COMAC3.

Utilitaires de manipulation d'une SD MAIL

Il existe de nombreux utilitaires permettant de manipuler le contenu d'une SD MAIL, parmi ceux-ci, on trouve des utilitaires facilitant l'exploration du tableau MAIL.

 

      SUBROUTINE CLMAI5(MAI2,MAIC,MAIL,COO4,IA,NTYE,NDSDE,NNO,NONO,NPO
     +                  ,NOPOI,COORP,NREF,NCGE,IFLAG)
C BUT   :  LIRE LE TABLEAU MAIL  ET LE METTRE EN CLAIR (!)

 

      SUBROUTINE AELESU(M,LONREE,NCOPNP,NTYE,NTALIR,IAMAII,IAMAIJ,IA,
     +                  NMA)
C BUT : CALCULER L'ADRESSE DU MOT PRECEDANT CEUX DE L'ELEMENT SUIVANT

 

       FUNCTION MNEMO(NUMERO,MNEMON,CODE)
C BUT : FOURNIR LA CORRESPONDANCE ENTRE UN NUMERO ET SON MNEMONIQUE
C ---   MNEMO RETOURNE TOUJOURS LE MNEMONIQUE CODE DANS UN ENTIER
      .
      .
      PARAMETER (NBRE = 24)
      INTEGER CODE
      CHARACTER*4 MNEM(NBRE),MNEMON
      DATA MNEM/'VN  ','DX  ','DY  ','DZ  ','DTG ','DN  ',
     +          'DDXX','DDYY','DDZZ','DDXY','DDYZ','DDZX','DDTG',
     +          'DDNN','DDTN','DLSP','IADN','TRAN','ITI1','ITI2',
     +          'ITI3','ITI4','ROTX','ROTY'/
C     
     .
     .

 

      SUBROUTINE TYPGEL(N,NM1,NM2,NM3)
C BUT :  ECRIRE EN CLAIR SUR 3 MOTS NM1, NM2, NM3 LE
C ---    TYPE GEOMETRIQUE DE L'ELEMENT DE CODE N


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 1.9 La SD MILI Sup.: 1 Description des SD par type Préc.: 1.7 La SD GEOM Index Table des matières