1 subroutine gmsgoj ( nomemc, codret )
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 supprimer le graphe d'un objet en memoire centrale
24 c ______________________________________________________________________
26 c . nom . e/s . taille . description .
27 c .____________________________________________________________________.
28 c . nomemc . e .char(*) . nom etendu en memoire centrale .
29 c . codret . s . ent . code retour de l'operation .
31 c . . . . -1 : Probleme dans la suppression du graphe.
32 c . . . . -2 : Probleme dans la liberation de l'objet.
33 c .____________________________________________________________________.
36 c 0. declarations et dimensionnement
39 c 0.1. ==> generalites
45 parameter ( nompro = 'GMSGOJ' )
65 c 0.4. ==> variables locales
68 integer icar, imin, imax
70 character*8 nomter, nomaux
73 parameter ( nbmess = 20 )
74 character*80 texte(nblang,nbmess)
76 c 0.5. ==> initialisations
77 c ______________________________________________________________________
86 write (ulsort,texte(langue,1)) 'Entree', nompro
90 texte(1,10) = '(''Suppression du graphe de l''''objet '',a8)'
91 texte(1,4) = '(''en memoire centrale.'')'
92 texte(1,11) = '(''Probleme a la suppression du graphe.'')'
93 texte(1,12) = '(''Probleme a la liberation de l''''objet.'')'
95 texte(2,10) = '(''Suppression of the graph of the object '',a8)'
96 texte(2,4) = '(''in central memory.'')'
97 texte(2,11) = '(''Problem in freeing the graph.'')'
98 texte(2,12) = '(''Problem in freeing the object.'')'
101 c 2. on supprime le graphe seul
104 call gasgmc (nomemc,codret)
107 c 3. si l'objet est structure et que la suppression du graphe
109 c ou : si l'objet est simple
110 c detachement de l'objet de tous ses supports
111 c si c'est un objet temporaire et que c'est une tete, on le raye
115 if ( codret.eq.0 .or. codret.eq.-5 ) then
117 call gmnomc (nomemc, nomter, codret)
119 if ( codret.eq.0 ) then
121 call gblboj ( nomter )
126 if ( codret.eq.0 ) then
129 call gbdtoj ( nomaux, nomter )
134 if ( codret.ne.0 ) then
144 if ( codret.eq.0 .and. len(nomemc).ge.8 ) then
146 c avant de supprimer le nom de la liste des noms d'objets temporaires,
147 c on verifie que le nom (terminal) a bien la structure d'un nom
148 c temporaire : un certain nombre (>0) de caracteres caint1 (% a priori),
149 c suivis d'un entier (le tout, code sur 8 caracteres).
151 if ( nomter(1:1).eq.caint1 .and.
152 > nomter.eq.nomemc(1:8) ) then
156 iaux = index('0123456789'//caint1, nomter(icar:icar))
157 if (iaux.lt.imin.or.iaux.gt.imax) then
167 call gbntde ( nomter , iaux )
174 c 9. gestion des erreurs
179 #ifdef _DEBUG_HOMARD_
180 write (ulsort,*) '9. Gestions des erreurs ; codret = ', codret
183 if ( codret.ne.0 ) then
186 write (ulsort,texte(langue,1)) 'Sortie', nompro
187 write (ulsort,texte(langue,10))
188 write (ulsort,*) nomemc
189 write (ulsort,texte(langue,4))
190 if ( abs(codret).le.2 .and. coergm.eq.0 ) then
191 iaux = 10+abs(codret)
192 write (ulsort,texte(langue,iaux))
200 90000 format (70('='))