Download g2molg.eso

Back to the list

   1 : C G2MOLG    SOURCE    CHAT      05/01/13    00:14:39     5004           
   2 : C
   3 : 
   4 :       SUBROUTINE G2MOLG(IGR1,NBLIG1,NBCOL1,
   5 :      >                  NBAJ,INLGAJ,NBLGAJ,INDICE,INCREM,
   6 :      >                  IGR2,NBLIG2,NBCOL2)
   7 : C     **********************************************************************
   8 : C     OBJET G2MOCG : AJOUTE DES LIGNES D'INDICES A UNE GRILLE 
   9 : C
  10 : C     EN ENTREE   : 
  11 : C       IGR1(NBLIG1,NBCOL1) : LE TABLEAU INITIAL
  12 : C
  13 : C       NBAJ       : NOMBRE D'AJOUTS
  14 : C       INLGAJ()   : TABLEAU DES POSITIONS D'AJOUT
  15 : C       NBLGAJ(I)  : NOMBRE DE LIGNES A AJOUTER 
  16 : C                    AVANT INLGAJ(I) SI NEGATIF
  17 : C                    APRES INLGAJ(I) SI POSITIF
  18 : C
  19 : C       INDICE     : INDICE POUR REMPLIR LES NOUVELLES LIGNES
  20 : C       INCREM     : INCREMENT DE L'INDICE
  21 : C
  22 : C     EN SORTIE   :
  23 : C       IGR2(NBLIG2,NBCOL2) : LE TABLEAU AVEC LES LIGNES SUPPLEMENTAIRES
  24 : C
  25 : C     **********************************************************************
  26 :       IMPLICIT INTEGER(I-N)
  27 :       INTEGER IGR1(*),NBLIG1,NBCOL1
  28 :       INTEGER NBAJ,INLGAJ(*),NBLGAJ(*),INDICE,INCREM
  29 :       INTEGER IGR2(*),NBLIG2,NBCOL2
  30 : C
  31 :       INTEGER  ILGAJ,I,J,K,II,NBLG     
  32 : C
  33 :       NBLG = 0
  34 :       DO 10 I=1,NBAJ
  35 :         NBLG = NBLG + NBLGAJ(I)
  36 :    10 CONTINUE
  37 :       ILGAJ = 1
  38 :       NBCOL2 = NBCOL1
  39 :       NBLIG2 = NBLIG1+NBLG
  40 :       II = 1
  41 :       DO 50 I=1,NBLIG1
  42 : C
  43 : C       --- ON AJOUTE DES LIGNES AVANT ---
  44 : C
  45 :         IF( I.EQ. -INLGAJ(ILGAJ) )THEN
  46 :         DO 25 K=1,NBLGAJ(ILGAJ)
  47 :           DO 20 J = 1,NBCOL2
  48 :             IGR2((II-1)*NBCOL2+J) = INDICE
  49 :             INDICE = INDICE + INCREM
  50 :    20     CONTINUE
  51 :           II = II + 1
  52 :    25   CONTINUE
  53 :           ILGAJ = ILGAJ+1
  54 :         ENDIF
  55 : C
  56 :         DO 30 J=1,NBCOL1
  57 :           IGR2((II-1)*NBCOL2+J) = IGR1((I-1)*NBCOL1+J)
  58 :    30   CONTINUE  
  59 :         II = II + 1
  60 : C
  61 : C       --- ON AJOUTE DES LIGNES APRES ---
  62 : C
  63 :         IF( (NBAJ.GE.ILGAJ).AND.(I.EQ.INLGAJ(ILGAJ)) )THEN
  64 :         DO 45 K=1,NBLGAJ(ILGAJ)
  65 :           DO 40 J = 1,NBCOL2
  66 :             IGR2((II-1)*NBCOL2+J) = INDICE
  67 :             INDICE = INDICE + INCREM
  68 :    40     CONTINUE
  69 :           II = II + 1
  70 :    45   CONTINUE
  71 :           ILGAJ = ILGAJ+1
  72 :         ENDIF
  73 :    50 CONTINUE
  74 : C
  75 :  9999 END
  76 :  
  77 :  

© Cast3M 2003 - All rights reserved.
Disclaimer