1 subroutine eslmm2 ( idfmed, nomamd,
4 > degre, mailet, sdimca, nbmane, nbmail,
5 > nbmapo, nbsegm, nbtria, nbtetr,
6 > nbquad, nbhexa, nbpent, nbpyra,
7 > nbfmed, nbfmen, ngrouc,
8 > nbequi, nbeqno, nbeqmp, nbeqar,
10 > nbnoto, numano, numael,
11 > nunoex, fameno, coonca,
12 > numaex, fammai, noemai, typele,
13 > grfmpo, grfmta, grfmtb,
14 > nbpqt, infptr, inftll, inftbl,
15 > typrep, nomaxe, uniaxe,
19 > eqmapo, eqaret, eqtria, eqquad,
21 > ulsort, langue, codret )
22 c ______________________________________________________________________
26 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
28 c Version originale enregistree le 18 juin 1996 sous le numero 96036
29 c aupres des huissiers de justice Simart et Lavoir a Clamart
30 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
31 c aupres des huissiers de justice
32 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
34 c HOMARD est une marque deposee d'Electricite de France
40 c ______________________________________________________________________
42 c Entree-Sortie - Lecture du Maillage au format MED - phase 2
44 c remarque : on s'arrange pour que les mailles externes soient
45 c numerotees dans cet ordre :
49 c . les mailles-points
54 c ______________________________________________________________________
56 c . nom . e/s . taille . description .
57 c .____________________________________________________________________.
58 c . idfmed . e . 1 . unite logique du maillage d'entree .
59 c . nomamd . e . char64 . nom du maillage MED .
60 c . option . e . 1 . option de lecture du maillage .
61 c . . . . 1 : lecture integrale .
62 c . . . . 2 : uniquement les coordonnees des noeuds .
63 c . fameno . s . nbnoto . famille med des noeuds .
64 c . coonca . s . nbnoto . coordonnees des noeuds .
65 c . fammai . s . nbmail . famille med des mailles .
66 c . noemai . s . nbmail*. table de connectivite des mailles .
68 c . numaex . s . nbmail . numerotation des mailles en entree .
69 c . nunoex . s . nbnoto . numerotation des noeuds en entree .
71 c . grfmpo . s .nbfmed+1. pointeur des groupes des familles .
72 c . grfmta . s .10ngrouc. taille des groupes des familles .
73 c . grfmtb . s .10ngrouc. table des groupes des familles .
74 c . nbpqt . e . 1 . nombre de paquets des infos generales .
75 c . infptr . s . nbpqt+1. pointeur des informations generales .
76 c . inftll . s .nbpqt*10. tailles des caracteres des infos generales.
77 c . inftbl . s .nbpqt*10. tables en caracteres des infos generales .
78 c . . . . regroupees par paquets de 80 caracteres .
79 c . . . . pour gerer la conversion en pseudo-groupe .
80 c . . . . paquet 1 : 1 : 'NomCo' .
81 c . . . . 2/3, 4/5, 6/7 : nom coordonnees .
82 c . . . . 8 : nom du repere utilise .
83 c . . . . paquet 2 : 1 : 'UniteCo' .
84 c . . . . 2/3, 4/5, 6/7 : unite coord. .
85 c . . . . paquet 3 : titre (limite a 80 caracteres) .
86 c . . . . paquet 4 : 1 : 'NOMAMD' .
87 c . . . . 2-7 : nom du maillage .
88 c . typrep . e . 1 . type de repere .
89 c . nomaxe . e . 3 . nom des axes de coordonnees .
90 c . uniaxe . e . 3 . unite des axes de coordonnees .
91 c . numfam . s . nbfmed . numero des familles .
92 c . nomfam . s .10nbfmed. nom des familles .
93 c . numfam . s . nbfmed . numero des familles .
94 c . eqpntr . s .5*nbequi. 5i-4 : nombre de paires de noeuds pour .
95 c . . . . l'equivalence i .
96 c . . . . 5i-3 : idem pour les mailles-points .
97 c . . . . 5i-2 : idem pour les aretes .
98 c . . . . 5i-1 : idem pour les triangles .
99 c . . . . 5i : idem pour les quadrangles .
100 c . eqinfo . s .33nbequi. nom et description de chaque equivalence .
101 c . eqnoeu . s .2*nbeqno. liste des paires de noeuds equivalents avec.
102 c . . . . la convention : eqnoeu(i)<-->eqnoeu(i+1) .
103 c . eqmapo . s .2*nbeqmp. idem pour les points .
104 c . eqaret . s .2*nbeqar. idem pour les aretes .
105 c . eqtria . s .2*nbeqtr. idem pour les triangles .
106 c . eqquad . s .2*nbeqqu. idem pour les quadrangles .
107 c . tabaux . a . * . tableau auxiliaire entier .
108 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
109 c . langue . e . 1 . langue des messages .
110 c . . . . 1 : francais, 2 : anglais .
111 c . codret . es . 1 . code de retour des modules .
112 c . . . . 0 : pas de probleme .
113 c . . . . 1 : probleme .
114 c ______________________________________________________________________
117 c 0. declarations et dimensionnement
120 c 0.1. ==> generalites
126 parameter ( nompro = 'ESLMM2' )
139 integer degre, mailet, sdimca, nbmane
141 > nbmapo, nbsegm, nbtria, nbtetr,
142 > nbquad, nbhexa, nbpent, nbpyra,
143 > nbfmed, nbfmen, ngrouc,
144 > nbequi, nbeqno, nbeqmp, nbeqar, nbeqtr, nbeqqu
146 integer numano, numael
148 integer fameno(nbnoto)
149 integer fammai(nbmail), typele(nbmail)
150 integer numaex(nbmail), nunoex(nbnoto)
151 integer noemai(nbmail,nbmane)
153 integer grfmpo(0:nbfmed), grfmta(10*ngrouc)
154 integer numfam(nbfmed)
156 integer infptr(0:nbpqt), inftll(10*nbpqt)
157 integer eqpntr(5*nbequi)
158 integer eqnoeu(2*nbeqno)
159 integer eqmapo(2*nbeqmp), eqaret(2*nbeqar)
160 integer eqtria(2*nbeqtr), eqquad(2*nbeqqu)
165 character*8 grfmtb(10*ngrouc)
166 character*8 inftbl(10*nbpqt)
167 character*8 nomfam(10,nbfmed)
168 character*8 eqinfo(33*nbequi)
169 character*16 nomaxe(3), uniaxe(3)
173 double precision coonca(nbnoto,sdimca)
175 integer ulsort, langue, codret
177 c 0.4. ==> variables locales
182 integer iaux, jaux, kaux, laux, maux
183 integer typnoe, typpoi, typseg, typtri, typtet
184 integer typqua, typhex, typpyr, typpen
185 integer ibtetr, ibtria, ibsegm, ibmapo
186 integer ibquad, ibhexa, ibpyra, ibpent
187 integer codre1, codre2
190 integer adeqin, adeqno, adeqmp, adeqar, adeqtr, adeqqu
192 integer nstep, nctcor
198 parameter ( nbmess = 10 )
199 character*80 texte(nblang,nbmess)
200 c ______________________________________________________________________
209 #ifdef _DEBUG_HOMARD_
210 write (ulsort,texte(langue,1)) 'Entree', nompro
214 texte(1,4) = '(/,''REPERE NON PREVU ='',i4,/)'
216 texte(2,4) = '(/,''REPERE NON PREVU ='',i4,/)'
220 #ifdef _DEBUG_HOMARD_
221 write (ulsort,90002) 'option', option
228 c 2. grandeurs de base
233 if ( degre.eq.1 ) then
243 if ( mod(mailet,2).eq.0 ) then
249 if ( mod(mailet,3).eq.0 ) then
254 if ( mod(mailet,5).eq.0 ) then
265 ibsegm = nbtetr + nbtria + 1
266 ibmapo = nbtetr + nbtria + nbsegm + 1
267 ibquad = nbtetr + nbtria + nbsegm + nbmapo + 1
268 ibhexa = nbtetr + nbtria + nbsegm + nbmapo + nbquad + 1
269 ibpyra = nbtetr + nbtria + nbsegm + nbmapo + nbquad + nbhexa + 1
270 ibpent = nbtetr + nbtria + nbsegm + nbmapo + nbquad + nbhexa
274 c 4. les coordonnees des noeuds
275 c le tableau coonca est declare ainsi : coonca(nbnoto,sdimca).
276 c En fortran, cela correspond au stockage memoire suivant :
277 c coonca(1,1), coonca(2,1), coonca(3,1), ..., coonca(nbnoto,1),
278 c coonca(1,2), coonca(2,2), coonca(3,2), ..., coonca(nbnoto,2),
280 c coonca(1,sdimca), coonca(2,sdimca), ..., coonca(nbnoto,sdimca)
281 c on a ainsi toutes les abscisses, puis toutes les ordonnees, etc.
282 c C'est ce que MED appelle le mode non entrelace.
284 #ifdef _DEBUG_HOMARD_
285 write (ulsort,90002) '4. coordonnees ; codret', codret
290 if ( codret.eq.0 ) then
292 #ifdef _DEBUG_HOMARD_
293 write (ulsort,texte(langue,3)) 'ESLMNO', nompro
295 call eslmno ( idfmed, nomamd,
297 > nbnoto, sdimca, coonca, fameno,
298 > ulsort, langue, codret )
302 c 4.2. ==> archivages des informations generales
303 c Remarque : elles sont regroupees par paquets de
304 c 80 caracteres pour gerer la conversion en
305 c pseudo-groupe dans hom.med
306 c . paquet 1 : 1 : 'NomCo'
307 c 2/3, 4/5, 6/7 : nom coordonnees
308 c 8 : nom du repere utilise
309 c . paquet 2 : 1 : 'UniteCo'
310 c 2/3, 4/5, 6/7 : unite coordonnees
311 c . paquet 3 : titre (limite a 80 caracteres)
312 c . paquet 4 : 1 : 'NOMAMD'
313 c 2-7 : nom du maillage
314 #ifdef _DEBUG_HOMARD_
315 write (ulsort,90002) '4.2. ; codret', codret
318 if ( option.eq.1 ) then
323 do 4211 , iaux = 1, nbpqt
324 infptr(iaux) = infptr(iaux-1) + 10
327 do 4212 , iaux = 1, 10*nbpqt
329 inftbl(iaux) = blan08
332 c 4.2.2. ==> le systeme de coordonnees
334 c 4.2.2.1. ==> le type de repere
336 if ( codret.eq.0 ) then
338 call utench ( typrep, 'd', iaux, saux08,
339 > ulsort, langue, codret )
345 c 4.2.2.2. ==> noms et unites des coordonnees existantes
347 if ( codret.eq.0 ) then
349 inftbl( 1) = 'NomCo '
350 inftbl(11) = 'UniteCo '
352 do 4222 , iaux = 1 , sdimca
354 cgn write (ulsort,90064) iaux, 'nomaxe %'//nomaxe(iaux)//'%'
355 inftbl(2*iaux) = nomaxe(iaux)(1:8)
356 inftbl(2*iaux+1) = nomaxe(iaux)(9:16)
358 cgn write (ulsort,90064) iaux, 'uniaxe %'//uniaxe(iaux)//'%'
359 inftbl(10+2*iaux) = uniaxe(iaux)(1:8)
360 inftbl(11+2*iaux) = uniaxe(iaux)(9:16)
366 c 4.2.3. ==> le titre
367 #ifdef _DEBUG_HOMARD_
368 write (ulsort,90002) '4.2.3. ; codret', codret
371 if ( codret.eq.0 ) then
374 call utchs8 ( titre, iaux, inftbl(21),
375 > ulsort, langue, codret )
379 c 4.2.4. ==> le nom du maillage
380 #ifdef _DEBUG_HOMARD_
381 write (ulsort,90002) '4.2.4. ; codret', codret
384 if ( codret.eq.0 ) then
386 inftbl(31) = 'NOMAMD '
388 call utchs8 ( nomamd, iaux, inftbl(32),
389 > ulsort, langue, codret )
399 #ifdef _DEBUG_HOMARD_
400 write (ulsort,90002) '5. mailles ; codret', codret
403 if ( option.eq.1 ) then
407 c 5.1. ==> les tetraedres
409 if ( codret.eq.0 ) then
411 if ( nbtetr.gt.0 ) then
414 if ( degre.eq.1 ) then
419 #ifdef _DEBUG_HOMARD_
420 write (ulsort,texte(langue,3)) 'ESLMMB_te', nompro
422 call eslmmb ( idfmed, nomamd,
423 > iaux, edmail, typtet,
424 > ibtetr, nbtetr, jaux, nbmail, kaux,
428 > ulsort, langue, codret )
434 c 5.2. ==> les triangles
436 if ( codret.eq.0 ) then
438 if ( nbtria.gt.0 ) then
441 if ( degre.eq.1 ) then
444 if ( mod(mailet,2).eq.0 ) then
450 #ifdef _DEBUG_HOMARD_
451 write (ulsort,texte(langue,3)) 'ESLMMB_tr', nompro
453 call eslmmb ( idfmed, nomamd,
454 > iaux, edmail, typtri,
455 > ibtria, nbtria, jaux, nbmail, kaux,
459 > ulsort, langue, codret )
465 c 5.3. ==> les segments
467 if ( codret.eq.0 ) then
469 if ( nbsegm.gt.0 ) then
472 if ( degre.eq.1 ) then
477 #ifdef _DEBUG_HOMARD_
478 write (ulsort,texte(langue,3)) 'ESLMMB_se', nompro
480 call eslmmb ( idfmed, nomamd,
481 > iaux, edmail, typseg,
482 > ibsegm, nbsegm, jaux, nbmail, kaux,
486 > ulsort, langue, codret )
492 c 5.4. ==> les mailles points
494 if ( codret.eq.0 ) then
496 if ( nbmapo.gt.0 ) then
500 #ifdef _DEBUG_HOMARD_
501 write (ulsort,texte(langue,3)) 'ESLMMB_mp', nompro
503 call eslmmb ( idfmed, nomamd,
504 > iaux, edmail, typpoi,
505 > ibmapo, nbmapo, jaux, nbmail, kaux,
509 > ulsort, langue, codret )
516 c 5.5. ==> les quadrangles
518 if ( codret.eq.0 ) then
520 if ( nbquad.gt.0 ) then
523 if ( degre.eq.1 ) then
526 if ( mod(mailet,3).eq.0 ) then
532 #ifdef _DEBUG_HOMARD_
533 write (ulsort,texte(langue,3)) 'ESLMMB_qu', nompro
535 call eslmmb ( idfmed, nomamd,
536 > iaux, edmail, typqua,
537 > ibquad, nbquad, jaux, nbmail, kaux,
541 > ulsort, langue, codret )
547 c 5.6. ==> les pyramides
549 if ( codret.eq.0 ) then
551 if ( nbpyra.gt.0 ) then
554 if ( degre.eq.1 ) then
559 #ifdef _DEBUG_HOMARD_
560 write (ulsort,texte(langue,3)) 'ESLMMB_py', nompro
562 call eslmmb ( idfmed, nomamd,
563 > iaux, edmail, typpyr,
564 > ibpyra, nbpyra, jaux, nbmail, kaux,
568 > ulsort, langue, codret )
574 c 5.7. ==> les hexaedres
576 if ( codret.eq.0 ) then
578 if ( nbhexa.gt.0 ) then
581 if ( degre.eq.1 ) then
584 if ( mod(mailet,3).eq.0 ) then
590 #ifdef _DEBUG_HOMARD_
591 write (ulsort,texte(langue,3)) 'ESLMMB_he', nompro
593 call eslmmb ( idfmed, nomamd,
594 > iaux, edmail, typhex,
595 > ibhexa, nbhexa, jaux, nbmail, kaux,
599 > ulsort, langue, codret )
605 c 5.8. ==> les pentaedres
607 if ( codret.eq.0 ) then
609 if ( nbpent.gt.0 ) then
612 if ( degre.eq.1 ) then
617 #ifdef _DEBUG_HOMARD_
618 write (ulsort,texte(langue,3)) 'ESLMMB_pe', nompro
620 call eslmmb ( idfmed, nomamd,
621 > iaux, edmail, typpen,
622 > ibpent, nbpent, jaux, nbmail, kaux,
626 > ulsort, langue, codret )
637 #ifdef _DEBUG_HOMARD_
638 write (ulsort,90002) '6. Familles ; codret', codret
641 if ( option.eq.1 ) then
643 if ( codret.eq.0 ) then
648 do 60 , jaux = 1, nbfmed
650 if ( codret.eq.0 ) then
652 c 6.1. ==> Lecture du nombre de groupes
656 #ifdef _DEBUG_HOMARD_
657 write (ulsort,texte(langue,3)) 'MFANFG', nompro
659 call mfanfg ( idfmed, nomamd, iaux, ngro, codre1 )
661 grfmpo(jaux) = grfmpo(iaux-1) + ngro*10
664 c . du nom de la famille (64)
665 c . du numero de la famille
666 c . des noms des groupes (80)
668 #ifdef _DEBUG_HOMARD_
669 write (ulsort,texte(langue,3)) 'MFAFAI', nompro
671 call mfafai ( idfmed, nomamd, iaux,
672 > saux64, numero, grfmtb(grfmpo(iaux-1)+1),
675 codre0 = min ( codre1, codre2 )
676 codret = max ( abs(codre0), codret,
681 c 6.3. ==> Stockage de la taille reelle des noms des groupes
683 if ( codret.eq.0 ) then
685 do 63 , kaux = 1 , ngro
687 do 631 , maux = 1 , 10
688 call utlgut ( laux, grfmtb(grfmpo(iaux-1)+10*(kaux-1)+maux),
689 > ulsort, langue, codret )
690 grfmta(grfmpo(iaux-1)+10*(kaux-1)+maux) = laux
695 c 6.4. ==> Stockage du numero et du nom de la famille
696 c Attention : on stocke sur 80 caracteres pour le futur
699 if ( numero.gt.0 ) then
703 numfam(iaux) = numero
705 call utlgut ( laux, saux64,
706 > ulsort, langue, codret )
708 do 64 , kaux = laux+1 , 64
709 saux64(kaux:kaux) = ' '
712 nomfam(1,jaux) = saux64( 1: 8)
713 nomfam(2,jaux) = saux64( 9:16)
714 nomfam(3,jaux) = saux64(17:24)
715 nomfam(4,jaux) = saux64(25:32)
716 nomfam(5,jaux) = saux64(33:40)
717 nomfam(6,jaux) = saux64(41:48)
718 nomfam(7,jaux) = saux64(49:56)
719 nomfam(8,jaux) = saux64(57:64)
727 #ifdef _DEBUG_HOMARD_
728 c 6.9. ==> impressions
730 if ( codret.eq.0 ) then
732 do 69 , iaux = 1, nbfmed
734 if ( codret.eq.0 ) then
736 numero = numfam(iaux)
738 ngro = ( grfmpo(iaux) - grfmpo(iaux-1) ) / 10
740 saux64( 1: 8) = nomfam(1,iaux)
741 saux64( 9:16) = nomfam(2,iaux)
742 saux64(17:24) = nomfam(3,iaux)
743 saux64(25:32) = nomfam(4,iaux)
744 saux64(33:40) = nomfam(5,iaux)
745 saux64(41:48) = nomfam(6,iaux)
746 saux64(49:56) = nomfam(7,iaux)
747 saux64(57:64) = nomfam(8,iaux)
750 do 692 , nummai = 1 , nbnoto
751 if ( fameno(nummai).eq.numero ) then
757 do 693 , nummai = 1 , nbmail
758 if ( fammai(nummai).eq.numero ) then
763 call utinfm ( numero, saux64,
764 > ngro, grfmtb(grfmpo(iaux-1)+1),
766 > ulsort, langue, codret )
779 c 7. les renumerotations
782 #ifdef _DEBUG_HOMARD_
783 write (ulsort,90002) '7. renumerotations ; codret', codret
786 if ( option.eq.1 ) then
788 if ( codret.eq.0 ) then
790 #ifdef _DEBUG_HOMARD_
791 write (ulsort,texte(langue,3)) 'ESLNUM', nompro
793 call eslnum ( idfmed, nomamd, degre,
795 > nbmapo, nbsegm, nbtria, nbtetr,
796 > nbquad, nbhexa, nbpent, nbpyra,
799 > ulsort, langue, codret )
807 c la convention de stockage MED des listes d'equivalences est que
808 c l'entite Liste(j) est associee a Liste(j+1)
811 #ifdef _DEBUG_HOMARD_
812 write (ulsort,90002) '8. equivalences ; codret', codret
815 if ( option.eq.1 ) then
817 if ( codret.eq.0 ) then
826 c par defaut, on n'a aucune equivalence
829 do 80 , iaux = 1, jaux
833 do 81 , iaux = 1, nbequi
835 c 8.1. ==> nom et description de l'equivalence numero iaux
837 if ( codret.eq.0 ) then
839 #ifdef _DEBUG_HOMARD_
840 write (ulsort,texte(langue,3)) 'MEQEQI', nompro
842 call meqeqi ( idfmed, nomamd, iaux,
843 > saux64, sau200, nstep, nctcor, codret )
847 if ( codret.eq.0 ) then
851 call utchs8 ( saux64, jaux*kaux, eqinfo(adeqin),
852 > ulsort, langue, codret )
853 adeqin = adeqin + jaux
857 if ( codret.eq.0 ) then
860 call utchs8 ( sau200, jaux*kaux, eqinfo(adeqin),
861 > ulsort, langue, codret )
862 adeqin = adeqin + jaux
866 c 8.2. ==> equivalence de noeuds
868 if ( codret.eq.0 ) then
869 #ifdef _DEBUG_HOMARD_
870 write (ulsort,texte(langue,3)) 'MEQCSZ_no', nompro
872 call meqcsz ( idfmed, nomamd, saux64, numdt, numit,
877 if ( jaux.ne.0 ) then
879 if ( codret.eq.0 ) then
880 #ifdef _DEBUG_HOMARD_
881 write (ulsort,texte(langue,3)) 'MEQCOR_no', nompro
883 call meqcor ( idfmed, nomamd, saux64, numdt, numit,
885 > eqnoeu(adeqno), codret )
888 eqpntr(5*iaux-4) = jaux
889 adeqno = adeqno + 2*jaux
893 c 8.3. ==> equivalence de mailles-points
895 if ( nbmapo.ne.0 ) then
897 if ( codret.eq.0 ) then
898 #ifdef _DEBUG_HOMARD_
899 write (ulsort,texte(langue,3)) 'MEQCSZ_mp', nompro
901 call meqcsz ( idfmed, nomamd, saux64, numdt, numit,
906 if ( jaux.ne.0 ) then
908 if ( codret.eq.0 ) then
909 call meqcor ( idfmed, nomamd, saux64, numdt, numit,
911 > eqmapo(adeqmp), codret )
914 eqpntr(5*iaux-3) = jaux
915 adeqmp = adeqmp + 2*jaux
921 c 8.4. ==> equivalence de segments
923 if ( nbsegm.ne.0 ) then
925 if ( codret.eq.0 ) then
926 #ifdef _DEBUG_HOMARD_
927 write (ulsort,texte(langue,3)) 'MEQCSZ_ar', nompro
929 call meqcsz ( idfmed, nomamd, saux64, numdt, numit,
934 if ( jaux.ne.0 ) then
936 if ( codret.eq.0 ) then
937 call meqcor ( idfmed, nomamd, saux64, numdt, numit,
939 > eqaret(adeqar), codret )
942 eqpntr(5*iaux-2) = jaux
943 adeqar = adeqar + 2*jaux
949 c 8.5. ==> equivalence de triangles
951 if ( nbtria.ne.0 ) then
953 if ( codret.eq.0 ) then
954 #ifdef _DEBUG_HOMARD_
955 write (ulsort,texte(langue,3)) 'MEQCSZ_tr', nompro
957 call meqcsz ( idfmed, nomamd, saux64, numdt, numit,
962 if ( jaux.ne.0 ) then
964 if ( codret.eq.0 ) then
965 call meqcor ( idfmed, nomamd, saux64, numdt, numit,
967 > eqtria(adeqtr), codret )
970 eqpntr(5*iaux-1) = jaux
971 adeqtr = adeqtr + 2*jaux
977 c 8.6. ==> equivalence de quadrangles
979 if ( nbquad.ne.0 ) then
981 if ( codret.eq.0 ) then
982 #ifdef _DEBUG_HOMARD_
983 write (ulsort,texte(langue,3)) 'MEQCSZ_qu', nompro
985 call meqcsz ( idfmed, nomamd, saux64, numdt, numit,
990 if ( jaux.ne.0 ) then
992 if ( codret.eq.0 ) then
993 call meqcor ( idfmed, nomamd, saux64, numdt, numit,
995 > eqquad(adeqqu), codret )
998 eqpntr(5*iaux ) = jaux
999 adeqqu = adeqqu + 2*jaux
1012 c 9. tableau des types
1015 #ifdef _DEBUG_HOMARD_
1016 write (ulsort,90002) '9. tableau des types ; codret', codret
1019 if ( option.eq.1 ) then
1021 if ( codret.eq.0 ) then
1023 jaux = ibtetr + nbtetr - 1
1024 do 91 , nummai = ibtetr, jaux
1025 typele(nummai) = typtet
1028 jaux = ibtria + nbtria - 1
1029 do 92 , nummai = ibtria, jaux
1030 typele(nummai) = typtri
1033 jaux = ibsegm + nbsegm - 1
1034 do 93 , nummai = ibsegm, jaux
1035 typele(nummai) = typseg
1038 jaux = ibmapo + nbmapo - 1
1039 do 94 , nummai = ibmapo, jaux
1040 typele(nummai) = typpoi
1043 jaux = ibquad + nbquad - 1
1044 do 95 , nummai = ibquad, jaux
1045 typele(nummai) = typqua
1048 jaux = ibhexa + nbhexa - 1
1049 do 96 , nummai = ibhexa, jaux
1050 typele(nummai) = typhex
1053 jaux = ibpyra + nbpyra - 1
1054 do 97 , nummai = ibpyra, jaux
1055 typele(nummai) = typpyr
1058 jaux = ibpent + nbpent - 1
1059 do 98 , nummai = ibpent, jaux
1060 typele(nummai) = typpen
1071 #ifdef _DEBUG_HOMARD_
1072 write (ulsort,90002) '10. la fin ; codret', codret
1075 if ( codret.ne.0 ) then
1079 write (ulsort,texte(langue,1)) 'Sortie', nompro
1080 write (ulsort,texte(langue,2)) codret
1084 #ifdef _DEBUG_HOMARD_
1085 write (ulsort,texte(langue,1)) 'Sortie', nompro