1 subroutine gbaloj (nom,type,iret)
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 fonction d'allocation d'un objet "nom", structure, de type
24 c ...........................................................
27 c nom : character*8 : nom de l'objet a allouer
28 c type : character*8 : nom du type de l'objet a allouer
30 c ( ou chaine de 8 caracteres au plus )
32 c ...........................................................
35 c -3 : erreur : type inconnu
36 c -2 : erreur : il existe deja un objet de ce nom
37 c (structure ou simple)
38 c -1 : erreur : allocation impossible :
39 c dimensionnement des tables insuffisant
42 c ...........................................................
44 c 0. declarations et dimensionnement
47 c 0.1. ==> generalites
63 character*(*) nom, type
66 c 0.4. ==> variables locales
68 integer ityp, ity, ioal, ityptr
70 c 1. recherche du type
73 if (nomtyp(ity).eq.type) then
82 c 2. verification si cet objet existe deja
86 call gbobal(nom,ityp,ioal)
93 c 3. mise a jour des tables
95 if ( (iptobj.gt.nobjx) .or.
96 > (iptchp+nbcham(ity).gt.nobcx+1) .or.
97 > (iptatt+nbratt(ity).gt.nobcx+1) ) then
102 typobj(iptobj) = ityptr
103 adrdso(iptobj) = iptchp
104 adrdsa(iptobj) = iptatt
106 iptchp = iptchp + nbcham(ityptr)
107 iptatt = iptatt+nbratt(ityptr)
109 if ((iptobj.eq.nobjx).or.(iptchp.gt.nobcx)
110 > .or.(iptatt.gt.nobcx)) then