C NURENU    SOURCE    CHAT      06/03/29    21:28:46     5360
C
      SUBROUTINE NURENU(IDE,ITRNOE,NBNMAX,ITRTRI,NBCMAX,NOETRI,
     >                   NOEMAX,NBE,NUM,ITRAMA,iarr)
C     *****************************************************************
C     OBJET : RENUMEROTE LES ELEMENTS D'UN MAILLAGE
C     EN ENTREE:
C      IDE    :  (1..3) DIMENSION DES ELEMENTS
C      ITRNOE:  LES NOEUDS DES ELEMENTS
C      NBNMAX :  (2..8) NOMBRE DE NOEUDS MAXIMUM DES ELEMENTS
C      ITRTRI:  LES VOISINS DES ELEMENTS
C      NBCMAX :  (2..6) NOMBRE DE COTES MAXIMUM DES ELEMENTS
C      NOEMAX: SI NOEMAX = 0 ALORS NOETRI N'EST PAS CONSIDERE
C      NBE    :  NOMBRE D'ELEMENTS DU MAILLAGE
C       NUM    : NUM(I) EST NUMERO DE ELEMENTS QUI DOIT ETRE MIS EN I
C       ITRAMA        : "    "   "    "  DE TAILLE = NBE
C     EN SORTIE:
C       ITRNOE: MIS A JOUR
C       ITRTRI: MIS A JOUR
C       NOETRI : MIS A JOUR
C     CONDITION D'APPLICATION : TOUT MAILLAGE
C     REMARQUE : COPIE DE IORDRE DE S.M. TIJANI
C     *****************************************************************
      IMPLICIT INTEGER(I-N)
      INTEGER    IDE,ITRNOE(*),NBNMAX,ITRTRI(*),NBCMAX,NOETRI(*),NBE
      INTEGER    NOEMAX, NUM(*), ITRAMA(*), iarr
C
C     ---- COPIE DE IORDRE (S.M.TIJANI )----
C
      INTEGER I,LI,MI
C
C     ON N'A RIEN A FAIRE
C
      iarr = 0
      IF(NBE.LE.1) GOTO 9999
C
C     PERMUTATION M INVERSE DE L :
C
      DO 10 I=1,NBE
        ITRAMA(NUM(I))=I
   10 CONTINUE
C
C     IMPOSER A NARG L'ORDRE DEFINI PAR L.
C     LES TABLEAUX L ET M SONT CASSES.
C
      DO 20 I=1,NBE
        LI=NUM(I)
        MI=ITRAMA(I)
        CALL NUPERM(IDE,ITRNOE,NBNMAX,ITRTRI,NBCMAX,NOETRI,
     >                NOEMAX,NBE,I,LI,iarr)
        IF( iarr .LT. 0 )GO TO 9999
        NUM(MI)=LI
        ITRAMA(LI)=MI
   20 CONTINUE
C
C     RESTAURATION DES TABLEAUX L (INITIAL) ET M (SON INVERSE).
C
      DO 30 I=1,NBE
        LI=NUM(I)
        MI=ITRAMA(I)
        NUM(MI)=I
        ITRAMA(LI)=I
   30 CONTINUE
 9999 END



