1 subroutine utre03 ( typenh, option,
3 > nbenac, nbento, adenho, adenca,
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 - REnumerotation - 03
27 c ______________________________________________________________________
28 c . nom . e/s . taille . description .
29 c .____________________________________________________________________.
30 c . typenh . e . 1 . code des entites au sens homard .
31 c . . . . -1 : noeuds .
32 c . . . . 0 : mailles-points .
33 c . . . . 1 : segments .
34 c . . . . 2 : triangles .
35 c . . . . 3 : tetraedres .
36 c . . . . 4 : quadrangles .
37 c . . . . 5 : pyramides .
38 c . . . . 6 : hexaedres .
39 c . . . . 7 : pentaedres .
40 c . option . e . 1 . option de pilotage des adresses a chercher .
41 c . . . . c'est un multiple des entiers suivants : .
42 c . . . . 2 : nombre d'entites actives .
43 c . . . . 3 : nombre d'entites .
44 c . . . . 5 : branche HOMARD .
45 c . . . . 7 : branche Calcul .
46 c . . . . Si option<0, on controle avant de chercher .
47 c . . . . les adresses que le tableau est vraiment .
48 c . . . . alloue ; il faut donc decoder les attributs.
49 c . . . . avant les adresses .
50 c . norenu . e . char8 . nom de la branche Renum du maillage HOMARD .
51 c . nbenac . es . 1 . nombre d'entites actives .
52 c . nbento . es . 1 . nombre d'entites .
53 c . adenho . s . 1 . adresse de la numerotation dans HOMARD .
54 c . adenca . s . 1 . adresse de la numerotation dans le calcul .
55 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
56 c . langue . e . 1 . langue des messages .
57 c . . . . 1 : francais, 2 : anglais .
58 c . codret . es . 1 . code de retour des modules .
59 c . . . . 0 : pas de probleme .
60 c . . . . 6 : probleme d'ecriture .
61 c ______________________________________________________________________
64 c 0. declarations et dimensionnement
67 c 0.1. ==> generalites
73 parameter ( nompro = 'UTRE03' )
85 integer typenh, option
86 integer nbenac, nbento
87 integer adenho, adenca
91 integer ulsort, langue, codret
93 c 0.4. ==> variables locales
103 parameter ( nbmess = 10 )
104 character*80 texte(nblang,nbmess)
106 c 0.5. ==> initialisations
107 c ______________________________________________________________________
113 c 1.1. ==> les messages
117 #ifdef _DEBUG_HOMARD_
118 write (ulsort,texte(langue,1)) 'Entree', nompro
123 > '(''Adresses des renumerotations relatives aux '',a)'
124 texte(1,5) = '(''Option :'',i10)'
125 texte(1,6) = '(''Erreur dans le decodage de nbenac'')'
126 texte(1,7) = '(''Erreur dans le decodage de nbento'')'
127 texte(1,8) = '(''Erreur dans l''''adresse de EnHOMARD'')'
128 texte(1,9) = '(''Erreur dans l''''adresse de EnCalcul'')'
130 texte(2,4) = '(''Adresses of renumbering for '',a)'
131 texte(2,5) = '(''Option :'',i10)'
132 texte(2,6) = '(''Error while uncoding nbenac'')'
133 texte(2,7) = '(''Error while uncodin nbento'')'
134 texte(2,8) = '(''Error in address of EnHOMARD'')'
135 texte(2,9) = '(''Error in address of EnCalcul'')'
137 #ifdef _DEBUG_HOMARD_
138 write (ulsort,texte(langue,4)) mess14(langue,3,typenh)
139 write (ulsort,texte(langue,5)) option
142 c 1.2. ==> types d'entites
144 saux03 = '.'//suffix(3,typenh)(1:2)
152 if ( option.ne.0 ) then
156 c 2.1. ==> Nombre d'entites actives
158 if ( codret.eq.0 ) then
160 if ( mod(option,2).eq.0 .or.
161 > mod(option,5).eq.0 .or. mod(option,7).eq.0 ) then
163 call gmliat ( norenu, iaux , nbenac, codret )
164 if ( codret.ne.0 ) then
168 #ifdef _DEBUG_HOMARD_
169 if ( codret.eq.0 ) then
170 saux06 = 'nb'//suffix(2,typenh)(1:2)//'ac'
171 write (ulsort,*) '==> ', saux06, ' = ', nbenac
179 c 2.2. ==> Nombre d'entites
181 if ( codret.eq.0 ) then
183 if ( mod(option,3).eq.0 ) then
185 call gmliat ( norenu, iaux+1, nbento, codret )
186 if ( codret.ne.0 ) then
190 #ifdef _DEBUG_HOMARD_
191 if ( codret.eq.0 ) then
192 saux06 = 'nb'//suffix(2,typenh)(1:2)//'to'
193 write (ulsort,*) '==> ', saux06, ' = ', nbento
201 c 2.3. ==> Branche HOMARD
203 if ( codret.eq.0 ) then
205 if ( mod(option,5).eq.0 ) then
207 if ( option.gt.0 .or.
208 > ( option.lt.0 .and. nbenac.gt.0 ) ) then
209 call gmadoj ( norenu//saux03//'HOMARD', adenho, jaux, codret )
210 if ( codret.ne.0 ) then
213 #ifdef _DEBUG_HOMARD_
214 if ( codret.eq.0 ) then
215 saux06 = 'ad'//suffix(2,typenh)(1:2)//'ho'
216 write (ulsort,*) '==> ', saux06, ' = ', adenho
225 c 2.4. ==> Branche Calcul
227 if ( codret.eq.0 ) then
229 if ( mod(option,7).eq.0 ) then
232 if ( option.gt.0 ) then
234 elseif ( mod(option,2).lt.0 .and.
235 > nbento.gt.0 .and. nbenac.gt.0 ) then
237 elseif ( option.lt.0 .and. nbenac.gt.0 ) then
241 if ( jaux.gt.0 ) then
242 call gmadoj ( norenu//saux03//'Calcul', adenca, jaux, codret )
243 if ( codret.ne.0 ) then
246 #ifdef _DEBUG_HOMARD_
247 if ( codret.eq.0 ) then
248 saux06 = 'ad'//suffix(2,typenh)(1:2)//'ca'
249 write (ulsort,*) '==> ', saux06, ' = ', adenca
264 if ( codret.ne.0 ) then
268 write (ulsort,texte(langue,1)) 'Sortie', nompro
269 write (ulsort,texte(langue,2)) codret
270 write (ulsort,texte(langue,4)) mess14(langue,3,typenh)
271 write (ulsort,texte(langue,5+codret))
272 call gmprsx (nompro,norenu)
276 #ifdef _DEBUG_HOMARD_
277 write (ulsort,texte(langue,1)) 'Sortie', nompro