Miss 6.5 : Manuel Informatique : Version : 2.1

Transcription

Miss 6.5 : Manuel Informatique : Version : 2.1
Miss 6.5 : Manuel Informatique : Version : 2.1
D. Clouteau
June 21, 2007
Contents
1 Principes généraux
1.1 Principes et outils généraux . . . . . . .
1.1.1 Style de programmation . . . .
1.1.2 Les fichiers sources . . . . . . .
1.1.3 Les fichiers d’includes . . . . . .
1.1.4 Les sous-programmes . . . . . .
1.1.5 Arborescence des fichiers sources
1.1.6 Installation . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
2
2
3
3
3
4
2 Structure de données
2.1 Données du problème . . . . . . . . . . . . . .
2.1.1 Données de l’approximation numérique .
2.1.2 La base de modes de référence . . . . .
2.1.3 La base de mode locale . . . . . . . . .
2.1.4 Données d’archivage . . . . . . . . . . .
2.1.5 Données Géométriques . . . . . . . . .
2.1.6 Les éléments . . . . . . . . . . . . . . .
2.1.7 Les groupes . . . . . . . . . . . . . . . .
2.1.8 Les domaines géométriques . . . . . . .
2.1.9 Données Mécaniques . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
6
6
7
8
10
10
13
15
16
20
3 Le système de fichier
3.0.1 Gestionnaire de fichier .
3.0.2 Utilisation . . . . . . . .
3.0.3 Les fichiers utilisateurs .
3.0.4 Les fichiers d’archivage .
3.0.5 Evolutions souhaitables
4 Adressage
4.0.1
4.0.2
4.0.3
4.0.4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
26
26
27
27
28
32
mémoire
Sources et installation . . . . . . . .
Conception . . . . . . . . . . . . . .
Utilisation . . . . . . . . . . . . . . .
Conventions d’utilisation dans MISS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
33
33
34
34
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Chapter 1
Principes généraux
1.1
Principes et outils généraux
Le programme MISS est fondé sur la juxtaposition de modules communiquant
entre eux par l’intermédiaire de fichiers.
Le code source de miss se présente sous la forme d’une arborescence à partir
de la racine miss.rx.x
• Style de programmation
• fichiers sources
• les bibliothèques
• l’installation
Manuel programmeur
1.1.1
Style de programmation
MISS est écrit en fortran 77.
Les seules extensions autorisées sont l’emploi de fichier d’include et l’utilisation
de EENDDO.
Les variables sont écrites sur 6 caractères au maximum.
Les fichiers sources sont généralement en majuscules, les parties écrites en
minuscules indiquent des développements en cours ou non testée.
Principes et outils
1.1.2
Les fichiers sources
On différencie ici deux types de fichiers:
• les fichiers d’includes
• les sous-programmes
Principes et outils, arborescence
2
Miss 6.5: Manuel Informatique : Version : 2.1
1.1.3
3
Les fichiers d’includes
Il sont de cinq types :
• cst.h : définition des paramètres du programme
• blanc.h : le common blanc et sa taille
• data.h : définition des variables réelles usuelles ( 1, pi, 1/2 ...)
• a*.h : pointeurs d’adressage
b-z *.h : variables globales du code.
Ces fichiers contiennent la description des variables, les déclarations de type
et les instructions (PARAMETER, COMMON, DATA)
Principes et outils, arborescence
1.1.4
Les sous-programmes
Il y a un fichier par sous-programme. Ces fichiers ont une entête précisant :
• L’histoire de ce fichier : origine de la routine, personne ayant programmé
cette routine, historique des modifications
• L’action effectuée dans cette routine,
• La description des variables passées en argument.
A la suite de cette entête, apparaissent :
• Les déclarations des variables, parfois sous forme d’includes
• un bloc d’initialisation, parfois sous forme d’includes
• un bloc d’exécution,
• un bloc regroupant les formats d’impression.
Principes et outils, arborescence
1.1.5
Arborescence des fichiers sources
Les fichiers sont répartis à partir d’un répertoire racine miss.rX.X. Sous ce
répertoire apparaissent les répertoires suivants :
• common : fichiers d’includes qui dans les fichiers sources seront donc
toujours définis en adresse relative : ’../common/xxxx.h’.
• doslib : calcul des fonctions de Green du stratifié,
• fftlib : bibliothèque de transformé de Fourier,
• geolib : bibliothèque géométrique,
• iolib : gestion des entrées-sorties,
• mémoire : gestion de la mémoire dynamique,
Miss 6.5: Manuel Informatique : Version : 2.1
4
• mathlib : bibliothèque mathématique,
• laglib : lecture des mot-clés
• extmiss : lecture d’un domaine extérieur,
• miss2d : bibliothèque spécifique 2D (fonctions de Green),
• miss3d : bibliothèque spécifique 3D (fonctions de Green),
• miss2.5d : bibliothèque spécifique 2.5D (fonctions de Green),
• missaxi : bibliothèque spécifique axi (fonctions de Green),
• misslib : bibliothèque éléments de frontière et sous-structuration dynamique
• misscoq : couplage avec les codes d’élément finis,coqef et cobef par l’intermédiaire
du menu EXTE,
• premiss : entrée des données de MISS,
• postmiss : post-traitement
• predos : entrée des données pour le calcul des fonctions de Green du
stratifié,
• postdos : post-traitement des fonctions de Green du stratifié,
• signlib : gestion des signaux,
• utlib : utilitaires généraux.
• instal : procédure d’installation
• missnl : module non linéaire.
Principes et outils
1.1.6
Installation
Dans le répertoire principal miss.rx.x se trouve la commande d’instalation instal
qui lance les différents Makefile dans chacun des répertoires.
Principes et outils
Chapter 2
Structure de données
Les structures de données manipulées par le programme MISS sont les images
informatiques des données décrites dans le manuel utilisateur. Ces structures
ne sont pas toujours facilement identifiables dans le code du fait du language
de programmation utilisé. Elles se résumeront en pratique à des collections de
tableaux, et on essaiera ici d’en extraire une cohérence globale. Elles se divisent
globalement en deux types de données :
• les données du problème de structures très hétérogènes incluant des :
–
–
–
–
données
données
données
données
d’archivage
géométrique
de l’approximation numérique
mécanique
• les résultats de calcul de structures plus homogènes et définis sont les
formes génériques suivantes :
–
–
–
–
champs
impédances
forces équivalentes
facteurs de participation
Ces structures de données apparaissent sur trois supports gérés de façons
autonomes :
• en mémoire à l’aide de la bibliothèque de gestion de la mémoire mémoire
• sur des fichiers utilisateurs
• sur des fichiers d’archivages à l’aide de la bibliothèque de gestion des
fichiers iolib.
Ces structures de données sont créés suivant trois modes :
• par le programmeur, dans le code source
• par l’utilisateur ou des programmes extérieurs dans les fichiers de données
• par l’exécutable lors de l’execution
Manuel programmeur
5
Miss 6.5: Manuel Informatique : Version : 2.1
2.1
6
Données du problème
Ces données sont définies dans le menu DATA. Pour comprendre ces différentes
données, on se référera soit au manuel utilisateur, soit à la notice pour les détails.
• données archivage
• données géométrique
• données mécanique
• données de l’approximation numérique
2.1.1
Données de l’approximation numérique
Les données de l’approximation numérique sont les suivantes :
• La base de modes de référence
• La base de modes locale
• Domaines mécaniques numériques
Domaines mécaniques numériques La structure de données domaine mécanique
numérique est constitué de :
• un domaine mécanique
• une base de modes locale définie sur ce domaine
• l’intérieur et l’extérieur fonctionnel
Son identificateur se confond avec celui du Domaine géométrique : ISDOM
• en mémoire : pointeurPDATA common ADATA
• Fichier d’archivage : .MAIL
• création identique aux domaines géométriques et mécaniques
– par concaténation : pour le domaine 0
– par assemblage : pour le domaines 0 : lecture des fichiers de données
utilisateurs MISS.IN ou auxiliaires dans la routine INPUT par la routine ENDOM0
– par frontières et intérieur : pour les domaines 6= 0
• chargement : dans LDDOM par la routine RDMAIL
Miss 6.5: Manuel Informatique : Version : 2.1
7
Intérieur et extérieur d’un domaine mécanique numérique NCHEXT et
NCHGEX pour le domaine 0 : Entier : nombre de modes extérieurs dans la base.
• en mémoire : common MAIL
• Fichier d’archivage : .MAIL
• création : dans la routine ENDDOMpar la routine DCHEXT,
• création : routine LDDOM.
NCHINT et NCHGIN pour le domaine 0 : Entier : nombre de modes intérieurs dans
la base.
• en mémoire : common MAIL
• Fichier d’archivage : .MAIL
• création : dans la routine ENDDOM ou dans ENDOM0 par la routine DCHEXT,
• création : routine LDDOM.
CHEXT (NCHSUI ou NCHG): tableau d’Entier : renumérotation des modes de la
base en placant en tete les modes intérieurs en vue de l’élimination partielle.
Ce tableau sert également d’identification sur le type de mode (intérieur ou
extérieur) suivant que la valeur est supérieure ou inférieure à NCHINT.
• en mémoire : Pointeur PCHEXT common ADATA
• Fichier d’archivage : .MAIL
• initialisation pour le domaine 0 : dans la routine LECCHP.
• mise à jour pour le domaine 0 : dans la routine ENDDOM
• création : dans la routine ENDDOM ou dans ENDOM0 par la routine DCHEXT
• création : routine LDDOM.
Domaine mécanique numérique , Données de l’approximation numérique ,
Données du problème , structure de donnée
2.1.2
La base de modes de référence
La structure de données base de modes de référence définit les modes sur lesquels
seront approchées les solutions. Ces modes sont définis sur le maillage global
soit explicitement par leur support et leurs valeurs nodales soit implicitement
(ils sont unitaires pour 1 ddl et nuls pour tous les autres. Ils sont soit définis
aux noeuds, soit aux éléments). La structure de donnée est la suivante :
• NCHTG : Entier : nombre de fonction de base de référence définies aux
noeuds
– en mémoire : common MAIL
– Fichier d’archivage : .MAIL
Miss 6.5: Manuel Informatique : Version : 2.1
8
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires par la routine DEFCHP .
– création : routine LDDOM .
• TYMOD (NGRPG ) : tableau d’entiers parmis les valeurs données dans cst.h
fixant le type de modes par groupe (définition explicite ou implicite).
– en mémoire : Pointeurs PTYMOD common ADATA
– Fichier d’archivage : .MAIL domaine 0
– création : dans DEFCHP .
• GRPCHPG (NGRPG , NCHTG ): entier dans 0,1: support des fonctions de base
sous la forme d’un graphe fonction de base X groupe
– en mémoire : Pointeurs PGRPCH common ADATA
– création : dans LECCHP par la routine GRPCHP .
– destruction : dans ENDOM0
• CHPLM (NDDLI.espacereférence ,NODTOT ,NCHTG ) : tableau de complexes
donnant les valeurs des fonctions de base aux différents noeuds, pour les
différents ddl.
– en mémoire : Pointeurs PGRPCH common ADATA
– Fichier d’archivage : .MAIL domaine 0
– création : dans LECCHP par la routine GRPCHP .
– création : routine LDDOM .
Données de l’approximation numérique , Données du problème , structure
de donnée
2.1.3
La base de mode locale
Les fonctions de base locales sont les restrictions au domaine ISDOM courant des
fonctions de base de référence. La structure de donnée est la suivante :
• NCHTOT et NCHTG : Entier : nombre de modes explicites dans la base locale
– en mémoire : common MAIL
– Fichier d’archivage : .MAIL
– création pour le domaine 0 : lecture des fichiers de données utilisateurs MISS.IN ou auxiliaires par la routine DEFCHP .
– création : dans ENDDOM par la routine NCHDOM .
– création : routine LDDOM .
• NCHBEM et NCHBEG pour le domaine 0 : Entier : nombre de modes implicites
de type BEM dans la base locale.
– en mémoire : common MAIL
– Fichier d’archivage : .MAIL
Miss 6.5: Manuel Informatique : Version : 2.1
9
– création pour le domaine 0 : dans la routine LECCHP . par la routine
NBBEM
– création : dans ENDDOM par la routine NBEDOM .
– création : routine LDDOM .
• NCHSUI et NCHG pour le domaine 0 : Entier : nombre de modes dans la
base locale.
– en mémoire : common MAIL
– création pour le domaine 0 : dans la routine LECCHP . par la routine
NBBEM
– création : routine LDDOM .
• IGRPCHP (NGRP ,NCHTOT ou NCHTG ): entier dans 0,1: support des fonctions
de base sous la forme d’un graphe fonction de base X groupe
– en mémoire : Pointeurs PGRPCH common ADATA
– Fichier d’archivage : .MAIL
– création domaine 0 : dans LECCHP par la routine GRPCHP .
– création domaine 6=0: dans ENDDOM routine DDLDOM .
– création domaine 6=0: routine LDDOM .
• suppression de MODGRP
• LSKBEM (NCHBEM ): entier : ddl local sur lequel les modes implicites sont
unitaires
– en mémoire : Pointeurs PLSKBE common ADATA
– Fichier d’archivage : .MAIL
– création domaine 0 : dans LECCHP par la routine DEFMBE .
– création domaine 6=0: dans ENDDOM routine DDLDOM .
– création domaine 6=0: routine LDDOM .
• IDDL (NCHSUI ) ou IDDLG (NCHG ) pour le domaine 0: tableau d’entier :
numéro global d’un mode local.
– en mémoire : Pointeur PIDDL ou PIDDLG common ADATA
– Fichier d’archivage : .MAIL
– création domaine 0 : dans LECCHP par la routine GRPCHP .
– création domaine 6=0: dans ENDDOM routine DDLDOM .
– création domaine 6=0: routine LDDOM .
Données de l’approximation numérique , Données du problème , structure
de donnée
Miss 6.5: Manuel Informatique : Version : 2.1
2.1.4
10
Données d’archivage
Ce sont des données liées soit à l’étude
• nom générique de l’étude
• titre de l’étude
soit au code lui même
• version
• révision
permettant l’identification des fichiers créés. Ces données sont stockées dans
le common Miss .
La version et la révision sont fixées dans la routine INIT
Données du problème , structure de donnée
nom générique de l’étude Il est définit dans le menu principal.
Il sert de prefixe par defaut aux fichiers générés par le programme. iolib.
Il est rappelé dans le fichier de sortie .OUT
Il est stocké dans le common Miss .
Données du problème , structure de donnée, données archivage
titre de l’étude Il est définit dans le menu principal.
Il est rappelé dans le fichier de sortie .OUT, et dans le post-traitement
Il est stocké dans le common Miss .
Données du problème , structure de donnée, données archivage
2.1.5
Données Géométriques
Les données géométriques définies dans le manuel programmeur sont les suivantes :
• l’espace de référence : 2D, 3D, axi .....
• lles noeuds
• les points de controle
• les éléments
• les points de gauss
• les groupes
• les domaines
Les informations géométriques scalaires sont conservées en mémoire dans le
common MAIL
Elles sont archivées dans les fichiers .MAIL par la routine WRMAIL et relues
par RDMAIL au fur et à mesure des besoins.
Données du problème , structure de donnée
Miss 6.5: Manuel Informatique : Version : 2.1
11
Les noeuds La structure de données noeuds est constituée par :
• NODTOT : entier : le nombre total de noeuds.
– en mémoire : common MAIL
– Fichier d’archivage : .MAIL du domaine 0
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires par la routine INPUT .
• XNOD (NDIM .espace de référence ,NODTOT ) : real : les coordonnées des
noeuds
– en mémoire : Pointeur PXNOD du common ADATA
– Fichier d’archivage : fichiers .MAIL du domaine 0
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires par la routine INOEUD .
La structure noeuds est globale à l’ensemble du maillage. Les noeuds sont
numérotés de 1 à NODTOT dans l’ordre implicite de définition.
Données du problème , structure de donnée, données géométriques
Les points de contrôle La structure de données points de controle est très
similaire à la structure de données noeuds , mais elle est locale à un domaine et
définit par :
• NPTCTR : entier : le nombre total de point de controle du domaine.
– en mémoire : common MAIL
– Fichier d’archivage : .MAIL du domaine
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires par la routine INPUT .
• XCTR (NDIM .espace de référence ,NPTCTR ) : real : les coordonnées des
points de contrôle.
– en mémoire : Pointeur PXCTR du common ADATA
– Fichier d’archivage : fichiers .MAIL
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires par la routine INOEUD .
Les points de contrôle sont numérotés de 1 à NPTCTR dans l’ordre implicite
de définition.
modification
Données du problème , structure de donnée, données géométriques
Miss 6.5: Manuel Informatique : Version : 2.1
12
Les points de Gauss La structure de données points de gauss regroupe
à la fois des données géométriques et des données d’intégration. Elle est en
fait double car elle comporte deux séries de points de Gauss, grossiers et fins.
Cette structure de données est créée à partir de la structure élément s et de la
structures paramétres d’intégration .
• NBG1 : entier : le nombre total de point de gauss sur le domaine.
– en mémoire : common INTEGR
– création dans LDDOM
• XPGG (NDIM .espace de référence ,NBG1 ) : real : les coordonnées des points
de gauss.
– en mémoire : Pointeur PXPGG du common AGEOM
– Fichier d’archivage : fichiers .GEOM
– création : Dans PRPGEO par la routine INGEOM .
– création : Dans PRPGEO par lecture du fichier .GEOM .
• NEPGG (NDIM .espace de référence ,NBG1, NDD.domaine) : real : les vecteurs
normaux aux points de gauss.
– en mémoire : Pointeur PNEPGG du common AGEOM
– Fichier d’archivage : fichiers .GEOM
– création : Dans PRPGEO par la routine INGEOM .
– création : Dans PRPGEO par lecture du fichier .GEOM .
• WPGG (NBG1 ) : real : poids aux points de gauss.
– en mémoire : Pointeur PWPGG du common AGEOM
– Fichier d’archivage : fichiers .GEOM
– création : Dans PRPGEO par la routine INGEOM .
– création : Dans PRPGEO par lecture du fichier .GEOM .
• ELTGG (NBG1 ) : entiers : éléments auquel appartiennent les points de
gauss.
– en mémoire : Pointeur PELTGG du common AGEOM
– Fichier d’archivage : fichiers .GEOM
– création : Dans PRPGEO par la routine INGEOM .
– création : Dans PRPGEO par lecture du fichier .GEOM .
Les points de gauss grossier sont numérotés de 1 à NBG1 dans l’ordre implicite
de définition.
• NBG2 : entier : le nombre total de point de gauss fin sur le domaine.
– en mémoire : common INTEGR
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires par la routine INPUT .
Miss 6.5: Manuel Informatique : Version : 2.1
13
– création dans LDDOM
• XPGF (NDIM .espace de référence ,NBG2 ) : real : les coordonnées des points
de gauss.
– en mémoire : Pointeur PXPGF du common AGEOM
– Fichier d’archivage : fichiers .GEOM
– création : Dans PRPGEO par la routine INGEOM .
– création : Dans PRPGEO par lecture du fichier .GEOM .
• NEPGF (NDIM .espace de référence ,NBG2 , NDD.domaine) : real : les
vecteurs normaux aux points de gauss.
– en mémoire : Pointeur PNEPGF du common AGEOM
– Fichier d’archivage : fichiers .GEOM
– création : Dans PRPGEO par la routine INGEOM .
– création : Dans PRPGEO par lecture du fichier .GEOM .
• WPGF (NBG2 ) : real : poids aux points de gauss.
– en mémoire : Pointeur PWPGF du common AGEOM
– Fichier d’archivage : fichiers .GEOM
– création : Dans PRPGEO par la routine INGEOM .
– création : Dans PRPGEO par lecture du fichier .GEOM .
• ELTGF (NBG2 ) : entiers : éléments auquel appartiennent les points de
gauss.
– en mémoire : Pointeur PELTGF du common AGEOM
– Fichier d’archivage : fichiers .GEOM
– création : Dans PRPGEO par la routine INGEOM .
– création : Dans PRPGEO par lecture du fichier .GEOM .
Données du problème , structure de donnée, données géométriques
2.1.6
Les éléments
La structure de données éléments est locale à un domaine. Elle est constituée
par :
• NELTOT : entier : le nombre total d’éléments dans le domaine.
– en mémoire : common MAIL
– Fichier d’archivage : .MAIL du domaine
– création 1: lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires par la routine INPUT .pour le domaine 0
– création 2: routine NELDOM .
– création 3 : dans LDDOM par la routine RDMAIL
Miss 6.5: Manuel Informatique : Version : 2.1
14
• NBREC :entier: le nombre de quadrangles
– en mémoire : common INTEGR
– Fichier d’archivage : .MAIL du domaine
– création 1: dans la routine ielemg .pour le domaine 0
– création 2: dans ENDDOM: par la routine ELTDOM .
• NBTRI :entier: le nombre de triangles
– en mémoire : common INTEGR
– Fichier d’archivage : .MAIL du domaine
– création 1: dans la routine ielemg .pour le domaine 0
– création 2: dans ENDDOM: par la routine ELTDOM .
• NBSEG :entier: le nombre de segments
– en mémoire : common INTEGR
– Fichier d’archivage : .MAIL du domaine
– création 1: dans la routine ielemg .pour le domaine 0
– création 2: dans ENDDOM: par la routine ELTDOM .
• NODEL (MXNDEL .espace de référence ,NELTOT ) : matrice entiers: les numéros
des noeuds (zéro si pas de noeuds).
– en mémoire : Pointeur PXNOD du common ADATA
– Fichier d’archivage : fichiers .MAIL
– création dans INPUT : lecture des fichiers de données utilisateurs
MISS.IN ou auxiliaires par la routine ielemg .
– création dans ENDDOM: par la routine ELTDOM .
– création dans LDDOM par la routine RDMAIL
• IEL (NELTOT ) : vecteur entier: numéros globaux des éléments locaux (vide
pour le domaine 0)
– en mémoire : Pointeur PIEL du common ADATA
– Fichier d’archivage : fichiers .MAIL
– création dans ENDDOM: par la routine ELTDOM .
– création dans LDDOM par la routine RDMAIL
• AIRE (NELTOT ) : vecteur réel: aire des éléments (vide pour le domaine 0)
– en mémoire : Pointeur PAIRE du common AGEOM
– Fichier d’archivage : fichiers .GEOM
– création : Dans PRPGEO par la routine INGEOM .
– création : Dans PRPGEO par lecture du fichier .GEOM .
Miss 6.5: Manuel Informatique : Version : 2.1
15
• NOREL (NDIM .espace de référence ,NELTOT ) : vecteur réel: normale moyenne
des éléments (vide pour le domaine 0)
– en mémoire : Pointeur PNOREL du common AGEOM
– Fichier d’archivage : fichiers .GEOM
– création : Dans PRPGEO par la routine DEFNOR .
– création : Dans PRPGEO par lecture du fichier .GEOM .
Les éléments sont numérotés de 1 à NELTOT dans l’ordre implicite de définition.
Par ailleurs NELEM = NELTOT .domaine0 est conservé comme variable globale.
• NELEM : entier : le nombre total d’éléments dans le domaine 0.
– en mémoire : common MAIL
– Fichier d’archivage : .MAIL du domaine 0
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires par la routine INPUT .
2.1.7
Les groupes
Les groupes sont des ensembles d’éléments. La structure de donnée groupes
peut se définir par :
• NGRP : entier : le nombre total de groupes dans le domaine.
– en mémoire : common MAIL
– Fichier d’archivage : .MAIL du domaine
– création 1pour le domaine 0 : lecture des fichiers de données utilisateurs MISS.IN ou auxiliaires dans la routine INPUT par les routines
ielemg
et IGROUP .
– création 2: routine NGRDOM .
• GROUP (NELTOT.éléments ) : vecteur entier: groupes auquelles appatiennent
les éléments
– en mémoire : Pointeur PGROUP du common ADATA
– Fichier d’archivage : fichiers .MAIL
– création dans INPUT : lecture des fichiers de données utilisateurs
MISS.IN ou auxiliaires par la routine ielemg .
– création dans INPUT : lecture des fichiers de données utilisateurs
MISS.IN ou auxiliaires par la routine IGROUP .
– création dans ENDDOM: par la routine ELTDOM .
– création dans LDDOM par la routine RDMAIL
• TYPGRP (1+NBCAR ,NGRP ) : vecteur de (1 entier, NBCAR réels) : type de
groupe et caractéristiques associées.
– en mémoire : Pointeur PTYPGR du common ADATA
Miss 6.5: Manuel Informatique : Version : 2.1
16
– Fichier d’archivage : fichiers .MAIL
– création dans INPUT : lecture des fichiers de données utilisateurs
MISS.IN ou auxiliaires par la routine IGROUP pour le domaine 0
– création dans ENDDOM: par la routine MSKDOM .
– création dans LDDOM par la routine RDMAIL
Enfin comme pour les éléments, NGRPG =NGRP .Domaine0 est conservé en
variable globale.
• NGRPG : entier : le nombre total de groupes dans le domaine 0.
– en mémoire : common MAIL
– Fichier d’archivage : .MAIL du domaine 0
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires dans la routine INPUT par les routines ielemg et IGROUP .
2.1.8
Les domaines géométriques
La structure de données domaine géométrique n’est pas explicite dans le code
(modif), elle n’est qu’une partie de la structure domaine physique. On notera
par ailleurs la différence qui existe encore entre le domaine 0 et les autres domaines. On peut néanmoins la définir formellement comme suit :
• Domaine géométrique
– ISDOM : numéro identifiant le domaine
∗ en mémoire : common MAIL
∗ création 1pour les domaines 6=0 : lecture des fichiers de données
utilisateurs MISS.IN ou auxiliaires dans la routine LECDOM .
∗ création 2: lecture des fichiers de données utilisateurs MISS.IN
ou auxiliaires dans la routine miss3d .
– noeuds (domaine 0 seulement )
– éléments
– groupes
– points de controle
(sauf domaine 0)
– l’intérieur et l’extérieur de ce domaine
• en mémoire : pointeur PDATA common ADATA
• Fichier d’archivage : .MAIL
• création
– par concaténation : pour le domaine 0
– par assemblage : pour le domaines 0 : lecture des fichiers de données
utilisateurs MISS.IN ou auxiliaires dans la routine INPUT par la routine ENDOM0
– par frontières et intérieur : pour les domaines 6=0
• chargement : dans LDDOM par la routine RDMAIL
Miss 6.5: Manuel Informatique : Version : 2.1
Intérieur et extérieur d’un domaine géométrique
d’un domaine est défini par groupe sous la forme :
17
L’intérieur et l’extérieur
• GREXT (NGRP ) : vecteur entier : indicateur sur les groupes intérieurs ou
extérieurs (0 intérieur, 1 extérieur pours les interfaces, 1 intérieur, 0 exterieur)
• en mémoire : Pointeur PGREXT du common ADATA
• Fichier d’archivage : fichiers .MAIL
• initialisation dans LECCHP pour le domaine 0.(à modifier )
• création dans ENDDOM pour les autres domaines.
• modification ENDDOM pour le domaine 0
• création dans LDDOM par la routine RDMAIL
Création d’un domaine par concaténation Le domaine est créé à partir des structures de données qui le constituent : ISDOM, noeuds (domaine 0
seulement ),éléments, groupes, points de controle
(sauf domaine 0). C’est le mode de création du domaine 0 par la routine
LECDOM .
Création d’un domaine par assemblage Le domaine est créé par assemblage d’autres domaines.: Non implémenté
C’est le mode de mise à jour du domaine 0 par la routine ENDDOM .( mise à
jour de GREXT)
pour le recréer dans ENDOM0. .(Modif)
Création d’un domaine par sa frontière
• Définition de la frontière sous la forme d’une liste de groupes sur le fichier
de données utilisateurs MISS.IN dans la routine INPUT par la routine
DEFDOM
– en mémoire : Pointeur PDFDOM
• Définition du domaine de référence (implicitement le domaine 0).
• Création des structures éléments,groupes, à partir de celles du domaine
de référence et de la frontière
• Définition des points de controle
La définition d’un domaine se fait à l’aide d’un tableau local à INPUT,
PDFDOM qui pour chaque groupe associe une des trois valeurs suivantes : -1
: la surface avec normale inversée (le groupe) appartient à la frontière, 0 : le
groupe n’appartient pas au domaine, 1 : la surface (le groupe) appartient à la
frontière.
notera à partir de la r5.8 l’apparition de structure de données permettant
d’avoirs des domaines imbriqués les uns dans les autres. Cette structure n’existe
en réalité que pour le domaine 0, ensemble de tous les domaines.
Miss 6.5: Manuel Informatique : Version : 2.1
18
Il s’agit pour le domaine 0 de détecter les frontières intérieures et extérieures.
Ce tri est rangé dans le tableau pgrext. Ce tableau est créé en sommant les
tableaux successifs PDFDOM. On note ici une ambiguité possible pour les
développements futurs, en effet une valeur nulle peut signifier soit qu’une surface
est intérieure, soit qu’elle n’appartient pas au domaine. La deuxième ambiguité
vient des structures minces type plaques qui sont en contact des deux cotés avec
d’autres domaines. Le tableau pgrext.est également créé au niveau de chacun des
domaines, toutefois pour ceux-ci tous les groupes sont extérieurs. Cette notion
de frontières intérieures et extérieures permettra de définir des ddls intérieurs
ou extérieurs, les ddls étant associés à des fonctions de base, et les fonctions de
base à leur support.
• Remarque 1: dans le futur il semble intéressant de définir les point de
contrôle comme un groupe intérieur.
• Remarque 2: dans un domaine il y deux maillages, le maillage extérieur
(celui que le domaine peut partager avec d’autres domaines, c’est typiquement le maillage des sous-domaines) et le maillage total, somme de
l’intérieur et de l’extérieur (c’est typiquement le maillage global).
Paramètres d’intégration En marge de la géométrie elle-même, les données
permettant de faire des intégrations sur cette géométrie sont définies également
par l’utilisateur (mot-clé INTEgration). La structure paraminte est globale :
• NREC1:entier: nombre de points de gauss grossiers sur un coté d’un quadrangle
– en mémoire : common INTEGR
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires dans la routine INPUT
• NTRI1:entier: nombre de points de gauss grossiers sur un triangle
– en mémoire : common INTEGR
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires dans la routine INPUT
• NSEG1:entier: nombre de points de gauss grossiers sur un segment
– en mémoire : common INTEGR
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires dans la routine INPUT
• NREC2:entier: nombre de points de gauss grossiers sur un coté d’un quadrangle
– en mémoire : common INTEGR
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires dans la routine INPUT
• NTRI2:entier: nombre de points de gauss grossiers sur un triangle
– en mémoire : common INTEGR
Miss 6.5: Manuel Informatique : Version : 2.1
19
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires dans la routine INPUT
• NSEG2:entier: nombre de points de gauss grossiers sur un segment
– en mémoire : common INTEGR
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires dans la routine INPUT
L’espace géométrique de référence L’espace géométrique de référence est
l’espace sur lequel sont définies les données géométriques. Il fixe des variables
du contexte d’éxécution. Il est impossible de modifier cet espace en cours
d’éxecution, ce choix est fait automatiquement à la création de l’exécutable
en choisissant la bibliothèque adaptée.
Les possibilités offertes par le code sont les suivantes :
• miss2d : Géométrie 2D,
• miss3d : Géométrie 3D,
• miss2.5d : Géométrie 3D invariante par translation
• missaxi : Géométrie 3D invariante par rotation autour d’un axe,
Ce choix a été guidé par une recherche d’éfficacité :
• A la programmation : Il n’est plus nécessaire de coder les différents tests
• lors des tests : cette méthode rend totalement étanche de grandes partie
des codes
• A l’exécution : l’éxécutable est plus petit et de nombreux tests sont supprimés.
Il comporte néanmoins des défauts :
• Les différentes versions ne sont pas toujours au même niveau de développement
• les routines peuvent nécessiter des arguments différents (en pratique certains arguments ne seront pas utilisés dans certains cas)
• Un rique de duplication d’une partie importante du code source
Afin de lutter contre ce dernier inconvénient, seules les parties vraiment
différentes du code sont mises dans les bibliothèques spécifiques. Les autres
parties sont conservées dans le bibliothèques communes dans lequelles des tests
spécifiques sont effectués. Pour ce faire le type d’espace géométrique est rangé
dans le common LOGIC sous la forme de variables logiques initialisées dans les
routines INIT .de chaque bibliothèque.
On peut formellement lui donner la structure suivante :
espace de référence :
• NDIM : entier : dimension de l’espace de définition des données géométriques
– En mémoire : common CONST .
Miss 6.5: Manuel Informatique : Version : 2.1
20
– Création : routine INIT
• MXNDEL : entier : nombre maxi de noeuds que peut avoir un élement de
cet espace
– En mémoire : common CONST .
– Création : routine INIT
• NBPHA : nombre par defaut de ddl mécaniques
– En mémoire : common CONST .
– Création : routine INIT
• L2D : logical
– En mémoire : common LOGIC .
– Création : routine INIT
• L3D : logical
– En mémoire : common LOGIC .
– Création : routine INIT
• L25 : logical
– En mémoire : common LOGIC .
– Création : routine INIT
• LAXI : logical
– En mémoire : common LOGIC .
– Création : routine INIT
• NDDLI : entier : nombre maximum de ddl par noeuds pour la définition
des fonctions de base
– En mémoire : common CONST .
– Fichier d’archivage : .MAIL
– création : routine INIT
– création : routine LDDOM
2.1.9
Données Mécaniques
Les données mécaniques sont de trois types :
• les modèles de matériaux constituant les domaines
• les conditions aux limites
• les domaines mécaniques
Miss 6.5: Manuel Informatique : Version : 2.1
21
domaines mécaniques Un domaine mécanique est constitué de trois éléments
:
• Domaine géométrique : définissant le support géométrique sur lequel applique la mécanique
• modèle matériau : définissant le type de mécanique a prendre en compte
sur le domaine. Il fixe en paticulier l’espace des phases générique (la
dimension physique des variables qui pourront être définies sur le domaine)
• conditions aux limites sur le Domaine géométrique : définissant pour
chaque constituant du domaine géométrique les types de variables qui
y sont imposées.
Son identificateur se confond avec celui du Domaine géométrique : ISDOM
• en mémoire : pointeur PDATA common ADATA
• Fichier d’archivage : .MAIL
• création identique aux domaines géométriques
– par concaténation : pour le domaine 0
– par assemblage : pour le domaines 0 : lecture des fichiers de données
utilisateurs MISS.IN ou auxiliaires dans la routine INPUT par la routine ENDOM0
– par frontières et intérieur : pour le domaines 6=0
• chargement : dans LDDOM par la routine RDMAIL
les modèles matériaux
la forme :
matériau :
La structure de données modèle matériaux est de
• ITYMAT : entier parmis les types de modèles matériaux
– En mémoire : common MAIL.
– Fichier d’archivage : .MAIL
– création : routine LECMAT ou LECFLU
• NBDDLM : entier : nombre de ddl mécaniques par noeuds
– En mémoire : common CONST
– Fichier d’archivage : .MAIL
– création : routine INPUT
– création : routine LDDOM
• NBDDLH : entier : nombre de ddl hydraulique par noeuds
– En mémoire : common CONST
– Fichier d’archivage : .MAIL
– création : routine INPUT
Miss 6.5: Manuel Informatique : Version : 2.1
22
– création : routine LDDOM
– modification : routine MSKDOM
• NBDDL entier : nombre de ddl par noeuds
– En mémoire : common CONST .
– création : routine LDDOM
• paramètres : type paramètres matériau
type de modèles matériau Les types de modèles matériau disponibles
sont définis dans cst.h .
Il est possible de répartir ces types suivant les catégories suivantes :
• Les modèles éléments de frontières sur lesquels sont connues les solutions
élémentaires
– IFLUI : espace homogène fluide acoustique
– ISOL : espace homogène solide visco-élastique isotrope
– ISTRA : solide visco-élastique stratifié
– IDFLU : demi-espace fluide acoustique homogène
– BIPHA : non disponible
– IDFLIC : demi-espace fluide incompressible homogène avec surface
libre
– FLIC : fluide incompressible homogène
– ISSH : espace homogène solide visco-élastique isotrope 2D SH
• les modèles issus de codes FEM
– IEXT
– IKCM
– ICHAR
– IRIG
– IAMO
– IMAS
– IKC
– IKM
– ICM
• INDEF: non défini
Le modèle matériau fait reférence à un modèle physique
Miss 6.5: Manuel Informatique : Version : 2.1
23
Paramètres matériau
• parmis (parammatélashom, parammatflui, parammatélasstratifié) : Champs
spécifiques pour la définition du matériau Ces données ne sont utilisées que
dans des routines spécifiques.
• LSTRA :logical: matériau stratifié
– En mémoire : common LOGIC.
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires dans la routine LECMAT
– création : routine LDDOM
Paramètres matériauélastique homogène
• Ce champ caractérise les matériaux élastiques et contient également quelques
variables intermédiaires pour le calcul des fonctions de Green ou pour des
raisons de normalisation
– En mémoire : common MATE.
– Fichier d’archivage : .MAIL
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires dans la routine LECMAT
– création : routine LDDOM
– création : routine INIVSP (matdos2m)
paramètres matériau fluide
• Ce champ caractérise les fluides et contient également quelques variables
intermédiaires pour le calcul des fonctions de Green ou pour des raisons
de normalisation.
– En mémoire : common FLUI
– Fichier d’archivage : .MAIL
– création : lecture des fichiers de données utilisateurs MISS.IN ou
auxiliaires dans la routine LECFLU
– création : routine LDDOM
Paramètres matériau élastique stratifié Ce champ permet de caractériser
les matériaux élastiques stratifiés. Il est stocké dans le common DOS2M
Paramètres matériaux ,
Matériaux, Données mécaniques, Données du problème
Les types conditions aux limites Conditions aux limites parmis les types
donnés dans csth
Miss 6.5: Manuel Informatique : Version : 2.1
24
Les conditions aux limites Les conditions aux limites sont fixés par groupe
d’élément à l’aide du tableau MASK(NGRP) : tableau de types de conditions aux
limites
• En mémoire : poiteur PMASK du common ADATA
• Fichier d’archivage : .MAIL
• création : domaine 0 : lecture des fichiers de données utilisateurs MISS.IN
ou auxiliaires dans la routine DEFCHP
• création : domaine 6=0 : routine MSKDOM
• création : routine LDDOM
Paramètres des fonctions de green élastiques
• Ce champ caractérise les paramètres utiles au calcul des fonctions de Green
élastiques
– En mémoire : common MATE .
– Fichier d’archivage : aucun
– mise à jour : routine INIGRE COEFMA
Paramètres des fonctions de green fluide
• Ce champ caractérise les paramètres utiles au calcul des fonctions de Green
fluides
– En mémoire : common FLUI
– Fichier d’archivage : aucun
– mise à jour : routine INIGRE COEFFL
Fonctions de base et DDL Les champs imposés aux noeuds PCHPLM sont
ensuite transférés (routine INGEOM) en champs imposés sur les éléments dans le
tableau PCHLME stocké dans le common AGEOM puis dans le fichier .LM (indépendant
de la fréquence).
Les chargements Contrairement à l’ensemble des autre données associées
au problème, les chargements (ainsi que les signaux) ne sont pas définis dans le
menu DATA, mais dans les menus INCI ou EXTE. En particulier les définitions
liées aux champs incidents ne sont pas stockées dans le fichier .MAIL et donc
ne sont pas recréées dans LDDOM. Ceci explique les précautions particulières
concernant les champs incidents dans la notice. Les nombres de chargements au
niveau local et global sont stockés dans le common MAIL:
• NCHUI nombre de champs incidents imposés par domaine
• NCHUIG : nombre de champs incidents imposes globaux Toutefois, NCHUI
change en fonction des domaines, le vecteur (NDOMN) stocké dans le common blanc à l’adresse PNBUI(admain.h) donne donc ce nombre de chargement en fonction du domaine :
Miss 6.5: Manuel Informatique : Version : 2.1
25
• PNBUI: nombre de champs incident par domaine
Il n’y a pas de table allant de la numérotation locale des champs incidents à la
numérotation globale. Les champs incidents (ou chargements) étant supposés
indépendant d’un domaine à l’autre (non nuls sur au plus un domaine), la
numérotation globale suit la numérotation locale mise bout à bout dans l’ordre
des domaines. La fonction (ISDOM,NDOMN,ia(PNBUI)) renvoie le numéro global du
premier champ incident défini sur le domaine ISDOM. Les données de définition
du champ incident sont stockées référencées dans le common chui.h.
On remarquera que dans l’état actuel du code tous les champ incidents sur
un domaine doivent être du même type.
**** Remarque ***** La structure de données des chargements devra dans
les futures versions être revue, intégrée dans le menu data et stockée sur le
fichier .MAIL.
Fréquences La sélection de la plage de fréquence du calcul est faite par
l’utilisateur dans le menu DATA (routine INPUT). Les données liées à cette
plage de fréquence sont stockées dans le common FREQdu fichier freq.h:
Nombre d’onde La version 2.5D introduit un échantillonnage supplémentaire
par rapport aux versions 2D et 3D, il s’agit de l’échantillonnage en nombre
d’onde horizontal. A cet échantillonnage est attribué la notion de mode (comme
les modes en axisymétrique ou pour la prise en compte des symétries). Deux
commons D25 et MSOURsont associés pour stocker les variables relatives à cet
échantillonnage (cf. fichier deuxetdemi.h).
Chapter 3
Le système de fichier
Miss fait appel au moyen d’un gestionnaire de fichier à deux types de fichiers :
• les fichiers utilisateurs ASCII
• les fichiers d’archivage MISS binaires.
3.0.1
Gestionnaire de fichier
Les sous-programmes permettant la manipulation des fichiers se décomposent
dans les niveaux suivants :
• Niveau 0 :
– NTRAN : Manipulation des fichiers séquentiels,
– IODA : Manipulation des fichiers accès direct,
• Niveau 1:
– DEFICH : définition des caractéristiques des fichiers (type, suffixe, unit
...),
– OPENFL : utilitaire d’ouverture des fichiers d’archivage et utilisateur
– RDFL : gestionnaire de lecture sur un fichier,
– WRTFL : gestionnaire d’écriture sur un fichier,
• Niveau 2 :
– HEADFR : Lecture et vérification de l’entête,
– HEADFW : Ecriture de l’entête,
– WRTMAT : gestionnaire d’écriture de matrices sur un fichier,
– PRRTAP : ouverture d’un fichier en lecture, vérification de l’entête et
positionnement,
– PRWTAP : creation d’un fichier en ecriture, vérification de l’entête et
positionnement.
– WRMAIL : lecture des fichiers .MAIL.
– RDMAIL : écriture des fichiers .MAIL.
26
Miss 6.5: Manuel Informatique : Version : 2.1
27
Les commons contenant les informations nécessaires à la manipulation de
ces fichiers sont regroupes dans le fichier tape.h.
Ces commons contiennent en particulier :
• l’identificateur RFILE sous forme d’une chaı̂ne de 80 caractères. Les huit
premiers sont utilisés pour définir le type de fichier, le reste est utilisé
pour stocker le nom de ce fichier. Cet identificateur est initialisé dans
la routine DEFICH. Le nom générique n’étant pas encore connu, le nom
consiste simplement en un suffixe.
• la taille des enregistrements LREC,
• la position courante sur le fichier LKEY(seulement pour les fichiers accès
direct)
• l’dentificateur LREWFLpour le rembobinage du fichier à chaque fréquence.
Les fichiers résultats contiennent en général plusieurs fréquences stockées
successivement. Cependant dans certains les résultats sont indépendant
de la fréquence (fichiers .LMpar exemple, ou les fichiers pour des fluides
incompressibles). Il convient alors de les rembobiner à chaque nouvelle
fréquence.
• l’identificateur IFTYP, fixant le type de fichiers parmis les types définis
dans cst.h
3.0.2
Utilisation
Les fichiers cst.h et tape.h doivent être mis en include des routines utilisant
cette bibliothèque.
Les routines accessibles à l’utilisateur de la bibliothèque sous les suivants :
• OPENFL : utilitaire d’ouverture des fichiers d’archivage et utilisateur
• RDFL : gestionnaire de lecture sur un fichier,
• WRTFL : gestionnaire d’écriture sur un fichier,
• WRTMAT : gestionnaire d’écriture de matrices sur un fichier,
• PRRTAP : ouverture d’un fichier en lecture, vérification de l’entête et positionnement,
• PRWTAP : creation d’un fichier en ecriture, vérification de l’entête et positionnement.
Les fichiers DOS2M sont gérés directement par IODA.
3.0.3
Les fichiers utilisateurs
Les fichiers utilisateurs sont de deux types :
• données
• résultats
Miss 6.5: Manuel Informatique : Version : 2.1
28
les fichiers de données utilisateurs
Les fichiers de données utilisateurs sont :
• le fichier de données principal MISS.IN sur l’unité fortran IIN
• le fichier auxiliaire sur l’unité IAUX.
Dans la version actuelle il ne peut y avoir qu’un seul fichier auxiliaire ouvert
en même temps.
les fichiers de données sont lus à l’aide des bibliothèques de lecture et de
pre-traitement
• laglib,
• premiss,
• extmiss,
• predos,
• signlib.
les fichiers de résultats utilisateurs
Les fichiers de résultats utilisateurs sont :
• le fichier $ sur l’unité fortran ISCRE
• le fichier de sortie sur l’unité IOUT.
• le fichier de dessin sur l’unité IDES.
Dans la version actuelle il ne peut y avoir qu’un seul fichier de dessin ouvert
en même temps.
les fichiers de résultats sont écrits à l’aide des bibliothèques de post-traitement
postmiss et postdos
3.0.4
Les fichiers d’archivage
Les fichiers d’archivage ont tous un préfixe rappelant le nomgénérique , et un
suffixe indiquant le type de fichier (cf. Notice utilisateur, rubrique fichier).
Entre ce prefixe et ce suffixe apparait le domaine concerné.
Ce sont des fichiers binaires de deux types :
• séquenciels
• accès direct
Le fichier .INA constitue une exeption, puisqu’il s’agit d’un fichier ASCII
séquentiel, utilisé dans le programme pour stocker les commandes comprisent
dans la boucle sur les fréquences.
Miss 6.5: Manuel Informatique : Version : 2.1
29
Les fichiers d’archivage séquentiels
Ils s’agit de fichiers contenant des structures de données non répétitives. Seuls
deux fichiers sont de ce type :
• .MAIL : sur l’unité IMAIL, contenant les infomations géométriques, mécaniques
et fonctionnelles liées à un domaine, créé par WRMAIL relut par RDMAIL.
• .GEOM : sur l’unité IGEOM, contenant les informations sur les points de
gauss en vue de l’intégration numérique.
• .PRP : sur l’unité IPRP, contenant la partie des fonctions de Green indépendante
de la fréquence.
Les fichiers d’archivage à accés direct
Ces fichiers contiennent des résultats de calculs. Ils sont construits sous forme
de boucles sur différents paramêtres imbréquées les unes dans les autres.
Ces fichiers dont les unité fortran sont créées dans la routine DEFICH et
stockés dans le common TAPE ont les types suivants :
• champs
• impédances
• forces équivalentes
• mouvements induits
– IMVFD
– IEIGEN
Les fichiers d’impédance
Les fichiers d’impédance ont une structure relativement simple. Il sont constitués des quatres boucles imbriquée :
• Fréquences
– modes
∗ DDL généralisés
· DDL généralisés
La longueur des enregistrements étant égale à la longueur de la bouclela plus
basse*la taille d’un complexe.
Les noms, le contenu et la taille de ces fichiers sont résumés dans le tableau
suivant :
Miss 6.5: Manuel Informatique : Version : 2.1
Unité
IIMPD
contenu
Impédances
IRIGI
IMASS
IAMOR
IMEIGE
30
boucle 1
nfreq
boucle 2
nbmod
1
1
1
1
nbmod
nbmod
nbmod
nbmod
Rigidité
Masse
Amortissement
masse projetée
sur les modes
propres
boucle 3
nchsui
nchgex pour le
domaine 0
nchsui
nchsui
nchsui
nching
boucle 4
nchsui
nchgex pour le
domaine 0
nchsui
nchsui
nchsui
nching
Structure des fichiers de force et de mouvement induit
Les fichiers de force et de mouvement sismique induit ont une structure relativement simple. Ils sont constitués des quatres boucles imbriquée :
• Fréquences
– modes
∗ ncharges
· NDDL généralisés
La longueur des enregistrements étant égale à la longueur de la bouclela plus
basse*la taille d’un complexe.
Les noms, le contenu et la taille de ces fichiers sont résumés dans le tableau
suivant :
Unité
Contenu
Boucle 1 Boucle 2 Boucle 3
Boucle 4
IFS
Forces
nfreq
nbmod
nchui
nchsui
équivalentes
nchuig pour le Nchgex pour le
domaine 0
domaine 0
IFTOT
IFEIG
Force totale
nfreq
nbmod
Forces
nfreq
nbmod
équivalentes
projetées sur la
base modale
fichiers d’archivage, gestionnaire de fichier
nchui
nchuig
nchsui
nchgex
Les fichiers de champs
Les fichiers de champs ont globalement la même structure que les autres fichiers
résultats. Il contiennent toutefois cinqboucles imbriquées sur :
• fréquences
– modes
∗ chargements
· elements-noeuds-points de controle
·
ddl mécaniques
On distingue deux types de fichiers:
Miss 6.5: Manuel Informatique : Version : 2.1
31
• les fichiers de champs sur les interfaces
• les fichiers de champs aux points de contrôle
fichiers d’archivage, gestionnaire de fichier
fichiers des champs sur les interfaces Les fichiers où sont stockés les
champs sur les interfaces fonctionnent par couples, l’un en déplacement, l’autre
en contrainte :
• IUI<->ITUI
• ILM<->ITDM
• IUTOT<->ITTOT
Le fichier .D0 fait exeption à cette règle dans la mesure où il est est implicitement associé au fichier .UI (en fait .D0 devrait s’appeler .TD0 et on a udo
= - ui)
• (-IUI)<->IDO
Toutefois le contenu exact de ces fichiers ne correspond pas nécessairement à
la terminologie choisie et dépend en fait des conditions aux limites imposées. La
terminologie est bien vérifiée (déplacements dans les fichiers .U* et contraintes
dans les fichiers .T*) dans le cas de frontières en déplacement imposés. La
convention peut être trouvée facilement en prenant le contenu du fichier .LM
qui contient les champs imposés sur les interfaces (les fonctions de base du
problème global). Les fichiers .UI et .UTOT contiendront le même type de
données que celles stockées dans le fichier .LM, alors que les fichiers .TDM,
.D0, .TUI et .TTOT contiendront les variables duales de celles stockées dans les
autres fichiers.
On trouvera dans le manuel utilisateur la définition exacte du contenu des
fichiers.
fichiers des champs aux points de contrôle Les fichiers des champs sur les
points de contrôle sont similaires de ceux contenant les champs sur les interfaces.
Ce sont les suivants.
• ICUI
• ICTR
• ICTOT
• ISCTR
• ISCTOT
• ISCUI
Miss 6.5: Manuel Informatique : Version : 2.1
3.0.5
32
Evolutions souhaitables
• Ne plus fixer en dur dans DEFICHles numéros d’unités fortran, permettant
ainsi d’ouvrir autant de fichiers de chaque type que nécessaire.
– Integrer ainsi defich à openfl
– ajouter un type à openfl
• Enrichir le contenu de l’entête pour que le contenu du fichier soit une
structure de donnée auto-portante.
• Permettre la création de répertoires
• Permettre que les domaines aient des noms au lieu de numéros
• Permettre d’avoir les boucles de bas niveau de tailles différentes pour les
différents modes ou les différentes fréquences.
Chapter 4
Adressage mémoire
Le code est fondé sur une méthode d’adressage dynamique, l’ensemble des
vecteurs ou des matrices utilisés dans le code est archivé dans le common
BLANCĊe système d’adressage mémoire est géré par la bibliothèque memlib.
4.0.1
Sources et installation
Les fichiers sources
On différencie ici deux types de fichiers:
• les fichiers d’includes : blanc.h, blancm.h, admain.h
• les sous-programmes : définis dans le répertoire memlib.
Installation
L’installation de la biliothèque memlib se réalise en deux temps :
• définition de la taille du common BLANC
• création de la bibliothèque par la commande unix ”make” lisant le fichier
Makefile ou directement en installant le programme MISS.
4.0.2
Conception
Le common BLANC est de type entier définissant ainsi la variable de plus petite
taille. Le common cst.h contient les paramètres définissant la taille des mots
en fonction du mot élémentaire du common blanc.
L’adressage s’effectue ensuite en utilisant un pointeur de fin PLAST qui est
incrémenté de la longueur du tableau à réserver. La libération de la mémoire
s’effectue en réaffectant le pointeur PLAST. Ce pointeur est stocké dans le common ADMAIN.
En particulier le pointeur PLASTne doit plus être accédé directement.
33
Miss 6.5: Manuel Informatique : Version : 2.1
4.0.3
34
Utilisation
L’utilisation du gestionnaire mémoire se fait à l’aide de routines d’adressages
utilisées dans le contexte suivant :
• les fichiers cst.h et blanc.h doivent être mis en include.
• Il convient d’utiliser les tailles élémentaires de mots définies dans l’include
cst.h
Les routines d’adressage sont les suivantes :
• ALOC(pointeur,taillereclamée,codeerreur) : allocation de la taillereclamée
à partir du pointeur.
• FFREE(pointeur) : libération à partir du pointeur. Attention, cette routine
libère toute la mémoire qui suit ce pointeur et non la seule mémoire associé
à ce pointeur lors de son allocation.
• MARK(pointeur) : renvoir la position de la première adresse libre. Cette
routine est utile pour se similer des pointeurs sur des structures complexe
qui pourront être liberés en bloc.
• SIZFRM(pointeur,size) : donne la taille entre le pointeur pointeur la première
adresse libre.
• SHIFT : permet de decaller un tableau en mémoire (très délicat à utiliser),
• MEFREE : taille de la mémoire disponible.
4.0.4
Conventions d’utilisation dans MISS
La répartition de cet adressage dans le code est régit par les règles suivantes :
• Les adressages sont effectués dans des routines dédiées commençant par
les lettres ad.
• Avant une routine d’exécution s’appelant toto on appelle la routine adtoto
qui fait l’adressage.
• Les pointeurs adressés seront stockés dans un common ayant pour nom
atoto.
• Les noms des pointeurs commence toujours par P afin d’obliger leur déclaration
comme entier.
• Il y a correspondance entre le nom du pointeur et le nom de la variable.
A la variable VECT1 sera associé le pointeur PVECT1.
Le common ADMAINcontient des pointeurs supplémentaires marquant le début
de l’adressage des grand modules du programme, ainsi que la taille de la structure de données adressée à l’intérieur de ce module : exemple
• CONTR: module
• PCONTR: pointeur
Miss 6.5: Manuel Informatique : Version : 2.1
35
• NCONTR : longueur
On utilise la routine MARKpour initialiser le pointeur.
Les sous-programmes d’adressage sont les suivants :
Adressage
Routines ou
Modules
ADASDI
ASSDIF
ADCONT
CONTR
ADCTSG
CONTSG
commons
AMVFD
ACONTR
ACONTR
ADGEOM
PRPGEO
AGEOM
ADMVFD
MVFOND
AMVFD
ADPRPI
PRPINT dans PRPGR
APRPIN
ADPRUI
PRPINT dans PRPGI
APRPUI
ADRESA
ADASIF
RESALL
ARESA
ARESO
ADRESO
RESOU
ARESO
ADREUI
RESUI
AREUI
AFFTGE
FFTGEN
FOUR
AINFFT
INIFFT
FOUR
Une partie de l’adressage reste distribué dans le code et ne vérifie pas les
règles précédemment énoncées. Il s’agit en particulier de la structure de donnée
générale du problème initialisée dans le module DATA. Les tailles des différents
tableaux étant dépendant de données entrées par l’utilisateur, l’adressage se fait
au fur et à mesure de la définition de ces données. Les pointeurs associés sont
stockés dans le common ADATA. L’adressage est effectué une première fois dans
la routine INPUT. Le module LDDOM permet ensuite de relire cette structure de
donnée, l’adressage est donc refait dans LDDOM.