1 : C NURENU SOURCE CHAT 06/03/29 21:28:46 5360 2 : C 3 : SUBROUTINE NURENU(IDE,ITRNOE,NBNMAX,ITRTRI,NBCMAX,NOETRI, 4 : > NOEMAX,NBE,NUM,ITRAMA,iarr) 5 : C ***************************************************************** 6 : C OBJET : RENUMEROTE LES ELEMENTS D'UN MAILLAGE 7 : C EN ENTREE: 8 : C IDE : (1..3) DIMENSION DES ELEMENTS 9 : C ITRNOE: LES NOEUDS DES ELEMENTS 10 : C NBNMAX : (2..8) NOMBRE DE NOEUDS MAXIMUM DES ELEMENTS 11 : C ITRTRI: LES VOISINS DES ELEMENTS 12 : C NBCMAX : (2..6) NOMBRE DE COTES MAXIMUM DES ELEMENTS 13 : C NOEMAX: SI NOEMAX = 0 ALORS NOETRI N'EST PAS CONSIDERE 14 : C NBE : NOMBRE D'ELEMENTS DU MAILLAGE 15 : C NUM : NUM(I) EST NUMERO DE ELEMENTS QUI DOIT ETRE MIS EN I 16 : C ITRAMA : " " " " DE TAILLE = NBE 17 : C EN SORTIE: 18 : C ITRNOE: MIS A JOUR 19 : C ITRTRI: MIS A JOUR 20 : C NOETRI : MIS A JOUR 21 : C CONDITION D'APPLICATION : TOUT MAILLAGE 22 : C REMARQUE : COPIE DE IORDRE DE S.M. TIJANI 23 : C ***************************************************************** 24 : IMPLICIT INTEGER(I-N) 25 : INTEGER IDE,ITRNOE(*),NBNMAX,ITRTRI(*),NBCMAX,NOETRI(*),NBE 26 : INTEGER NOEMAX, NUM(*), ITRAMA(*), iarr 27 : C 28 : C ---- COPIE DE IORDRE (S.M.TIJANI )---- 29 : C 30 : INTEGER I,LI,MI 31 : C 32 : C ON N'A RIEN A FAIRE 33 : C 34 : iarr = 0 35 : IF(NBE.LE.1) GOTO 9999 36 : C 37 : C PERMUTATION M INVERSE DE L : 38 : C 39 : DO 10 I=1,NBE 40 : ITRAMA(NUM(I))=I 41 : 10 CONTINUE 42 : C 43 : C IMPOSER A NARG L'ORDRE DEFINI PAR L. 44 : C LES TABLEAUX L ET M SONT CASSES. 45 : C 46 : DO 20 I=1,NBE 47 : LI=NUM(I) 48 : MI=ITRAMA(I) 48 : CALL NUPERM(IDE,ITRNOE,NBNMAX,ITRTRI,NBCMAX,NOETRI, 49 : > NOEMAX,NBE,I,LI,iarr) 50 : IF( iarr .LT. 0 )GO TO 9999 51 : NUM(MI)=LI 52 : ITRAMA(LI)=MI 53 : 20 CONTINUE 54 : C 55 : C RESTAURATION DES TABLEAUX L (INITIAL) ET M (SON INVERSE). 56 : C 57 : DO 30 I=1,NBE 58 : LI=NUM(I) 59 : MI=ITRAMA(I) 60 : NUM(MI)=I 61 : ITRAMA(LI)=I 62 : 30 CONTINUE 63 : 9999 END 64 : 65 : 66 :
© Cast3M 2003 - All rights reserved.
Disclaimer