Sommaire local
Le code MÉLINA ne contient pas de module de maillage.
Le maillage est fourni au code par lecture d'un fichier contenant la définition du maillage selon le format MÉLINA.
La lecture du fichier de maillage est déclenchée par la lecture de la directive
MAILLAGE ou MESH dans le module de lecture lecgeom.
Un tel fichier peut provenir d'un mailleur quelconque mais doit alors être transformé en fichier
au format MÉLINA (une interface MÉLINA-Modulef, baptisée mome
a été développée et fait partie de la distribution de MÉLINA).
Les renseignements contenus dans un fichier de maillage au format MÉLINA, que tout programme
de maillage peut fournir sous une forme ou une autre, sont exclusivement géométriques.
Ils permettent de définir la dimension d'espace, le nombre des éléments du maillage,
les types (géométriques) des éléments,
les coordonnées et la numérotation des points élément par élément,
et la définition des domaines géométriques.
Le fichier de maillage peut en outre contenir quelques renseignements supplémentaires
définissant par exemple le niveau d'impression du maillage ou les formats selon lesquels
sont lues, sur le fichier, les coordonnées des points et leur numérotation globale.
La directive MAILLAGE ou MESH s'énonce :
Syntaxe |
< MAILLAGE > |
[ IMPRESSION [DE] [NIVEAU] ||I ] |
[ LECTURE [SUR] FICHIER ||C ] |
|
|
Syntax |
< MESH > |
[ PRINT LEVEL ] ||I ] |
[ READ FROM FILE ||C ] |
|
où
||C est le nom du fichier contenant le maillage au format MÉLINA;
par défaut le fichier est celui contenant les directives
(qui est lui même, par défaut, le fichier des entrées standard).
||I est le niveau d'impression.
La commande IMPRESSION DE NIVEAU, dont la valeur par défaut 0 correspond à `aucune impression',
et que l'on retrouvera partout, est utilisée ici pour l'impression (!) sur le fichier d'impression
secondaire IMPSDR de renseignements concernant le maillage,
renseignements d'autant plus abondants que la valeur ||I suivant le mot-clé
IMPRESSION DE NIVEAU est élevée.
Exemple |
GEOMETRIE SUR LE FICHIER 'mon_directory_de_maillages/mon_maillage' |
Le fichier de maillage est constitué de 4 parties:
Description du format du fichier
Le format de lecture du fichier est fourni par la donnée des mots-clés suivants :
Syntaxe |
[ FORMAT [DE] LECTURE |
[ [DES] COORDONNEES < ||C*50 ^ '*' > ] |
[ [DE LA] NUMEROTATION [GLOBALE] < ||C*50 ^ '*' > ] |
[ < SANS ^ AVEC > COMMENTAIRE ] |
] |
qui permet de définir le format de lecture des coordonnées des points du maillage, de la numérotation des points du maillage,
et d'indiquer si le fichier contient ou non des lignes commentaires.
Les chaînes ||C*50 doivent être des champs valides au sens de l'instruction
FORMAT de Fortran77 ou bien la chaîne `*' pour une lecture en format libre.
Ces sous-directives sont optionnelles, les valeurs par défaut associées à cet ensemble
de mots-clés correspondent à la syntaxe :
Valeurs par défaut |
FORMAT DE LECTURE DES COORDONNEES '6E12.4' |
DE LA NUMEROTATION GLOBALE '18I4' |
AVEC COMMENTAIRE |
Procédures concernées, module lecgeom |
LCGMAI | Lecture du fichier de maillage proprement dit. |
LCFORM | Lecture des formats de lecture des coordonnées des points et de la numérotation globale des points. |
Description globale du maillage
Il s'agit ici d'une sous-directive obligatoire : elle permet de définir de manière implicite la dimension d'espace
par le nombre de variables d'espace ainsi que le nombre d'éléments du maillage.
Syntaxe |
DESCRIPTION GLOBALE [DU] [MAILLAGE] |
[ [NOM] [DES] VARIABLES [D''] ESPACE : + ||C ] |
NOMBRE [D''] ELEMENTS : ||I ] |
Le caractère : n'est utilisé ici que pour faire joli; il s'agit d'un caractère séparateur
de données qui peut être remplacé par un blanc :>) |
Exemple 3D, variables cartésiennes |
DESCRIPTION GLOBALE DU MAILLAGE |
NOMS DES VARIABLES D''ESPACE : 'X' 'Y' 'Z' |
NOMBRE D''ELEMENTS : 100 |
Exemple 3D, variables polaires |
DESCRIPTION GLOBALE DU MAILLAGE |
NOMS DES VARIABLES D''ESPACE : 'RHO' 'THETA' |
NOMBRE D''ELEMENTS : 857 |
Procédure concernée, module lecgeom
LCDESG |
Lecture de la description globale du maillage : noms des variables d'espace
(définition de la dimension d'espace NDIM de COMMON/GLOBAL/
et création du tableau #ARIAB), nombre d'éléments
(variable NBTEL de COMMON/GLOBAL/). |
Structures de données mises à jour
#ARIAB | tableau des noms des variables d'espace. |
NDIM | dimension d'espace, variable du COMMON/GLOBAL/. |
NBTEL | nombre d'éléments du maillage, variable du COMMON/GLOBAL/. |
Description élémentaire du maillage
L'ensemble des éléments du maillage est partitionné en blocs
d'éléments consécutifs de même type géométrique.
La sous-directive BLOC permet de définir cette partition sous la forme :
Syntaxe |
+ BLOC [DE] |
< < HEXAEDRES ^ PRISMES ^ TETRADEDRES ^ QUADRANGLES ^ TRIANGLES ^ SEGMENTS > |
DE LAGRANGE [ AUX POINTS DE GAUSS-LOBATTO ] |
< < P1 ^ Q1 ^ P2 ^ Q2 ^ P3 ^ Q3 ^ Q4 ... Q9 ^ Q10 > |
^ < D'ORDRE ^ DE DEGRE > ||I |
> |
^ [TYPE] [GEOMETRIQUE] ||A |
> : ||IE ELEMENTS |
où
||A est un mot-clé définissant le type des éléments du bloc
||IE leur nombre.
Par exemple le mot-clé
TE01 représente les tétraèdres de Lagrange de type 1 (à 4 noeuds),
TR01 les triangles de Lagrange de type 1 (à 3 noeuds),
HE02 les hexaèdres de Lagrange de type 2 (à 27 noeuds), etc.
La liste complète des éléments reconnus dans MÉLINA
se trouve dans la documentation de la librairie ef3d.
 |
Le mot-clé ELEMENTS est obligatoire,
il indique la fin d'un bloc et le dernier mot-clé ELEMENTS
du groupe de mots-clés BLOC
provoque la lecture des données définissant les éléments (cf. ci-dessous),
il ne doit être suivi d'aucun commentaire dans le fichier. |
Par exemple, en dimension 2, pour un maillage constitué de 10 triangles numérotés de 1 à 10,
5 quadrangles numérotés de 11 à 15 et 15 triangles numérotés de 16 à 30, de type Lagrange d'ordre 2
Exemple |
BLOC DE | TRIANGLES DE LAGRANGE P2 : 10 ELEMENTS |
| QUADRANGLES DE LAGRANGE Q2 : 5 ELEMENTS |
| TRIANGLES DE LAGRANGE P2 : 15 ELEMENTS |
ou encore, de manière équivalente
BLOC DE TYPE GEOMETRIQUE | TR02 : 10 ELEMENTS |
| QU02 : 5 ELEMENTS |
| TR02 : 15 ELEMENTS |
Cette description est suivi du corps du fichier de maillage qui définit la liste des éléments du maillage.
Ce corps est constitué des coordonnées des points et de leur numérotation globale.
Étant donné le volume que ces informations peuvent représenter,
ces données sont lues directement à l'aide de l'ordre de lecture sur fichier séquentiel
formatté READ (et donc pas comme des directives interprétées).
Les coordonnées et les numéros globaux des points sont lus
élément par élément selon le format par défaut ou celui défini
par la directive FORMAT.
La liste des coordonnées des points d'un élément peut être précédée d'une ligne de commentaire,
ainsi que la liste de leurs numéros globaux,
voir la sous-directive SANS ^ AVEC COMMENTAIRE
du mot-clé FORMAT de la directive GEOMETRIE,
et les exemples complets de fichiers de maillage 2D et 3D plus loin.
  |
Ce corps n'étant pas lu par directive, aucune ligne commentaire autre que celles prévues par le mot-clé
COMMENTAIRE ne doit y apparaître. |
Procédures concernées, module lecgeom
LCDESL |
Lecture de la description des blocs d'éléments du maillage (cf. mot-clé BLOC)
et création de la structure #LOKEL ou de son ersatz du COMMON/GLOBAL/
(variables NBBBLK et NU1BLK). |
RDELEM |
Lecture des données définissant un élément. |
RDCOOR |
Lecture des coordonnées des points d'un élément
selon le format de lecture par défaut ou le format déclaré
par directive, calcul de l'orientation de l'élément et construction de la structure
#ORPTL, tableau de niveau 0, contenant les coordonnées des
points du maillage distribuée élément par élément. |
RDNUGL |
Lecture de la numérotation globale des points d'un élément et construction de la structure #GNEEL
contenant la numérotation globale des points du maillage, distribuées élément par élément.
Le niveau (NIVENG) du tableau contenant la structure est le numéro de type de
l'interpolation géométrique :
- 1 pour les éléments de Lagrange de type 1,
- 2 pour les éléments de Lagrange de type 2,
- etc.
|
Structures de données mises à jour
#LOKEL | Structure décrivant les types des éléments. |
#ORPTL | Tableau des coordonnées des points des éléments. |
#GNEEL | Tableau des numéros des points des éléments. |
Définition des domaines géométriques
Le maillage complet étant défini par la liste des éléments ci-dessus,
la dernière partie du fichier de maillage contient les listes des
constituants des différents domaines géométriques, sur lesquels
seront définis les calculs, par exemple des termes (intégrales)
de la formulation variationnelle.
La définition de chaque domaine débute par le mot-clé DOMAINE:
où ||C est la chaîne de caractères représentant le nom du domaine.
La liste des constituants du domaine est défini de la manière suivante:
-- pour un domaine volumique en dimension 3 ou surfacique en dimension 2:
Syntaxe |
+ E[LEMENT] ||I [ / ||J ] |
-- pour un domaine de dimension inférieure à la dimension
d'espace (domaines de bord par exemple):
Syntaxe |
+ E[LEMENT] ||I1 |
< F[ACE] ||I2 ^ A[RETE] ||I2 ^ P[OINT] ||I2 > |
En dimension 2, les mots-clés FACE ou F et ARETE ou A sont équivalents et caractérisent un domaine linéique.
Exemple 1 : Domaine volumique en 3D ou surfacique en 2D |
DOMAINE 'OMEGA' |
ELEMENTS 1 3 5 7 8 9 |
|
DOMAINE 'OMEGA' |
ELEMENTS 1 3 5 7 ELEMENTS 8 9 |
|
ou encore, de manière équivalente |
DOMAINE 'OMEGA' |
E 1 E 3 E 5 E 7 E 8 E 9 |
|
DOMAINE 'OMEGA' |
E 1 3 5 7 ELEMENT 8 9 |
|
Exemple 2: Domaine surfacique en 3D |
DOMAINE 'GAMMA' |
ELEMENT 1 FACE 3 ELEMENT 2 FACE 2 ELEMENT 7 FACE 2 |
|
DOMAINE 'GAMMA' |
E 1 F 3 E 2 F 2 E 7 F 2 |
|
Procédure concernée, module lecgeom
LCNOMD |
Lecture des noms des domaines géométriques (construction du tableau des noms de domaine #OMDOM). |
LCDOMA |
Lecture des constituants d'un domaine géométrique (construction d'une structure #ISTEL, dont le niveau est le numéro
du domaine géométrique, i.e. le rang de son nom dans le tableau des noms de domaine #OMDOM). |
LCELDO |
Cas d'un constituant volumique, i.e. d'un élément dont la dimension est égale à la dimension d'espace. |
LCFADO |
Cas d'un constituant de dimension inférieure àla dimension d'espace,
c'est-à-dire un domaine de bord : face, arête ou point. |
Structures de données mises à jour
#OMDOM | Noms des domaines géométriques. |
#ISTEL | Structures décrivant les domaines géométriques. |
#TERDO | Structure décrivant les calculs sur les domaines. |
Fin du fichier de maillage
Le fichier contenant les données du maillage se termine obligatoirement par le mot-clé:
qui provoque un retour à la lecture sur le fichier de données des directives.
Nous donnons ci-dessous le fichier complet d'un maillage P1 de la région bidimensionnelle, constituée de deux couronnes
circulaires concentriques adjacentes Ω1 et Ω2
(figure 1).
La frontière commune aux deux domaines sera notée Γ1
ou Γ1 selon qu'elle est considérée comme frontière de
Ω1 ou de Ω2.
Ces deux définitions, qui recouvrent toutes deux
la ligne brisée dont les sommets sont les points 5,6,7,8,9
de la figure 2, se retrouvent dans le
fichier de maillage, les domaines `Gamma1' et `Gamma2'
étant définis par l'union de faces
d'éléments différents.
Fig. 1 -- La géométrie
Fig. 2 -- Le maillage et les domaines géométriques
Le fichier de maillage au format `MÉLINA' correspondant
TITRE 2
Quart de couronne circulaire maille en 2 couronnes concentriques
contenant respectivement 7 triangles et 4 quadrangles
*
FORMAT DE LECTURE DES COORDONNEES '8F7.4'
DE LA NUMEROTATION GLOBALE '4I3'
SANS COMMENTAIRE
*
DESCRIPTION GLOBALE DU MAILLAGE
VARIABLES D''ESPACE 'X' 'Y'
NOMBRE D''ELEMENTS 11
*
*** Definition des elements du maillage
*
BLOC DE TRIANGLES DE LAGRANGE P1 : 7 ELEMENTS
BLOC DE QUADRANGLES DE LAGRANGE Q1 : 4 ELEMENTS
1.5000 0.0000 1.3858 0.5740 1.0000 0.0000
5 6 1
0.8660 0.5000 1.0000 0.0000 1.3858 0.5740
2 1 6
1.3858 0.5740 1.0607 1.0607 0.8660 0.5000
6 7 2
0.5000 0.8660 0.8660 0.5000 1.0607 1.0607
3 2 7
1.0607 1.0607 0.5740 1.3858 0.0000 1.0000
7 8 4
0.0000 1.0000 0.5000 0.8660 0.5740 1.3858
4 3 8
0.5740 1.3858 0.0000 1.5000 0.0000 1.0000
8 9 4
1.3858 0.5740 1.5000 0.0000 2.2500 0.0000 2.0787 0.8610
6 5 10 11
1.0607 1.0607 1.3858 0.5740 2.0787 0.8610 1.5910 1.5910
7 6 11 12
0.5740 1.3858 1.0607 1.0607 1.5910 1.5910 0.8610 2.0787
8 7 12 13
0.0000 1.5000 0.5740 1.3858 0.8610 2.0787 0.0000 2.2500
9 8 13 14
*
*** Definition des domaines geometriques
*
DOMAINE 'Omega1' (Elements triangulaires)
ELEMENTS 1 / 7
*
DOMAINE 'Omega2' (Elements quadrangulaires)
ELEMENTS 8 / 11
*
DOMAINE 'C' (Cercle interieur)
ELEMENT 2 ARETE 1 ELEMENT 4 ARETE 1 ELEMENT 6 ARETE 1
*
DOMAINE 'Sigma' (Cercle exterieur)
ELEMENT 8 ARETE 3 E 9 A 3 E 10 A 3 E 11 A 3
*
DOMAINE 'X' (Axe Ox)
E 1 A 3 E 8 A 2
*
DOMAINE 'Y' (Axe Oy)
E 7 A 2 E 11 A 4
*
DOMAINE 'Gamma1' (Frontiere intermediaire vue de Omega1)
E 1 A 1 E 3 A 1 E 5 A 1 E 7 A 1
*
DOMAINE 'Gamma2' (Frontiere intermediaire vue de Omega2)
E 8 A 1 E 9 A 1 E 10 A 1 E 11 A 1
FIN (du fichier de maillage)
Il correspond au maillage d'un quart de coque sphérique
{ 1 < x 2+y 2+z 2 <1.75 ; y > 0 ; z < 0 }
à l'aide de 8 éléments prismatiques
d'ordre 2, chaque huitième de sphère étant maillé à
l'aide de 4 triangles `sphériques' P2 `presqu'égaux'.
TITRE 1
Quart de Coque Spherique : 8 Elements Prismatiques d'ordre 2, 75 points
*
* IMPRESSION DE NIVEAU 1
FORMAT DE LECTURE DES COORDONNEES '6E12.5'
DE LA NUMEROTATION GLOBALE '18I4'
AVEC COMMENTAIRE
*
DESCRIPTION GLOBALE DU MAILLAGE
VARIABLES D'' ESPACE 'X' 'Y' 'Z'
NOMBRE D'' ELEMENTS 8
*
*** Definition des elements du maillage
*
BLOC DE PRISMES DE LAGRANGE P2 : 8 ELEMENTS
Element 1 : Coordonnees des points (Ligne commentaire ignoree)
.10000+001 .00000+000 .00000+000 .70711+000 .00000+000 -.70711+000
.70711+000 .70711+000 .00000+000 .17500+001 .00000+000 .00000+000
.12374+001 .00000+000 -.12374+001 .12374+001 .12374+001 .00000+000
.92388+000 .00000+000 -.38268+000 .70711+000 .50000+000 -.50000+000
.92388+000 .38268+000 .00000+000 .16168+001 .00000+000 -.66970+000
.12374+001 .87500+000 -.87500+000 .16168+001 .66970+000 .00000+000
.13750+001 .00000+000 .00000+000 .97227+000 .00000+000 -.97227+000
.97227+000 .97227+000 .00000+000 .12220+001 .00000+000 -.50616+000
.97227+000 .58682+000 -.58682+000 .12220+001 .50616+000 .00000+000
Element 1 : Numerotation globale des points (Ligne ignoree)
1 4 6 51 54 56 2 5 3 52 55 53 26 29 31 27 30 28
Element 2 : Coordonnees des points (Ligne ignoree)
.70711+000 .00000+000 -.70711+000 .00000+000 .00000+000 -.10000+001
.00000+000 .70711+000 -.70711+000 .12374+001 .00000+000 -.12374+001
.00000+000 .00000+000 -.17500+001 .00000+000 .12374+001 -.12374+001
.38268+000 .00000+000 -.92388+000 .00000+000 .38268+000 -.92388+000
.38268+000 .46194+000 -.80010+000 .66970+000 .00000+000 -.16168+001
.00000+000 .66970+000 -.16168+001 .66970+000 .80839+000 -.14002+001
.97227+000 .00000+000 -.97227+000 .00000+000 .00000+000 -.13750+001
.00000+000 .97227+000 -.97227+000 .50616+000 .00000+000 -.12220+001
.00000+000 .50616+000 -.12220+001 .50616+000 .56065+000 -.10362+001
Element 2 : Numerotation globale des points (Ligne ignoree)
4 11 13 54 61 63 7 12 8 57 62 58 29 36 38 32 37 33
Element 3 : Coordonnees des points (Ligne ignoree)
.00000+000 .70711+000 -.70711+000 .70711+000 .70711+000 .00000+000
.70711+000 .00000+000 -.70711+000 .00000+000 .12374+001 -.12374+001
.12374+001 .12374+001 .00000+000 .12374+001 .00000+000 -.12374+001
.38268+000 .80010+000 -.46194+000 .70711+000 .50000+000 -.50000+000
.38268+000 .46194+000 -.80010+000 .66970+000 .14002+001 -.80839+000
.12374+001 .87500+000 -.87500+000 .66970+000 .80839+000 -.14002+001
.00000+000 .97227+000 -.97227+000 .97227+000 .97227+000 .00000+000
.97227+000 .00000+000 -.97227+000 .50616+000 .10362+001 -.56065+000
.97227+000 .58682+000 -.58682+000 .50616+000 .56065+000 -.10362+001
Element 3 : Numerotation globale des points (Ligne ignoree)
13 6 4 63 56 54 9 5 8 59 55 58 38 31 29 34 30 33
Element 4 : Coordonnees des points (Ligne ignoree)
.70711+000 .70711+000 .00000+000 .00000+000 .70711+000 -.70711+000
.00000+000 .10000+001 .00000+000 .12374+001 .12374+001 .00000+000
.00000+000 .12374+001 -.12374+001 .00000+000 .17500+001 .00000+000
.38268+000 .80010+000 -.46194+000 .00000+000 .92388+000 -.38268+000
.38268+000 .92388+000 .00000+000 .66970+000 .14002+001 -.80839+000
.00000+000 .16168+001 -.66970+000 .66970+000 .16168+001 .00000+000
.97227+000 .97227+000 .00000+000 .00000+000 .97227+000 -.97227+000
.00000+000 .13750+001 .00000+000 .50616+000 .10362+001 -.56065+000
.00000+000 .12220+001 -.50616+000 .50616+000 .12220+001 .00000+000
Element 4 : Numerotation globale des points (Ligne ignoree)
6 13 15 56 63 65 9 14 10 59 64 60 31 38 40 34 39 35
Element 5 : Coordonnees des points (Ligne ignoree)
-.70711+000 .00000+000 -.70711+000 .00000+000 .70711+000 -.70711+000
.00000+000 .00000+000 -.10000+001 -.12374+001 .00000+000 -.12374+001
.00000+000 .12374+001 -.12374+001 .00000+000 .00000+000 -.17500+001
-.38268+000 .46194+000 -.80010+000 .00000+000 .38268+000 -.92388+000
-.38268+000 .00000+000 -.92388+000 -.66970+000 .80839+000 -.14002+001
.00000+000 .66970+000 -.16168+001 -.66970+000 .00000+000 -.16168+001
-.97227+000 .00000+000 -.97227+000 .00000+000 .97227+000 -.97227+000
.00000+000 .00000+000 -.13750+001 -.50616+000 .56065+000 -.10362+001
.00000+000 .50616+000 -.12220+001 -.50616+000 .00000+000 -.12220+001
Element 5 : Numerotation globale des points (Ligne ignoree)
20 13 11 70 63 61 17 12 16 67 62 66 45 38 36 42 37 41
Element 6 : Coordonnees des points (Ligne ignoree)
.00000+000 .70711+000 -.70711+000 -.70711+000 .00000+000 -.70711+000
-.70711+000 .70711+000 .00000+000 .00000+000 .12374+001 -.12374+001
-.12374+001 .00000+000 -.12374+001 -.12374+001 .12374+001 .00000+000
-.38268+000 .46194+000 -.80010+000 -.70711+000 .50000+000 -.50000+000
-.38268+000 .80010+000 -.46194+000 -.66970+000 .80839+000 -.14002+001
-.12374+001 .87500+000 -.87500+000 -.66970+000 .14002+001 -.80839+000
.00000+000 .97227+000 -.97227+000 -.97227+000 .00000+000 -.97227+000
-.97227+000 .97227+000 .00000+000 -.50616+000 .56065+000 -.10362+001
-.97227+000 .58682+000 -.58682+000 -.50616+000 .10362+001 -.56065+000
Element 6 : Numerotation globale des points (Ligne ignoree)
13 20 22 63 70 72 17 21 18 67 71 68 38 45 47 42 46 43
Element 7 : Coordonnees des points (Ligne ignoree)
-.70711+000 .70711+000 .00000+000 .00000+000 .10000+001 .00000+000
.00000+000 .70711+000 -.70711+000 -.12374+001 .12374+001 .00000+000
.00000+000 .17500+001 .00000+000 .00000+000 .12374+001 -.12374+001
-.38268+000 .92388+000 .00000+000 .00000+000 .92388+000 -.38268+000
-.38268+000 .80010+000 -.46194+000 -.66970+000 .16168+001 .00000+000
.00000+000 .16168+001 -.66970+000 -.66970+000 .14002+001 -.80839+000
-.97227+000 .97227+000 .00000+000 .00000+000 .13750+001 .00000+000
.00000+000 .97227+000 -.97227+000 -.50616+000 .12220+001 .00000+000
.00000+000 .12220+001 -.50616+000 -.50616+000 .10362+001 -.56065+000
Element 7 : Numerotation globale des points (Ligne ignoree)
22 15 13 72 65 63 19 14 18 69 64 68 47 40 38 44 39 43
Element 8 : Coordonnees des points (Ligne ignoree)
-.10000+001 .00000+000 .00000+000 -.70711+000 .70711+000 .00000+000
-.70711+000 .00000+000 -.70711+000 -.17500+001 .00000+000 .00000+000
-.12374+001 .12374+001 .00000+000 -.12374+001 .00000+000 -.12374+001
-.92388+000 .38268+000 .00000+000 -.70711+000 .50000+000 -.50000+000
-.92388+000 .00000+000 -.38268+000 -.16168+001 .66970+000 .00000+000
-.12374+001 .87500+000 -.87500+000 -.16168+001 .00000+000 -.66970+000
-.13750+001 .00000+000 .00000+000 -.97227+000 .97227+000 .00000+000
-.97227+000 .00000+000 -.97227+000 -.12220+001 .50616+000 .00000+000
-.97227+000 .58682+000 -.58682+000 -.12220+001 .00000+000 -.50616+000
Element 9 : Numerotation globale des points (Ligne ignoree)
25 22 20 75 72 70 24 21 23 74 71 73 50 47 45 49 46 48
*
*** Definition des domaines geometriques
*
DOMAINE 'OMEGA'
E 1 / 8
*
DOMAINE 'GAMMA'
E 1 F 1 E 2 F 1 E 3 F 1 E 4 F 1 E 5 F 1 E 6 F 1 E 7 F 1 E 8 F 1
*
DOMAINE 'SIGMA'
E 1 F 5 E 2 F 5 E 3 F 5 E 4 F 5 E 5 F 5 E 6 F 5 E 7 F 5 E 8 F 5
*
DOMAINE 'XOY'
E 1 F 4 E 4 F 4 E 7 F 2 E 8 F 2
*
DOMAINE 'XOZ'
E 1 F 2 E 2 F 2 E 5 F 4 E 8 F 4
FIN
Noter que l'on utilise dans ce deuxième exemple, la version 'AVEC COMMENTAIRE'
de lecture des données des éléments; les lignes du type:
Element x : Coordonnees des points
Element y : Numerotation globale des points
ne sont donc que des lignes de commentaires et sont ignorées
lors de la lecture du fichier : elles sont lues à l'aide d'un
READ(UNIT,*) sans liste de variables.
Une interface entre les structures de données de maillage
issues de Modulef et un fichier de maillage au format MÉLINA a été développée.
Elle permet d'utiliser les pre- et post-processeurs graphiques de Modulef.
Il est ainsi possible de transformer une structure NOPO ou des structures MAIL
et COOR en un fichier de maillage au format MÉLINA.
Il est aussi possible de transformer un fichier de maillage MÉLINA en structure NOPO.
De même un fichier de résultats issu d'une exécution de MÉLINA
à l'aide des procédures OPTERM, ECTERM, FETERM
de la librairie sdexplo
peut être transformé en une structure de donnée B de Modulef.
Ces transformations sont réalisées à l'aide du programme
mome qui utilise les librairies
nopo, utsd,
utii, util_xxx de Modulef
et les librairies
initial, lecgeom,
sdexplo, alodyn,
redlib, ef3d,
utiliter
de MÉLINA et fait cohabiter les super-tableaux
et les procédures de gestion dynamique de la mémoire des deux codes.