1 subroutine utsex3 ( nbcham, nocham,
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 3
26 c Changement du support dans un champ
27 c ______________________________________________________________________
29 c . nom . e/s . taille . description .
30 c .____________________________________________________________________.
31 c . nbcham . e . 1 . nombre de champs a traiter .
32 c . nocham . e . nbcham . nom des objets qui contiennent la .
33 c . . . . description de chaque champ .
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 = 'UTSEX3' )
71 integer edsuav, edsuap, edsaav, edsaap, nbenti
73 character*8 nocham(nbcham)
75 integer ulsort, langue, codret
77 c 0.4. ==> variables locales
80 integer codre1, codre2
90 parameter ( nbmess = 10 )
91 character*80 texte(nblang,nbmess)
93 c 0.5. ==> initialisations
94 c ______________________________________________________________________
102 #ifdef _DEBUG_HOMARD_
103 write (ulsort,texte(langue,1)) 'Entree', nompro
107 texte(1,4) = '(''Champ numero'',i3)'
109 texte(2,4) = '(''Field #'',i3)'
113 #ifdef _DEBUG_HOMARD_
114 write (ulsort,90015) 'Support. Passage de', edsuav,' a', edsuap
115 write (ulsort,90015) 'S. associe. Passage de', edsaav,' a', edsaap
116 write (ulsort,90002) 'nbenti', nbenti
122 c 2. exploration des champs
125 do 20 , nrcham = 1 , nbcham
127 if ( codret.eq.0 ) then
129 obcham = nocham(nrcham)
131 #ifdef _DEBUG_HOMARD_
132 write (ulsort,texte(langue,4)) nrcham
134 #ifdef _DEBUG_HOMARD_
135 cgn call gmprsx (nompro, obcham )
136 call gmprsx (nompro//' - entree', obcham//'.Cham_Ent' )
139 c 2.1. ==> caracteristiques du champ
141 if ( codret.eq.0 ) then
143 call gmliat ( obcham, 2, nbtv, codre1 )
144 call gmadoj ( obcham//'.Cham_Ent', adcaen, iaux, codre2 )
146 codre0 = min ( codre1, codre2 )
147 codret = max ( abs(codre0), codret,
152 #ifdef _DEBUG_HOMARD_
153 if ( codret.eq.0 ) then
154 write (ulsort,90002) 'nbtv', nbtv
158 c 2.2. ==> modification des caracteristiques entieres des champs
160 if ( codret.eq.0 ) then
162 do 22 , iaux = 1 , nbtv
166 if ( imem(jaux).eq.edsuav ) then
169 #ifdef _DEBUG_HOMARD_
170 write (ulsort,90002) '==> conversion support', edsuav, edsuap
174 c 2.2.2. ==> Nombre d'entites
177 #ifdef _DEBUG_HOMARD_
178 write (ulsort,90002) '==> conversion nbenti', imem(jaux), nbenti
182 c 2.2.3. ==> Support associe eventuel
185 if ( mod(imem(jaux),edsaav).eq.0 ) then
186 #ifdef _DEBUG_HOMARD_
187 write (ulsort,90002) '==> conversion support associe',
188 > imem(jaux), imem(jaux)*edsaap/edsaav
190 imem(jaux) = imem(jaux)*edsaap/edsaav
195 adcaen = adcaen + nbinec
201 #ifdef _DEBUG_HOMARD_
202 cgn write (ulsort,texte(langue,4)) nrcham
203 call gmprsx (nompro//' - sortie', obcham//'.Cham_Ent' )
214 if ( codret.ne.0 ) then
218 write (ulsort,texte(langue,1)) 'Sortie', nompro
219 write (ulsort,texte(langue,2)) codret
223 #ifdef _DEBUG_HOMARD_
224 write (ulsort,texte(langue,1)) 'Sortie', nompro