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