![]() ![]() ![]() ![]() ![]() |
![]() |
Structure du fichier SAUVER FORMAT (auteur : Thierry Charras) |
---|
|
---|
Ce petit document tente de donner la structure du fichier SAUVER FORMAT de CAST3M quand celui-ci ne contient que des objets maillages. La méthode utilisée consiste à commenter un exemple réel.
A l'intérieur du fichier résultat des commentaires en italique donnent des indications sur les lignes du fichier qui suivent. Et certaines lignes en italique commençant par * précisent le format fortran ayant servi à écrire la ligne qui est située juste après.
|
---|
Voici un fichier obtenu par "sauver format" ne contenant que des objets maillages, il est issu du jeu de données suivant :
opti dime 2 elem qua4;
pa = 0 0 ; pb = 1 0 ; liab = pa droi 3 pb;
su = liab trans 2 (0 1);
ens= liab et su;
opti sauv format 'mon.fic';
sauv format liab ens;
fin;
Début du fichier 'mon.fic'
Premier paquet dont le nombre de lignes ne varie pas. On y trouve des indications générales.
ENREGISTREMENT DE TYPE 4
NIVEAU 11 NIVEAU ERREUR 0 DIMENSION 2
DENSITE .00000E+00
ENREGISTREMENT DE TYPE 7
NOMBRE INFO CASTEM2000 8
IFOUR -1 NIFOUR 0 IFOMOD -1 IECHO 1 IIMPI 0 IOSPI 0 ISOTYP 1
NSDPGE 0
Deuxième paquet qui définit toutes les piles (une pile par type d'objet et certaines piles en plus).
Un enregistrement de type 2 prévient de l'écriture d'une nouvelle pile, celui de type 5 prévient de la fin.
* 800 FORMAT (' ENREGISTREMENT DE TYPE', I4)
ENREGISTREMENT DE TYPE 2
* 801 FORMAT(' PILE NUMERO',I4,'NBRE OBJETS NOMMES',I8,'NBRE OBJETS'
* ,I8)
PILE NUMERO 1NBRE OBJETS NOMMES 3NBRE OBJETS 6
La pile numéro 1 est celle des objets de type maillage. La ligne suivante donne le nom des objets maillages sauvés.
* 8001 FORMAT(8(1X,A8))
LIAB SU ENS
La ligne suivante donne les numéros d'ordre, dans la pile, des objets nommés cités précédemment. Dans notre cas LIAB est le premier, SU est le troisième et ENS est le second.
* 8000 FORMAT(10I8) (valable pour toutes les lignes qui suivent jusqu'à la prochaine pile)
1 3 2
Passage à la description des objets les uns après les autres.
Description du premier objet :
Le premier enregistrement de chaque objet est composé de 5 nombres représentant :
ITYPEL : type de l'élément 1=point, 2=segment à deux noeuds…
NBSOUS : nombre de sous parties dans cet objet, une sous partie par type d'éléments le composant.
NBREF : nombre de sous références. Une référence est par exemple le contour
NBNOEL : nombre de noeuds par élément
NBEL : nombre d'éléments
Si ITYPEL=0 alors NBSOUS différent de zéro. Dans ce cas on lira la liste des positions, dans la pile des objets, des sous parties le composant.
Si NBSOUS=0, NBNOEL et NBEL sont différents de zéro, on trouve, au besoin, la liste des références , les numéros des couleurs puis les connectivités.
Ici 3 éléments à 2 noeuds de segment à 2 noeuds
2 0 0 2 3
Comme NBREF=0 on passe à l 'enregistrement donnant le numéro de la couleur des éléments.
0 0 0
Tableau des connectivités. Description du premier élément puis du deuxième...
ATTENTION il ne s'agit pas de la numérotation vraie, il faut la faire passer par le filtre du dernier tableau de la pile numéro 32. Donc l'élément 1 est formé des noeuds 1 et, 3 l'élément 2 est formé de 3 et 4 et l'élément 3 est formé des noeuds 4 et 2.
1 2 2 3 3 4
Description du deuxième objet maillage
ITYPEL=0 donc maillage complexe composé de 2 sous parties
0 2 0 0 0
Ces sous-parties sont représentées par les objets maillage 1 et 3 de cette pile
1 3
Description du troisième objet de la pile
ITYPEL=8 NBSOUS=0 donc maillage de 6 élément à 4 noeuds. Il y a 4 références (ici les côtés du rectangle SU).
8 0 4 4 6
Suit la liste des objets maillages représentant les références
1 4 5 6
Suit la liste des numéros des couleurs
0 0 0 0 0 0
Suit la liste des connectivités (numéros de noeuds par élément) ne pas oublier de la passer au filtre de la dernière liste de la pile 32.
1 2 5 6 2 3 7 5 3 4
8 7 6 5 9 10 5 7 11 9
7 8 12 11
Description du quatrième objet : C'est la deuxième référence du troisième objet de la pile
2 0 0 2 2
0 0
4 8 8 12
Cinquième objet
2 0 0 2 3
0 0 0
12 11 11 9 9 10
Sixième objet
2 0 0 2 2
0 0
10 6 6 1
Fin de la pile numéro 1 et début de la pile 32 (celle des points)
ENREGISTREMENT DE TYPE 2
PILE NUMERO 32NBRE OBJETS NOMMES 2NBRE OBJETS 12
Liste des noms de points
* 8001 FORMAT(8(1X,A8))
PA PB
Suit la liste des numéros des points nommés PA = 1 PB = 4
1 4
suit le nombre de noeuds
* 8000 FORMAT(10I8)
12
Le tableau suivant donne le filtre pour avoir le vrai numéro des noeuds appartenant aux éléments décrits. Par exemple, si un élément, décrit dans la pile 1, fait référence à un numéro de noeud égal à 5 il faut le mettre égal à 12
* 8000 FORMAT(10I8)
1 3 4 2 12 10 13 11 7 6
8 9
Fin de pile 32, début de pile 33 (celle des configurations (coordonnées))
ENREGISTREMENT DE TYPE 2
PILE NUMERO 33NBRE OBJETS NOMMES 0NBRE OBJETS 1
Suit le nombre de points dont on donne les coordonnées
39
Les coordonnées sont données par noeuds. D'abord le premier puis le deuxième...
Pour chaque noeuds, on donne les 2 ou 3 coordonnées plus la densité courante au moment de sa création donc ici 3 valeurs par noeud.
* 8003 FORMAT(1P,3E22.14)
0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00
1.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00
3.33333333333333E-01 0.00000000000000E+00 3.33333333333333E-01
6.66666666666667E-01 0.00000000000000E+00 3.33333333333333E-01
0.00000000000000E+00 1.00000000000000E+00 0.00000000000000E+00
0.00000000000000E+00 1.00000000000000E+00 0.00000000000000E+00
3.33333333333333E-01 1.00000000000000E+00 3.33333333333333E-01
6.66666666666667E-01 1.00000000000000E+00 3.33333333333333E-01
1.00000000000000E+00 1.00000000000000E+00 0.00000000000000E+00
0.00000000000000E+00 5.00000000000000E-01 5.00000000000000E-01
1.00000000000000E+00 5.00000000000000E-01 5.00000000000000E-01
3.33333333333333E-01 5.00000000000000E-01 5.00000000000000E-01
6.66666666666667E-01 5.00000000000000E-01 5.00000000000000E-01
ENREGISTREMENT DE TYPE 5
LABEL AUTOMATIQUE : 1
Fin du fichier.
![]() ![]() ![]() ![]() ![]() |