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
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.
le titre du travail en 20 mots de 4 caractères,
la date de création en 2 mots de 4 caractères,
le nom du créateur en 6 mots de 4 caractères,
le type de la SD,
le paramètre de niveau de la SD,
un paramètre réservé,
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.
la dimension de l'espace (2 ou 3),
le nombre d'inconnues de la formulation variationnelle,
le nombre de type d'éléments finis,
le maximum des numéros de référence,
le nombre de types de noeuds,
le nombre de types de points,
1 si les points ont d'autres caractéristiques que leurs
coordonnées,
0 sinon,
1 si les noeuds coïncident partout avec les points, 0 sinon,
le nombre maximum de types géométriques d'éléments (cf. plus bas), permet de dimensionner le tableau.
MAI3( Dans les versions précédentes, il y avait seulement 8 types possibles.)
le nombre maximum de mots nécessaires pour stocker toutes les informations relatives à un élément,
la taille du tableau MAIL,
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.
le nombre d'éléments,
le nombre de noeuds,
le nombre de points,
le maximum des numéros de sous-domaine,
Boucle de i=1 à NDSD
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
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
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
Boucle j de 1 à NNO
Boucle j de 1 à NPO
Boucle de 2 à NMAE
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)
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.
La SD MAIL est construite via les modules COMACO, COMAC2 ou COMAC3.
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