1 subroutine delist ( nomail, nmprde, avappr,
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 traitement des DEcisions - LISTe des decisions
26 c Remarque : Les appels ont lieu seulement en mode DEBUG
27 c ______________________________________________________________________
29 c . nom . e/s . taille . description .
30 c .____________________________________________________________________.
31 c . nomail . e . ch8 . nom de l'objet contenant le maillage .
32 c . nmprde . e . ch8 . nom du programme a pister .
33 c . avappr . e . 1 . 1 : impression avant l'appel a "nmprde" .
34 c . . . . 2 : impression apres l'appel a "nmprde" .
35 c . lgopts . e . 1 . longueur du tableau des options caracteres .
36 c . taopts . e . lgoptc . tableau des options caracteres .
37 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
38 c . langue . e . 1 . langue des messages .
39 c . . . . 1 : francais, 2 : anglais .
40 c . codret . es . 1 . code de retour des modules .
41 c . . . . 0 : pas de probleme .
42 c . . . . sinon, probleme .
43 c ______________________________________________________________________
46 c 0. declarations et dimensionnement
49 c 0.1. ==> generalites
55 parameter ( nompro = 'DELIST' )
79 character*8 taopts(lgopts)
81 integer ulsort, langue, codret
83 c 0.4. ==> variables locales
87 integer pdecfa, pdecar
88 integer phetar, pmerar
89 integer phettr, paretr, pnivtr
90 integer phetqu, parequ, pnivqu
91 integer phethe, pquahe
92 integer pposif, pfacar
93 integer adhoar, adhotr, adhoqu
95 integer codre0, codre1, codre2
97 character*8 ntrav1, ntrav2
99 character*8 nhnoeu, nhmapo, nharet, nhtria, nhquad
100 character*8 nhtetr, nhhexa, nhpyra, nhpent
102 character*8 nhvois, nhsupe, nhsups
105 parameter ( nbmess = 10 )
106 character*80 texte(nblang,nbmess)
108 c 0.5. ==> initialisations
109 c ______________________________________________________________________
117 #ifdef _DEBUG_HOMARD_
118 write (ulsort,texte(langue,1)) 'Entree', nompro
122 texte(1,4) = '(/,''Avant appel a '',a6,'' :'',/)'
123 texte(1,5) = '(/,''Apres appel a '',a6,'' :'',/)'
124 texte(1,10) = '(/,''Mauvais code pour '',a6,'' : '',i8,/)'
126 texte(2,4) = '(/,''Before calling '',a6,'':'',/)'
127 texte(2,5) = '(/,''After calling '',a6,'':'',/)'
128 texte(2,10) = '(/,''Bad code for '',a6,'': '',i8,/)'
133 c 2. recuperation des pointeurs, initialisations
136 c 2.1. ==> structure generale
138 if ( codret.eq.0 ) then
140 call utnomh ( nomail,
142 > degre, maconf, homolo, hierar,
143 > rafdef, nbmane, typcca, typsfr, maextr,
146 > nhnoeu, nhmapo, nharet,
148 > nhtetr, nhhexa, nhpyra, nhpent,
150 > nhvois, nhsupe, nhsups,
151 > ulsort, langue, codret)
157 if ( codret.eq.0 ) then
160 if ( homolo.ge.2 ) then
163 #ifdef _DEBUG_HOMARD_
164 write (ulsort,texte(langue,3)) 'UTAD02_ar', nompro
166 call utad02 ( iaux, nharet,
167 > phetar, jaux , jaux , pmerar,
170 > jaux, adhoar, jaux,
171 > ulsort, langue, codret )
173 if ( nbtrto.ne.0 ) then
176 if ( homolo.ge.3 ) then
179 #ifdef _DEBUG_HOMARD_
180 write (ulsort,texte(langue,3)) 'UTAD02_tr', nompro
182 call utad02 ( iaux, nhtria,
183 > phettr, paretr, jaux , jaux,
185 > pnivtr, jaux, jaux,
186 > jaux, adhotr, jaux,
187 > ulsort, langue, codret )
191 if ( nbquto.ne.0 ) then
194 if ( homolo.ge.3 ) then
197 #ifdef _DEBUG_HOMARD_
198 write (ulsort,texte(langue,3)) 'UTAD02_qu', nompro
200 call utad02 ( iaux, nhquad,
201 > phetqu, parequ, jaux , jaux,
203 > pnivqu, jaux, jaux,
204 > jaux, adhoqu, jaux,
205 > ulsort, langue, codret )
209 if ( nbheto.ne.0 ) then
211 #ifdef _DEBUG_HOMARD_
212 write (ulsort,texte(langue,3)) 'UTAD02_he', nompro
215 call utad02 ( iaux, nhhexa,
216 > phethe, pquahe, jaux , jaux,
220 > ulsort, langue, codret )
227 if ( codret.eq.0 ) then
229 #ifdef _DEBUG_HOMARD_
230 write (ulsort,texte(langue,3)) 'UTAD04', nompro
233 call utad04 ( iaux, nhvois,
234 > jaux, jaux, pposif, pfacar,
236 > jaux, jaux, jaux, jaux,
241 > ulsort, langue, codret )
245 if ( codret.eq.0 ) then
248 call gmadoj ( ntrav1, pdecar, iaux, codre1 )
250 call gmadoj ( ntrav2, pdecfa, iaux, codre2 )
252 codre0 = min ( codre1, codre2 )
253 codret = max ( abs(codre0), codret,
259 c 3. impressions vraies
261 #ifdef _DEBUG_HOMARD_
262 write (ulsort,90002) '3. impressions vraies ; codret', codret
265 if ( codret.eq.0 ) then
267 if ( avappr.eq.1 .or. avappr.eq.2 ) then
268 write (ulsort,texte(langue,3+avappr)) nmprde
270 write (ulsort,texte(langue,10)) nmprde, avappr
274 #ifdef _DEBUG_HOMARD_
275 write (ulsort,texte(langue,3)) 'DELIS1', nompro
279 > imem(pdecar), imem(pdecfa),
280 > imem(pposif), imem(pfacar), imem(phetar), imem(pmerar),
281 > imem(phettr), imem(pnivtr),
282 > imem(phetqu), imem(pnivqu),
283 > ulsort, langue, codret )
291 if ( codret.ne.0 ) then
295 write (ulsort,texte(langue,1)) 'Sortie', nompro
296 write (ulsort,texte(langue,2)) codret
300 #ifdef _DEBUG_HOMARD_
301 write (ulsort,texte(langue,1)) 'Sortie', nompro