1 subroutine utsex1 ( nbpafo, nopafo,
2 > edsuav, edsuap, edsaav, edsaap, nbenti,
3 > ulsort, langue, codret )
4 c ______________________________________________________________________
8 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
10 c Version originale enregistree le 18 juin 1996 sous le numero 96036
11 c aupres des huissiers de justice Simart et Lavoir a Clamart
12 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
13 c aupres des huissiers de justice
14 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
16 c HOMARD est une marque deposee d'Electricite de France
22 c ______________________________________________________________________
24 c UTilitaire - Solution - EXtrusion - phase 1
26 c Changement du support dans un paquet de fonctions
27 c ______________________________________________________________________
29 c . nom . e/s . taille . description .
30 c .____________________________________________________________________.
31 c . nbpafo . e . 1 . nombre de paquets de fonctions a traiter .
32 c . nopafo . e . nbpafo . nom des objets qui contiennent la .
33 c . . . . description de chaque paquets de fonctions .
34 c . edsuav . e . 1 . type med avant .
35 c . edsuap . e . 1 . type med apres .
36 c . edsaav . e . 1 . type med associe avant .
37 c . edsaap . e . 1 . type med associe apres .
38 c . nbenti . e . 1 . nombre d'entites apres .
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 . . . . 1 : probleme .
45 c ______________________________________________________________________
48 c 0. declarations et dimensionnement
51 c 0.1. ==> generalites
57 parameter ( nompro = 'UTSEX1' )
71 integer edsuav, edsuap, edsaav, edsaap, nbenti
73 character*8 nopafo(nbpafo)
75 integer ulsort, langue, codret
77 c 0.4. ==> variables locales
81 integer nrpafo, nbsupp
83 integer nbfopa, nbtyas, ngauss, carsup, typint
84 integer adobfo, adtyge
89 parameter ( nbmess = 10 )
90 character*80 texte(nblang,nbmess)
92 c 0.5. ==> initialisations
93 c ______________________________________________________________________
101 #ifdef _DEBUG_HOMARD_
102 write (ulsort,texte(langue,1)) 'Entree', nompro
106 texte(1,4) = '(''Paquet de fonctions numero'',i3)'
108 texte(2,4) = '(''Pack of functions #'',i3)'
112 #ifdef _DEBUG_HOMARD_
113 write (ulsort,90015) 'Passage de', edsuav,' a', edsuap
114 write (ulsort,90015) 'S. associe. Passage de', edsaav,' a', edsaap
115 write (ulsort,90002) 'nbenti', nbenti
121 c 2. exploration des paquets de fonctions
124 do 20 , nrpafo = 1 , nbpafo
126 obpafo = nopafo(nrpafo)
128 #ifdef _DEBUG_HOMARD_
129 write (ulsort,texte(langue,4)) nrpafo
131 #ifdef _DEBUG_HOMARD_
132 call gmprsx (nompro, obpafo )
133 call gmprsx (nompro, obpafo//'.Fonction' )
134 call gmprsx (nompro, obpafo//'.TypeSuAs' )
135 call gmprsx (nompro, '%%%%%%18' )
138 c 2.1. ==> caracterisation du paquet de fonctions courant
139 #ifdef _DEBUG_HOMARD_
140 write (ulsort,90002) '2.1. caracterisation ; codret', codret
143 if ( codret.eq.0 ) then
145 #ifdef _DEBUG_HOMARD_
146 write (ulsort,texte(langue,3)) 'UTCAPF', nompro
148 call utcapf ( obpafo,
149 > nbfopa, nbtyas, ngauss, carsup, typint,
151 > ulsort, langue, codret )
155 #ifdef _DEBUG_HOMARD_
156 if ( codret.eq.0 ) then
157 write (ulsort,90002) 'nbfopa', nbfopa
158 write (ulsort,90002) 'nbtyas', nbtyas
159 write (ulsort,90002) 'ngauss', ngauss
160 write (ulsort,90002) 'carsup', carsup
161 write (ulsort,90002) 'typint', typint
165 c 2.2. ==> types de support du paquet
166 c Attribut 2, nbtyas :
167 c si >0 : le type geometrique global quand il est unique
168 c si <0 : le nombre total de types geometriques associe
169 #ifdef _DEBUG_HOMARD_
170 write (ulsort,90002) '2.2. types de support ; codret', codret
173 if ( codret.eq.0 ) then
176 if ( nbtyas.gt.0 ) then
179 if ( nbtyas.eq.edsuav ) then
187 if ( codret.eq.0 ) then
189 #ifdef _DEBUG_HOMARD_
191 > 'Supports',(imem(adtyge-1+iaux),iaux=1,nbsupp)
194 do 22 , iaux = 1 , nbsupp
195 if ( imem(adtyge-1+iaux).eq.edsuav ) then
206 c 2.3. ==> Si l'un des supports est le bon, changement
207 #ifdef _DEBUG_HOMARD_
208 write (ulsort,90002) '2.3. changement ; codret', codret
211 if ( jaux.gt.0 ) then
213 c 2.3.1. ==> modification de chaque fonction du paquet courant
215 if ( codret.eq.0 ) then
217 #ifdef _DEBUG_HOMARD_
218 write (ulsort,texte(langue,3)) 'UTSEX2', nompro
220 call utsex2 ( nbfopa, smem(adobfo),
221 > edsuav, edsuap, edsaav, edsaap, nbenti,
222 > ulsort, langue, codret )
226 c 2.3.2. ==> mise a jour du support du paquet
228 if ( codret.eq.0 ) then
230 if ( nbsupp.eq.1 ) then
231 call gmecat ( obpafo, 2, edsuap, codret )
233 imem(adtyge-1+jaux) = edsuap
246 if ( codret.ne.0 ) then
250 write (ulsort,texte(langue,1)) 'Sortie', nompro
251 write (ulsort,texte(langue,2)) codret
255 #ifdef _DEBUG_HOMARD_
256 write (ulsort,texte(langue,1)) 'Sortie', nompro