Code_Aster ®
Version
8.2
Titre :
Procédure IMPR_MATRICE
Date :
31/01/06
Auteur(s) :
J. PELLET Clé
:
U7.04.32-F1 Page :
1/10
Organisme(s) : EDF-R&D/AMA
Manuel d'Utilisation
Fascicule U7.0- : Echanges de données
Document : U7.04.32
Procédure IMPR_MATRICE
1 But
Imprimer sur un fichier au format IDEAS ou RESULTAT des matrices élémentaires et assemblées.
Les impressions au format RESULTAT sont surtout utiles aux développeurs du code à des fins de
"débuggage".
Manuel d'Utilisation
Fascicule U7.0- : Echanges de données
HT-62/06/004/A
Code_Aster ®
Version
8.2
Titre :
Procédure IMPR_MATRICE
Date :
31/01/06
Auteur(s) :
J. PELLET Clé
:
U7.04.32-F1 Page :
2/10
2 Syntaxe
IMPR_MATRICE
(
|
MATR_ELEM =_F(
#
impressions sous forme d'un fichier universel IDEAS.
/
FORMAT
=
'IDEAS'
,
[DEFAUT]
MATRICE = mel
,
[matr_elem_DEPL_R]
UNITE
=
/
30,
[DEFAUT]
/
iunit,
[I]
VERSION =
5,
[DEFAUT]
# impressions dans un listing (débuggage) :
/
FORMAT
=
'RESULTAT' ,
MATRICE = mel
,
/
[matr_elem_*]
/
[vect_elem_*]
UNITE
=
/
8, [DEFAUT]
/
iunit,
[I]
#
choix
des
mailles
:
/ TOUT = 'OUI' ,
/ |
NOEUD =
l_no,
[l_noeud]
| GROUP_NO
= l_gno,
[l_group_no]
|
MAILLE =
l_ma,
[l_maille]
| GROUP_MA
= l_gma,
[l_group_ma]
NOM_CMP
=
l_cmp,
[l_Kn]
GRAIN
= /
'VALEUR' ,
[DEFAUT]
/
'NOEUD'
,
/
'MAILLE' ,
NB_CHIFFRE = / 4 ,
[DEFAUT]
/
nchif,
[I]
/
999
,
#
précision
max.
)
Manuel d'Utilisation
Fascicule U7.0- : Echanges de données
HT-62/06/004/A
Code_Aster ®
Version
8.2
Titre :
Procédure IMPR_MATRICE
Date :
31/01/06
Auteur(s) :
J. PELLET Clé
:
U7.04.32-F1 Page :
3/10
|
MATR_ASSE =_F(
# impressions sous forme d'un fichier universel IDEAS.
/
FORMAT
=
'IDEAS'
,
[DEFAUT]
MATRICE = mat
,
[matr_asse_DEPL_R]
UNITE
=
/
30,
[DEFAUT]
/
iunit,
[I]
VERSION =
5,
[DEFAUT]
# impressions dans un listing (débuggage) :
/
FORMAT
=
'RESULTAT'
,
MATRICE = mel
,
[matr_asse_*]
UNITE
=
/
8, [DEFAUT]
/
iunit,
[I]
#
choix
des
noeuds
:
/ TOUT = 'OUI' ,
/ |
NOEUD =
l_no,
[l_noeud]
| GROUP_NO
= l_gno,
[l_group_no]
|
MAILLE =
l_ma,
[l_maille]
| GROUP_MA
= l_gma,
[l_group_ma]
OPTION= /
'SOUS_MATRICE'
, [DEFAUT]
/
'LIGNE'
,
/
'COLONNE'
,
NOM_CMP=
l_cmp,
[l_Kn]
GRAIN =
/ 'VALEUR' ,
[DEFAUT]
/
'NOEUD'
,
NB_CHIFFRE = / 4 ,
[DEFAUT]
/
nchif,
[I]
/
999
,
#
précision
max.
VALE_ZERO
=
/
0.
,
[DEFAUT]
/
eps,
[R]
)
)
Manuel d'Utilisation
Fascicule U7.0- : Echanges de données
HT-62/06/004/A
Code_Aster ®
Version
8.2
Titre :
Procédure IMPR_MATRICE
Date :
31/01/06
Auteur(s) :
J. PELLET Clé
:
U7.04.32-F1 Page :
4/10
3 Opérandes
3.1
Impressions sous forme d'un fichier universel IDEAS
3.1.1 Mot clé facteur MATR_ELEM
Permet de spécifier le(s) concept(s) de type matr_elem à imprimer ainsi que le format d'impression.
3.1.1.1 Opérande
FICHIER
FICHIER =
nom_fich
[Kn]
Nom du fichier dans lequel on souhaite voir imprimer les données à transférer. Ce nom de
fichier doit avoir été préalablement défini par les procédures DEBUT [U4.11.01], POURSUITE
[U4.11.03] ou DEFI_FICHIER [U4.12.03].
3.1.1.2 Opérande
FORMAT
Format sous lequel on souhaite imprimer les données.
3.1.1.3 Opérande
VERSION
VERSION =
5
[DEFAUT]
Numéro de la version d'IDEAS correspondant aux format du fichier utilisé pour imprimer les
données. Seule la version 5 (valeur par défaut) est supportée pour le moment.
3.1.1.4 Opérande
MATRICE
MATRICE = mel
Nom des matrices élementaires (type matr_elem_DEPL_R) qu'on désire imprimer sur un
fichier.
3.1.2 Mot clé facteur MATR_ASSE
Permet de spécifier le(s) concept(s) de type matr_asse à imprimer ainsi que le format d'impression.
3.1.2.1 Opérande
FICHIER
FICHIER =
nom_fich
[Kn]
Nom du fichier dans lequel on souhaite voir imprimer les données à transférer. Ce nom de
fichier doit avoir été préalablement défini par les procédures DEBUT, POURSUITE ou
DEFI_FICHIER.
3.1.2.2 Opérande
FORMAT
FORMAT
=
'IDEAS' [DEFAUT]
Format sous lequel on souhaite imprimer les données. Seul le format par défaut 'IDEAS' est
supporté pour le moment.
3.1.2.3 Opérande
VERSION
VERSION =
5
[DEFAUT]
Numéro de la version d'IDEAS correspondant aux format du fichier utilisé pour imprimer les
données. Seule la version 5 (valeur par défaut) est supportée pour le moment.
Manuel d'Utilisation
Fascicule U7.0- : Echanges de données
HT-62/06/004/A
Code_Aster ®
Version
8.2
Titre :
Procédure IMPR_MATRICE
Date :
31/01/06
Auteur(s) :
J. PELLET Clé
:
U7.04.32-F1 Page :
5/10
3.1.2.4 Opérande
MATRICE
MATRICE = mel
Nom de la matrice assemblée (type matr_asse_DEPL_R) qu'on désire imprimer sur un
fichier.
3.2
Impressions sur listing
3.2.1 Opérande
FORMAT = 'RESULTAT'
C'est le choix du format RESULTAT qui permet d'imprimer en "clair" (sur listing) le contenu des
matrices (ou vecteurs élémentaires).
3.2.2 Que peut-on imprimer ?
A priori tous les concepts de type MATR_ASSE_* sauf les MATR_ASSE_GENE ou MATR_ELEM_* ou
VECT_ELEM_*
Pour les MATR_ASSE_*, on utilisera le mot clé facteur MATR_ASSE,
pour les MATR_ELEM_* (ou VECT_ELEM_*), on utilisera le mot clé facteur MATR_ELEM.
3.2.3 Opérande
FICHIER
FICHIER =
nom_fich
[Kn]
Nom du fichier dans lequel on souhaite voir imprimer les données traitées. Par défaut, il s'agit
du fichier 'RESULTAT'.
3.2.4 Opérande
MATRICE
MATRICE = mat
Nom de la matrice assemblée ou élémentaire qu'on désire imprimer sur un fichier.
Remarque :
On ne peut pas imprimer les matr_asse_gene mais ce sont des objets simples
(matrices pleines) pour lesquels la commande IMPR_CO est suffisante.
3.2.5 Sélectionner les mailles ou les noeuds que l'on veut imprimer
3.2.5.1 Cas
des RESUELEM (matrice ou vecteur)
Choix des éléments que l'on veut imprimer :
a)
/ liste de mailles : lma
les seules mailles de lma
b) /
TOUT='OUI'
toutes les mailles
c)
/ liste de noeuds : lno
toutes les mailles s'appuyant sur au moins
un noeud de la liste de noeuds lno
Remarque :
La possibilité c) permet d'imprimer les matrices (ou les vecteurs) élémentaires de "Lagrange" qui
contraignent un noeud physique dont on connait le nom.
Manuel d'Utilisation
Fascicule U7.0- : Echanges de données
HT-62/06/004/A
Code_Aster ®
Version
8.2
Titre :
Procédure IMPR_MATRICE
Date :
31/01/06
Auteur(s) :
J. PELLET Clé
:
U7.04.32-F1 Page :
6/10
3.2.5.2 Cas
des MATR_ASSE
Choix des noeuds que l'on veut imprimer :
a)
/ liste de mailles : lma
les noeuds des mailles de lma
b) /
TOUT='OUI'
tous les noeuds "physiques"portant des ddls
c)
/ liste de noeuds : lno
les seuls noeuds de lno.
3.2.5.3 Mot
clé
OPTION
Par défaut (OPTION = 'MATRICE'), on n'imprime que les termes de la MATR_ASSE définis par la
"sous" matrice correspondant au choix des noeuds que l'on vient de faire. Si l'utilisateur demande
(OPTION = 'LIGNE'), on imprimera tout le contenu des lignes correspondant aux noeuds choisis,
(de même pour OPTION = 'COLONNE').
3.2.6 Sélectionner
les
CMPS à imprimer
NOM_CMP = l_kn liste des composantes que l'on veut imprimer (par défaut : toutes).
3.2.7 Format
d'impression
3.2.7.1 Généralités
Les matrices, même si elles sont symétriques, seront imprimées entièrement : ce sont des "rectangles"
pleins.
NB_CHIFFRE = nchif
nchif est le nombre de décimales à écrire pour chacun des nombres flottants.
VALE_ZERO = eps
On n'imprimera que les valeurs dont la valeur absolue est supérieure à eps. Ce mot clé n'est
valable que pour les MATR_ASSE, pour limiter les impressions.
3.2.7.2 Cas
des
RESUELEM (matr_elem ou vect_elem)
GRAIN = 'VALEUR'
on imprime une valeur par ligne de listing.
Exemple : RESUELEM (matrice) = mel MAILLE = ('M1','M2'), NOM_CMP= 'TEMP'
M1/NO1/'TEMP'
M1/NO1/'TEMP'
12.
M1/NO1/'TEMP'
M1/NO4/'TEMP'
12.
M1/NO1/'TEMP'
M1/NO7/'TEMP'
12.
M1/NO4/'TEMP'
M1/NO4/'TEMP'
12.
M1/NO4/'TEMP'
M1/NO7/'TEMP'
12.
...
M2/NO4/'TEMP'
M2/NO4/'TEMP'
7.
...
Manuel d'Utilisation
Fascicule U7.0- : Echanges de données
HT-62/06/004/A
Code_Aster ®
Version
8.2
Titre :
Procédure IMPR_MATRICE
Date :
31/01/06
Auteur(s) :
J. PELLET Clé
:
U7.04.32-F1 Page :
7/10
Exemple : RESUELEM (vecteur) = mel, MAILLE = 'M1', NOM_CMP= 'TEMP'
M1/NO1/'TEMP'
12.
M1/NO4/'TEMP'
12.
M1/NO7/'TEMP'
12.
GRAIN = 'NOEUD'
Dans ce cas, le "grain" d'impression est le noeud.
Exemple : RESUELEM (matrice) = mel, MAILLE = 'M1', NOM_CMP= ('DX','DZ')
M1/NO1 X NO1
DX
DZ
DX 12.
13.
DX 13.
15.
M1/NO1 X NO4
DX
DZ
DX 12.
13.
DX 13.
15.
...
GRAIN = 'MAILLE'
Dans ce cas, le "grain" d'impression est la maille.
Exemple : RESUELEM = mel, MAILLE = 'M1' , NOM_CMP= ( 'DX', 'DZ')
M1
N1/DX N1/DZ N3/DX N3/DZ ...
N1/DX 12. 13. 14. 15. ...
N1/DZ 13. 13. 14. 15. ...
N3/DX 14. 14. 14. 15. ...
...
3.2.7.3 MATR_ASSE
Pour une MATR_ASSE, on n'imprimera que les "grains" pour lesquels au moins une valeur est non nulle
(voir mot clé VALE_ZERO au paragraphe 3.2.7.1).
GRAIN = 'VALEUR'
on imprime une valeur par ligne de listing.
Exemple : MATR_ASSE=matass, NOEUD=('NO1','NO3','NO7'),NOM_CMP=('DX','DZ'),
OPTION
=
'SOUS_MATRICE'
NO1/'DX'
NO1/'DX'
12.
NO1/'DX'
NO1/'DZ'
12.
NO1/'DX'
NO3/'DX'
12.
NO1/'DX'
NO3/'DZ'
12.
NO1/'DX'
NO7/'DX'
12.
NO1/'DX'
NO7/'DZ'
12.
NO3/'DX'
NO3/'DX'
12.
NO3/'DX'
NO3/'DZ'
12.
...
NO7/'DZ'
NO7/'DZ'
12.
Manuel d'Utilisation
Fascicule U7.0- : Echanges de données
HT-62/06/004/A
Code_Aster ®
Version
8.2
Titre :
Procédure IMPR_MATRICE
Date :
31/01/06
Auteur(s) :
J. PELLET Clé
:
U7.04.32-F1 Page :
8/10
Exemple : MATR_ASSE = matass , NOEUD = ('NO1'), NOM_CMP= ('DX', 'DZ'),
OPTION
=
'COLONNE'
NO1 /'DX'
NO1/'DX'
12.
NO1 /'DX'
NO1/'DZ'
12.
NO1 /'DZ'
NO1/'DX'
12.
NO1 /'DZ'
NO1/'DZ'
12.
NO2 /'DX'
NO1/'DX'
12.
NO2 /'DX'
NO1/'DZ'
12.
NO2 /'DZ'
NO1/'DX'
12.
NO2 /'DZ'
NO1/'DZ'
12.
NO3 /'DX'
NO1/'DX'
12.
NO3 /'DX'
NO1/'DZ'
12.
...
NO999
/'DZ'
NO1/'DX'
12.
NO999
/'DZ'
NO1/'DZ'
12.
Exemple : MATR_ASSE = matass , NOEUD = ('NO1'), NOM_CMP= ('DX', 'DZ'),
OPTION
=
'LIGNE'
NO1/'DX' NO1
/'DX'
12.
NO1/'DZ' NO1
/'DX'
12.
NO1/'DX' NO1
/'DZ'
12.
...
NO1/'DX'
NO999 /'DZ'
12.
NO1/'DZ'
NO999 /'DZ'
12.
GRAIN = 'NOEUD'
Dans ce cas, le "grain" d'impression est le noeud.
Exemple : MATR_ASSE= matass , NOEUD =('NO1', 'NO3'), NOM_CMP= ('DX', 'DZ')
NO1 X NO1
DX
DZ
DX 12.
13.
DX 13.
15.
NO1 X NO3
DX
DZ
DX 12.
13.
DX 13.
15.
NO3 X NO3
DX
DZ
DX 12.
13.
DX 13.
15.
...
Manuel d'Utilisation
Fascicule U7.0- : Echanges de données
HT-62/06/004/A
Code_Aster ®
Version
8.2
Titre :
Procédure IMPR_MATRICE
Date :
31/01/06
Auteur(s) :
J. PELLET Clé
:
U7.04.32-F1 Page :
9/10
4 Exemples
On veut :
1) les matrices élémentaires correspondant aux mailles S1 et S2,
2) 1 tableau par maille,
3) 2 chiffres significatifs pour les nombres flottants,
4) on ne s'intéresse qu'aux composantes DY et DRZ.
matel = CALC_MATR_ELEM( ... )
IMPR_MATRICE (
MATR_ELEM = _F(
MATRICE
=
matel,
FORMAT = 'RESULTAT' ,
FICHIER = 'RESULTAT' ,
MAILLE = ('S1', 'S2'),
GRAIN = 'MAILLE' ,
NOM_CMP = ('DY','DRX'),
NB_CHIFFRE = 2))
On obtient dans le fichier RESULTAT :
_____________________________________________________
! LIGREL = MO .MODELE OPTION = RIGI_MECA_GE !
_____________________________________________________
_______________________________________________________________
!S1 ! N1/DY ! N1/DRX ! N2/DY ! N2/DRX !
_______________________________________________________________
!N1/DY ! -5.3E-03 ! 5.8E-02 ! 5.3E-03 ! 5.8E-02 !
_______________________________________________________________
!N1/DRX ! 5.8E-02 ! -2.1E+01 ! -5.8E-02 ! 1.1E+01 !
_______________________________________________________________
!N2/DY ! 5.3E-03 ! -5.8E-02 ! -5.3E-03 ! -5.8E-02 !
_______________________________________________________________
!N2/DRX ! 5.8E-02 ! 1.1E+01 ! -5.8E-02 ! -2.1E+01 !
_______________________________________________________________
_______________________________________________________________
!S2 ! N2/DY ! N2/DRX ! N3/DY ! N3/DRX !
_______________________________________________________________
!N2/DY ! -5.3E-03 ! 5.8E-02 ! 5.3E-03 ! 5.8E-02 !
_______________________________________________________________
!N2/DRX ! 5.8E-02 ! -2.1E+01 ! -5.8E-02 ! 1.1E+01 !
_______________________________________________________________
!N3/DY ! 5.3E-03 ! -5.8E-02 ! -5.3E-03 ! -5.8E-02 !
_______________________________________________________________
!N3/DRX ! 5.8E-02 ! 1.1E+01 ! -5.8E-02 ! -2.1E+01 !
_______________________________________________________________
Manuel d'Utilisation
Fascicule U7.0- : Echanges de données
HT-62/06/004/A
Code_Aster ®
Version
8.2
Titre :
Procédure IMPR_MATRICE
Date :
31/01/06
Auteur(s) :
J. PELLET Clé
:
U7.04.32-F1 Page :
10/10
Page laissée intentionnellement blanche.
Manuel d'Utilisation
Fascicule U7.0- : Echanges de données
HT-62/06/004/A
Document Outline