1 subroutine gmprsx ( chaine, nom )
2 c ______________________________________________________________________
6 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
8 c Version originale enregistree le 18 juin 1996 sous le numero 96036
9 c aupres des huissiers de justice Simart et Lavoir a Clamart
10 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
11 c aupres des huissiers de justice
12 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
14 c HOMARD est une marque deposee d'Electricite de France
20 c ______________________________________________________________________
22 c but : imprime le contenu d'un objet
23 c . si l'objet est structure, on imprime ses attributs
24 c . si l'objet est simple, on imprime son contenu complet
25 c ______________________________________________________________________
27 c . nom . e/s . taille . description .
28 c .____________________________________________________________________.
29 c . chaine . e . char* . chaine de commentaire a imprimer .
30 c . nom . e . char* . nom de la structure a imprimer .
31 c ______________________________________________________________________
34 c 0. declarations et dimensionnement
37 c 0.1. ==> generalites
43 parameter ( nompro = 'GMPRSX' )
64 c 0.4. ==> variables locales
66 integer nba, nbc, letype
67 integer adsa, adso, adst
68 integer iaux, jaux, ideb, ifin
71 character*8 nomter, typtab, nocham
74 parameter ( nbmess = 10 )
75 character*80 texte(nblang,nbmess)
77 c 0.5. ==> initialisations
78 c ______________________________________________________________________
87 write (ulsort,texte(langue,1)) 'Entree', nompro
93 > '(/,''=== Structure '',a8,'' de type '',a8,'' ==='',/)'
94 texte(1,6) = '(''Attribut numero'',i6,'' : '',i15)'
95 texte(1,7) = '(''Champ numero '',i6,'' : '',a8)'
96 texte(1,8) = '('' Type : '',a8,'' --> objet associe : '',a8)'
97 texte(1,9) = '(''==> le nom de cette structure est invalide.'',/)'
98 texte(1,10) = '(''==> cette structure n''''est pas allouee.'',/)'
101 texte(2,4) ='(/,''=== Structure '',a8,'' : Type '',a8,'' ==='',/)'
102 texte(2,6) = '(''Attribute #'',i6,'' : '',i15)'
103 texte(2,7) = '(''Field # '',i6,'' : '',a8)'
104 texte(2,8) = '('' Type : '',a8,'' --> related object : '',a8)'
105 texte(2,9) = '(''The name of this structure is not valid.'',/)'
106 texte(2,10) = '(''==> this structure is not allocated.'',/)'
109 c 2. etat de l'objet en memoire
112 call gmobal ( nom, codret )
115 c 3. si objet non alloue
118 if ( codret.eq.0 ) then
122 write (ulsort,texte(langue,10))
125 c 4. decodage des attributs pour un objet structure
128 elseif ( codret.eq.1 ) then
130 c 4.1. ==> recherche du nom terminal de l'objet et de son type
132 call gmtyoj ( nom, typtab, iaux, codret )
134 call gmnomc ( nom, nomter, codret )
136 c 4.2. ==> recherche du numero de l'objet
138 do 42 , iaux = 1 , iptobj-1
139 if ( nomobj(iaux).eq.nomter ) then
141 nba = nbratt(typobj(letype))
142 nbc = nbcham(typobj(letype))
143 adsa = adrdsa(letype)
144 adso = adrdso(letype)
145 adst = adrdst(typobj(letype))
152 c 4.3. ==> ecriture des attributs
156 write (ulsort,texte(langue,4)) nomter, typtab
157 if ( len(chaine).gt.0 ) then
158 write (ulsort,texte(1,5)) chaine
163 do 432 , iaux = 1 , nba
164 write(ulsort,texte(langue,6)) iaux, valatt(adsa+iaux-1)
167 do 433 , iaux = 1 , nbc
168 jaux = typcha(adst+iaux-1)
169 if ( jaux.gt.0 ) then
170 nocham = nomtyp(jaux)
172 nocham = nomtyb(abs(jaux))
174 write(ulsort,texte(langue,7)) iaux, nomcha(adst+iaux-1)
175 write(ulsort,texte(langue,8)) nocham, nomobc(adso+iaux-1)
181 c 5. appel du programme generique pour un objet simple
184 elseif ( codret.eq.2 ) then
188 call gmprot ( chaine, nom, ideb, ifin )
191 c 6. si objet non defini
198 write (ulsort,texte(langue,9))