1 subroutine utfmgr ( nomgro, nbfmgr, nrofam,
3 > grfmpo, grfmtl, grfmtb,
4 > ulsort, langue, codret )
5 c ______________________________________________________________________
9 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
11 c Version originale enregistree le 18 juin 1996 sous le numero 96036
12 c aupres des huissiers de justice Simart et Lavoir a Clamart
13 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
14 c aupres des huissiers de justice
15 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
17 c HOMARD est une marque deposee d'Electricite de France
23 c ______________________________________________________________________
25 c UTilitaire : quelle Famille MED pour un GRoupe ?
27 c ______________________________________________________________________
29 c . nom . e/s . taille . description .
30 c .____________________________________________________________________.
31 c . nomgro . e . char* . nom du groupe a chercher .
32 c . nbfmgr . s . 1 . nombre de familles MED trouvees .
33 c . nrofam . s . nbfmgr . numeros des familles MED trouvees .
34 c . nbfmed . e . 1 . nombre de familles MED .
35 c . numfam . e . nbfmed . numeros des familles MED .
36 c . grfmpo . e .0:nbfmed. pointeur des groupes des familles .
37 c . grfmtl . e . * . taille des groupes des familles .
38 c . grfmtb . e .10ngrouc. table des groupes des familles .
39 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
40 c . langue . e . 1 . langue des messages .
41 c . . . . 1 : francais, 2 : anglais .
42 c . codret . es . 1 . code de retour des modules .
43 c . . . . 0 : pas de probleme .
44 c ______________________________________________________________________
47 c 0. declarations et dimensionnement
50 c 0.1. ==> generalites
56 parameter ( nompro = 'UTFMGR' )
68 integer nbfmgr, nrofam(*)
70 integer numfam(nbfmed)
71 integer grfmpo(0:nbfmed)
76 integer ulsort, langue, codret
78 c 0.4. ==> variables locales
81 integer nfam, ngro, nbgrou
82 integer lnogro, lnogrf
87 parameter ( nbmess = 10 )
88 character*80 texte(nblang,nbmess)
90 c 0.5. ==> initialisations
91 c ______________________________________________________________________
100 write (ulsort,texte(langue,1)) 'Entree', nompro
104 texte(1,4) = '(''Recherche du groupe : '',a)'
106 texte(2,5) = '(''Looking for group: '',a)'
110 #ifdef _DEBUG_HOMARD_
111 write (ulsort,texte(langue,4)) nomgro
117 c 2. longueur du nom du groupe
120 call utlgut ( lnogro, nomgro,
121 > ulsort, langue, codret )
123 #ifdef _DEBUG_HOMARD_
124 write(ulsort,90002) 'lnogro', lnogro
128 c 3. Explorations de toutes les familles
133 do 31 , nfam = 1 , nbfmed
135 if ( codret.eq.0 ) then
137 nbgrou = ( grfmpo(nfam) - grfmpo(nfam-1) ) / 10
139 #ifdef _DEBUG_HOMARD_
140 write(ulsort,90001) 'famille', nfam, numfam(nfam)
141 write(ulsort,90002) 'nbgrou', nbgrou
144 c 3.1. ==> Explorations de tous les groupes associes a la famille
146 do 311 , ngro = 1 , nbgrou
148 iaux = grfmpo(nfam-1) + 1 + 10*(ngro-1)
150 do 3111 , jaux = 1 , 10
151 lnogrf = lnogrf + grfmtl(iaux+jaux-1)
153 cgn write(ulsort,90002) 'lnogrf', lnogrf
155 if ( lnogrf.eq.lnogro ) then
157 call uts8ch ( grfmtb(iaux), lnogrf, nomgrf,
158 > ulsort, langue, codret )
159 cgn write(ulsort,90003) 'Groupe ', nomgrf(1:lnogrf)
161 if ( nomgrf(1:lnogrf).eq.nomgro(1:lnogro) ) then
163 nrofam(nbfmgr) = numfam(nfam)
175 #ifdef _DEBUG_HOMARD_
176 write(ulsort,*) 'numeros des familles MED trouvees'
177 write(ulsort,91020) (nrofam(iaux), iaux = 1 , nbfmgr)
184 if ( codret.ne.0 ) then
188 write (ulsort,texte(langue,1)) 'Sortie', nompro
189 write (ulsort,texte(langue,2)) codret
193 #ifdef _DEBUG_HOMARD_
194 write (ulsort,texte(langue,1)) 'Sortie', nompro