Download nurenu.eso

Back to the list

   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