1 subroutine decfsu ( nomail, nohind,
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 traitement des DEcisions - mise en ConFormite - SUppression
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 . nohind . e . ch8 . nom de l'objet contenant l'indicateur .
33 c . lgopti . e . 1 . longueur du tableau des options .
34 c . taopti . e . lgopti . tableau des options .
35 c . lgetco . e . 1 . longueur du tableau de l'etat courant .
36 c . taetco . e . lgetco . tableau de l'etat courant .
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 . . . . 5 : mauvais type de code de calcul associe .
43 c ______________________________________________________________________
46 c 0. declarations et dimensionnement
49 c 0.1. ==> generalites
55 parameter ( nompro = 'DECFSU' )
79 character*8 nomail, nohind
82 integer taopti(lgopti)
85 integer taetco(lgetco)
87 integer ulsort, langue, codret
89 c 0.4. ==> variables locales
93 integer nretap, nrsset
94 integer iaux, jaux, kaux
96 integer nbtran, nbquan
102 integer pcoono, phetno, pareno
104 integer pposif, pfacar
105 integer phetar, psomar, pfilar, pmerar, pancar, pnp2ar
107 integer phettr, paretr, pfiltr, ppertr, panctr, pnivtr
108 integer adpetr, adnmtr
110 integer phetqu, parequ, pfilqu, pperqu, pancqu, pnivqu
111 integer adhequ, adnmqu
113 integer phette, ptrite, pcotrt, parete, pfilte, pperte, pancte
114 integer phethe, pquahe, pcoquh, parehe, pfilhe, pperhe, panche
117 integer phetpy, pfacpy, pcofay, parepy, pfilpy, pperpy, pancpy
118 integer phetpe, pfacpe, pcofap, parepe, pfilpe, pperpe, pancpe
120 integer pfamno, pcfano
128 integer voarno, vofaar, vovoar, vovofa
129 integer adnoin, adnorn, adnosu
130 integer adarin, adarrn, adarsu
131 integer adtrin, adtrrn, adtrsu
132 integer adquin, adqurn, adqusu
133 integer adtein, adtern, adtesu
134 integer adhein, adhern, adhesu
135 integer adpyin, adpyrn, adpysu
136 integer adpein, adpern, adpesu
137 integer nbvnoe, nbvare
138 integer nbvtri, nbvqua
139 integer nbvtet, nbvhex, nbvpyr, nbvpen
140 integer typind, ncmpin
141 integer pdisno, pancno, pnouno
146 integer codre1, codre2, codre3
151 character*8 nhnoeu, nhmapo, nharet, nhtria, nhquad
152 character*8 nhtetr, nhhexa, nhpyra, nhpent
154 character*8 nhvois, nhsupe, nhsups
155 character*8 ndisno, nnouno
158 parameter ( nbmess = 10 )
159 character*80 texte(nblang,nbmess)
161 c 0.5. ==> initialisations
162 c ______________________________________________________________________
171 #ifdef _DEBUG_HOMARD_
172 write (ulsort,texte(langue,1)) 'Entree', nompro
180 c=======================================================================
181 if ( codava.eq.0 ) then
182 c=======================================================================
184 c 1.1. ==> le debut des mesures de temps
189 c 1.3. ==> les messages
191 texte(1,4) = '(/,a6,'' SUPPRESSION DE LA CONFORMITE'')'
192 texte(1,5) = '(35(''=''),/)'
193 texte(1,6) = '(''Modification de taille des tableaux des '',a)'
194 texte(1,7) = '(''et renumerotation.'')'
195 texte(1,8) = '(5x,''==> code de retour :'',i8)'
197 texte(2,4) = '(/,a6,'' SUPPRESSION OF CONFORMITY'')'
198 texte(2,5) = '(32(''=''),/)'
199 texte(2,6) = '(''Size modification of arrays for '',a)'
200 texte(2,7) = '(''and renumbering.'')'
201 texte(2,8) = '(5x,''==> error code :'',i8)'
203 c 1.4. ==> le numero de sous-etape
206 nrsset = taetco(2) + 1
209 call utcvne ( nretap, nrsset, saux, iaux, codret )
213 write (ulsort,texte(langue,4)) saux
214 write (ulsort,texte(langue,5))
217 c 2. recuperation des pointeurs, initialisations
220 c 2.1. ==> structure generale
222 if ( codret.eq.0 ) then
224 #ifdef _DEBUG_HOMARD_
225 write (ulsort,texte(langue,3)) 'UTNOMH', nompro
227 call utnomh ( nomail,
229 > degre, maconf, homolo, hierar,
230 > rafdef, nbmane, typcca, typsfr, maextr,
233 > nhnoeu, nhmapo, nharet,
235 > nhtetr, nhhexa, nhpyra, nhpent,
237 > nhvois, nhsupe, nhsups,
238 > ulsort, langue, codret)
244 if ( codret.eq.0 ) then
247 if ( homolo.ge.1 ) then
250 #ifdef _DEBUG_HOMARD_
251 write (ulsort,texte(langue,3)) 'UTAD01', nompro
253 call utad01 ( iaux, nhnoeu,
255 > pfamno, pcfano, jaux,
256 > pcoono, pareno, adhono, jaux,
257 > ulsort, langue, codret )
260 if ( degre.eq.2 ) then
263 #ifdef _DEBUG_HOMARD_
264 write (ulsort,texte(langue,3)) 'UTAD02_ar', nompro
266 call utad02 ( iaux, nharet,
267 > phetar, psomar, jaux , jaux ,
269 > jaux, pnp2ar, jaux,
271 > ulsort, langue, codret )
273 if ( nbtrto.ne.0 ) then
276 #ifdef _DEBUG_HOMARD_
277 write (ulsort,texte(langue,3)) 'UTAD02_tr', nompro
279 call utad02 ( iaux, nhtria,
280 > phettr, paretr, pfiltr, ppertr,
282 > pnivtr, jaux, jaux,
284 > ulsort, langue, codret )
288 if ( nbquto.ne.0 ) then
291 #ifdef _DEBUG_HOMARD_
292 write (ulsort,texte(langue,3)) 'UTAD02_qu', nompro
294 call utad02 ( iaux, nhquad,
295 > phetqu, parequ, pfilqu, pperqu,
297 > pnivqu, jaux, jaux,
299 > ulsort, langue, codret )
303 if ( nbteto.ne.0 ) then
306 if ( nancta.gt.0 ) then
309 #ifdef _DEBUG_HOMARD_
310 write (ulsort,texte(langue,3)) 'UTAD02_te', nompro
312 call utad02 ( iaux, nhtetr,
313 > phette, ptrite, pfilte, jaux,
315 > jaux, pcotrt, jaux,
316 > jaux, jaux, parete,
317 > ulsort, langue, codret )
321 if ( nbheto.ne.0 ) then
324 if ( nbheco.ne.0 ) then
327 if ( nancha.gt.0 ) then
330 #ifdef _DEBUG_HOMARD_
331 write (ulsort,texte(langue,3)) 'UTAD02_he', nompro
333 call utad02 ( iaux, nhhexa,
334 > phethe, pquahe, pfilhe, jaux,
336 > jaux, jaux, adhes2,
337 > jaux, jaux, parehe,
338 > ulsort, langue, codret )
342 if ( nbpeto.ne.0 ) then
345 if ( nbpeco.ne.0 ) then
348 if ( nancpa.gt.0 ) then
351 #ifdef _DEBUG_HOMARD_
352 write (ulsort,texte(langue,3)) 'UTAD02_pe', nompro
354 call utad02 ( iaux, nhpent,
355 > phetpe, pfacpe, pfilpe, jaux,
357 > jaux, jaux, adpes2,
358 > jaux, jaux, parepe,
359 > ulsort, langue, codret )
363 if ( nbpyto.ne.0 ) then
366 if ( nancya.gt.0 ) then
369 #ifdef _DEBUG_HOMARD_
370 write (ulsort,texte(langue,3)) 'UTAD02_py', nompro
372 call utad02 ( iaux, nhpyra,
373 > phetpy, pfacpy, jaux, jaux,
375 > jaux, jaux, pcofay,
376 > jaux, jaux, parepy,
377 > ulsort, langue, codret )
383 c 2.3. ==> si le raffinement ou le deraffinement sont pilotes par un
384 c indicateur, recuperation de l'indicateur
393 if ( ( taopti(31).gt.0 .or. taopti(32).gt.0 ) .and.
394 > taopti(37).eq.0 ) then
396 c 2.3.1. ==> la situation actuelle
398 if ( codret.eq.0 ) then
400 #ifdef _DEBUG_HOMARD_
401 write (ulsort,texte(langue,3)) 'DEINI0', nompro
403 call deini0 ( nohind, typind, ncmpin,
406 > nbvtet, nbvhex, nbvpyr, nbvpen,
407 > adnoin, adnorn, adnosu,
408 > adarin, adarrn, adarsu,
409 > adtrin, adtrrn, adtrsu,
410 > adquin, adqurn, adqusu,
411 > adtein, adtern, adtesu,
412 > adhein, adhern, adhesu,
413 > adpyin, adpyrn, adpysu,
414 > adpein, adpern, adpesu,
415 > ulsort, langue, codret )
419 c 2.3.2. ==> complement eventuels
421 if ( codret.eq.0 ) then
423 #ifdef _DEBUG_HOMARD_
424 write (ulsort,texte(langue,3)) 'DEINI2', nompro
426 call deini2 ( nohind, typind, ncmpin,
428 > nbvtet, nbvhex, nbvpyr,
429 > adquin, adqurn, adqusu,
430 > adhein, adhern, adhesu,
431 > ulsort, langue, codret )
437 #ifdef _DEBUG_HOMARD_
438 write (ulsort,90002) 'nbvnoe', nbvnoe
439 write (ulsort,90002) 'nbvare', nbvare
440 write (ulsort,90002) 'nbvtri', nbvtri
441 write (ulsort,90002) 'nbvqua', nbvqua
442 write (ulsort,90002) 'nbvtet', nbvtet
443 write (ulsort,90002) 'nbvhex', nbvhex
444 write (ulsort,90002) 'nbvpyr', nbvpyr
445 write (ulsort,90002) 'nbvpen', nbvpen
449 c 3. Transfert de l'indicateur s'il est defini par maille
450 c Remarque : on suppose que s'il est defini sur les noeuds, il ne
451 c peut pas avoir de valeurs sur les mailles
453 #ifdef _DEBUG_HOMARD_
454 write (ulsort,90002) '3. Transfert ; codret', codret
457 if ( nbvnoe.eq.0 ) then
459 c 3.1. ==> Indicateur pris en valeur relative
461 if ( taopti(8).eq.2 ) then
463 if ( codret.eq.0 ) then
465 #ifdef _DEBUG_HOMARD_
466 write (ulsort,texte(langue,3)) 'DECFS0', nompro
468 call decfs0 ( imem(phettr), imem(pfiltr),
469 > imem(phetqu), imem(pfilqu),
470 > imem(phette), imem(pfilte),
471 > imem(phethe), imem(pfilhe), imem(adhes2),
472 > imem(phetpe), imem(pfilpe), imem(adpes2),
475 > rmem(adtrrn), imem(adtrsu),
476 > rmem(adqurn), imem(adqusu),
477 > rmem(adtern), imem(adtesu),
478 > rmem(adhern), imem(adhesu),
479 > rmem(adpyrn), imem(adpysu),
480 > rmem(adpern), imem(adpesu),
481 > ulsort, langue, codret )
485 c 3.2. ==> Indicateur pris en valeur absolue : norme L2 ou infinie
489 if ( codret.eq.0 ) then
491 #ifdef _DEBUG_HOMARD_
492 write (ulsort,texte(langue,3)) 'DECFS1', nompro
494 call decfs1 ( imem(phettr), imem(pfiltr),
495 > imem(phetqu), imem(pfilqu),
496 > imem(phette), imem(pfilte),
497 > imem(phethe), imem(pfilhe), imem(adhes2),
498 > imem(phetpe), imem(pfilpe), imem(adpes2),
501 > rmem(adtrrn), imem(adtrsu),
502 > rmem(adqurn), imem(adqusu),
503 > rmem(adtern), imem(adtesu),
504 > rmem(adhern), imem(adhesu),
505 > rmem(adpyrn), imem(adpysu),
506 > rmem(adpern), imem(adpesu),
507 > ulsort, langue, codret )
516 c 4. mise a jour de certaines donnees concernant le maillage
518 #ifdef _DEBUG_HOMARD_
519 write (ulsort,90002) '4. mise a jour ; codret', codret
520 write (ulsort,90002) 'nbnoto', nbnoto
521 write (ulsort,90002) 'nbarto', nbarto
522 write (ulsort,90002) 'nbnoto, nbnop1, nbnop2',
523 > nbnoto, nbnop1, nbnop2
526 if ( codret.eq.0 ) then
528 #ifdef _DEBUG_HOMARD_
529 write (ulsort,texte(langue,3)) 'DESMAJ', nompro
531 call desmaj ( nhnoeu, nharet, nhtria, nhquad,
532 > nhtetr, nhhexa, nhpyra, nhpent,
534 > ulsort, langue, codret )
536 #ifdef _DEBUG_HOMARD_
537 write (ulsort,90015) 'nancno', nancno, ' ==> nbnoto', nbnoto
538 write (ulsort,90015) 'nancar', nancar, ' ==> nbarto', nbarto
539 write (ulsort,90015) 'nanctr', nanctr, ' ==> nbtrto', nbtrto
540 write (ulsort,90015) 'nancqu', nancqu, ' ==> nbquto', nbquto
541 write (ulsort,99001) 'afaire', afaire
546 c 5. Gestion des tableaux dont la taille a ete modifiee
547 c Attention : il faut commencer par les noeuds car on a besoin
548 c de la structure complete du maillage pour les renumerotations
550 #ifdef _DEBUG_HOMARD_
551 write (ulsort,90002) '5. tableaux ; codret', codret
552 write (ulsort,90002) 'nancno', nancno
553 write (ulsort,90002) 'nbnoto', nbnoto
556 c 5.1. ==> Les noeuds
557 #ifdef _DEBUG_HOMARD_
558 write (ulsort,90002) '5.1 degre 2 ; codret', codret
561 c 5.1.1. ==> Renumerotation eventuelle
563 if ( nancno.ne.nbnoto ) then
565 c 5.1.1.1. ==> Les tableaux
569 if ( codret.eq.0 ) then
571 call gmalot ( ndisno, 'entier ', nancno, pdisno, codre1 )
572 call gmaloj ( nhnoeu//'.Deraffin', ' ',
573 > nancno, pancno, codre2 )
575 call gmalot ( nnouno, 'entier ', iaux, pnouno, codre3 )
577 codre0 = min ( codre1, codre2, codre3 )
578 codret = max ( abs(codre0), codret,
579 > codre1, codre2, codre3 )
584 if ( ( taopti(31).gt.0 .or. taopti(32).gt.0 ) .and.
585 > taopti(37).eq.0 ) then
587 if ( typind.eq.2 ) then
592 call gmobal ( nohind//'.Noeud.'//saux08, codre0 )
593 if ( codre0.eq.2 ) then
594 call gmadoj ( nohind//'.Noeud.'//saux08,
595 > jaux, iaux, codre0 )
596 codret = max (codret, abs(codre0) )
602 c 5.1.1.2. ==> La renumerotation des tableaux lies aux noeuds
603 #ifdef _DEBUG_HOMARD_
604 write (ulsort,90002) '5.1.1.2 Renumerotation ; codret', codret
607 if ( codret.eq.0 ) then
609 #ifdef _DEBUG_HOMARD_
610 write (ulsort,texte(langue,3)) 'DECFS2', nompro
612 call decfs2 ( imem(pdisno), imem(pancno), imem(pnouno),
613 > imem(phetno), imem(pfamno), imem(pareno),
614 > imem(adhono), rmem(pcoono),
615 > imem(pnp2ar), imem(psomar),
617 > imem(phetqu), imem(parequ), imem(pfilqu),
618 > imem(ptrite), imem(pcotrt), imem(parete),
619 > imem(phethe), imem(pfilhe), imem(adhes2),
620 > imem(pfacpy), imem(pcofay), imem(parepy),
621 > imem(phetpe), imem(pfilpe), imem(adpes2),
622 > iaux, imem(jaux), rmem(jaux),
623 > ulsort, langue, codret )
627 c 5.1.1.3. ==> Le menage
628 #ifdef _DEBUG_HOMARD_
629 write (ulsort,90002) '5.1.1.3 Menage ; codret', codret
632 if ( codret.eq.0 ) then
634 call gmlboj ( ndisno, codre1 )
635 call gmlboj ( nnouno, codre2 )
637 codre0 = min ( codre1, codre2 )
638 codret = max ( abs(codre0), codret,
647 c 5.1.2. ==> Raccourcissement des tableaux
648 #ifdef _DEBUG_HOMARD_
649 write (ulsort,90002) '5.1.2 Raccourcissement ; codret', codret
650 write (ulsort,90002) 'nancno', nancno
651 write (ulsort,90002) 'nbnoto', nbnoto
652 write (ulsort,90002) 'nancar', nancar
653 write (ulsort,90002) 'nbarto', nbarto
656 if ( codret.eq.0 ) then
659 if ( homolo.ge.1 ) then
666 #ifdef _DEBUG_HOMARD_
667 write (ulsort,texte(langue,3)) 'UTAD05', nompro
669 call utad05 ( iaux, jaux, nhnoeu,
670 > nancno, nbnoto, sdim,
673 > pcoono, pareno, adhono, pancno,
674 > ulsort, langue, codret )
676 call gmecat ( nhnoeu, 1, nbnoto, codre0 )
678 codret = max ( abs(codre0), codret )
680 #ifdef _DEBUG_HOMARD_
681 write (ulsort,90002) '5.1.2 nohind ; codret', codret
684 if ( ( taopti(31).gt.0 .or. taopti(32).gt.0 ) .and.
685 > taopti(37).eq.0 ) then
687 if ( typind.eq.2 ) then
692 call gmobal ( nohind//'.Noeud.'//saux08, codre0 )
693 if ( codre0.eq.2 ) then
694 call gmmod ( nohind//'.Noeud.'//saux08,
695 > jaux, nancno, nbnoto, ncmpin, ncmpin, codre0 )
696 codret = max ( abs(codre0), codret )
698 if ( typind.eq.2 ) then
708 #ifdef _DEBUG_HOMARD_
709 write (ulsort,texte(langue,6)) 'noeuds'
710 write (ulsort,texte(langue,8)) codret
713 c 5.2. ==> Suppression des fils de mise en conformite
714 #ifdef _DEBUG_HOMARD_
715 write (ulsort,90002) '5.2 Suppression fils ; codret', codret
718 if ( codret.eq.0 ) then
719 call gmobal ( nhhexa//'.InfoSup2', codre0 )
720 if ( codre0.eq.2 ) then
721 call gmlboj ( nhhexa//'.InfoSup2', codret )
725 if ( codret.eq.0 ) then
726 call gmobal ( nhpent//'.InfoSup2', codre0 )
727 if ( codre0.eq.2 ) then
728 call gmlboj ( nhpent//'.InfoSup2', codret )
732 if ( codret.eq.0 ) then
733 call gmobal ( nhtetr//'.InfoSup2', codre0 )
734 if ( codre0.eq.2 ) then
735 call gmlboj ( nhtetr//'.InfoSup2', codret )
739 if ( codret.eq.0 ) then
740 call gmobal ( nhpyra//'.InfoSup2', codre0 )
741 if ( codre0.eq.2 ) then
742 call gmlboj ( nhpyra//'.InfoSup2', codret )
746 if ( codret.eq.0 ) then
748 #ifdef _DEBUG_HOMARD_
749 write (ulsort,texte(langue,3)) 'DECFS3', nompro
751 call decfs3 ( imem(phettr), imem(pfiltr),
752 > imem(phetqu), imem(pfilqu),
753 > imem(phette), imem(pfilte),
754 > imem(phethe), imem(pfilhe),
755 > imem(phetpe), imem(pfilpe),
756 > ulsort, langue, codret )
760 c 5.3. ==> Redimensionnement des tableaux du maillage
761 c On detruit les objets de tailles nulles
762 #ifdef _DEBUG_HOMARD_
763 write (ulsort,90002) '5.3. Redim maillage ; codret', codret
764 write (ulsort,90002) 'nbtrto, nanctr', nbtrto, nanctr
765 write (ulsort,90002) 'nbquto, nancqu', nbquto, nancqu
766 write (ulsort,90002) 'nbteto, nancte', nbteto, nancte
767 write (ulsort,90002) 'nbheto, nanche', nbheto, nanche
768 write (ulsort,90002) 'nbpyto, nancpy', nbpyto, nancpy
769 write (ulsort,90002) 'nbpeto, nancpe', nbpeto, nancpe
772 if ( codret.eq.0 ) then
776 if ( nbtrto.ne.0 .or. nanctr.ne.0 ) then
781 if ( nbquto.ne.0 .or. nancqu.ne.0 ) then
786 if ( nbteto.ne.0 .or. nancte.ne.0 ) then
791 if ( nbheto.ne.0 .or. nanche.ne.0 ) then
796 if ( nbpyto.ne.0 .or. nancpy.ne.0 ) then
801 if ( nbpeto.ne.0 .or. nancpe.ne.0 ) then
806 #ifdef _DEBUG_HOMARD_
807 write (ulsort,90002) 'nbtran', nbtran
808 write (ulsort,90002) 'nbquan', nbquan
809 write (ulsort,90002) 'nbtean', nbtean
810 write (ulsort,90002) 'nbhean', nbhean
811 write (ulsort,90002) 'nbpyan', nbpyan
812 write (ulsort,90002) 'nbpean', nbpean
814 #ifdef _DEBUG_HOMARD_
815 write (ulsort,texte(langue,3)) 'UTAD98', nompro
817 call utad98 ( nomail, iaux, jaux,
821 > nbtean, nbteto, nancta, kaux,
822 > nbhean, nbheto, nancha, kaux,
823 > nbpyan, nbpyto, nancya, kaux,
824 > nbpean, nbpeto, nancpa, kaux,
825 > phetar, psomar, pfilar, pmerar, pancar,
827 > phettr, paretr, pfiltr, ppertr, panctr,
828 > pnivtr, adpetr, adnmtr, adhotr,
829 > phetqu, parequ, pfilqu, pperqu, pancqu,
830 > pnivqu, adhequ, adnmqu, adhoqu,
831 > phette, ptrite, pcotrt, parete,
832 > pfilte, pperte, pancte,
833 > phethe, pquahe, pcoquh, parehe,
834 > pfilhe, pperhe, panche, adnmhe,
835 > phetpy, pfacpy, pcofay, parepy,
836 > pfilpy, pperpy, pancpy,
837 > phetpe, pfacpe, pcofap, parepe,
838 > pfilpe, pperpe, pancpe,
839 > pfamar, pfamtr, pfamqu,
840 > pfamte, pfamhe, pfampy, pfampe,
841 > ulsort, langue, codret )
845 c 5.4. ==> si le raffinement ou le deraffinement sont pilotes par un
846 c indicateur, suppression des structures inutiles
847 #ifdef _DEBUG_HOMARD_
848 write (ulsort,90002) '5.4. suppression ; codret', codret
851 if ( ( taopti(31).gt.0 .or. taopti(32).gt.0 ) .and.
852 > taopti(37).eq.0 ) then
854 if ( codret.eq.0 ) then
856 #ifdef _DEBUG_HOMARD_
857 write (ulsort,texte(langue,3)) 'DEINI3', nompro
859 call deini3 ( nohind,
861 > nbvtet, nbvhex, nbvpyr, nbvpen,
862 > ulsort, langue, codret )
869 c 6. determination des voisinages
871 #ifdef _DEBUG_HOMARD_
872 write (ulsort,90002) '6. voisinage ; codret', codret
875 if ( codret.eq.0 ) then
882 #ifdef _DEBUG_HOMARD_
883 write (ulsort,texte(langue,3)) 'UTVOIS', nompro
885 call utvois ( nomail, nhvois,
886 > voarno, vofaar, vovoar, vovofa,
888 > nbfaar, pposif, pfacar,
889 > ulsort, langue, codret )
891 #ifdef _DEBUG_HOMARD_
892 write (ulsort,90002) 'Apres 6. voisinages : codret', codret
901 c 7.1. ==> message si erreur
903 if ( codret.ne.0 ) then
907 write (ulsort,texte(langue,1)) 'Sortie', nompro
908 write (ulsort,texte(langue,2)) codret
912 c 7.2. ==> fin des mesures de temps de la section
916 #ifdef _DEBUG_HOMARD_
917 write (ulsort,texte(langue,1)) 'Sortie', nompro
921 c=======================================================================
923 c=======================================================================