Télécharger g2copy.eso

Retour à la liste

Numérotation des lignes :

g2copy
  1. C G2COPY SOURCE CB215821 26/08/24 21:16:42 12622
  2. C
  3. C
  4. SUBROUTINE G2COPY(IGR1,NBCOL1,NBLIG1,IOP,
  5. > IGR2,NBCOL2,NBLIG2 )
  6. C **********************************************************************
  7. C OBJET G2COPY : COPIE ET REORIENTE UNE GRILLE
  8. C
  9. C EN ENTREE :
  10. C IGR1(NBCOL1,NBLIG1) : TABLEAU D'INDICES DES NOEUDS (LA GRILLE)
  11. C
  12. C IOP :CODE DONNANT LA TRANSFORMATION A APPLIQUER A LA GRILLE
  13. C -1 = INVERSION DES LIGNES ET DES COLONNES
  14. C (1,2,3,4) = LES 4 ROTATIONS :
  15. C 1 = IDENTITE (COPIE SIMPLE)
  16. C 2 = (1,1) DOIT PASSER EN (NBCOL,1)
  17. C 3 = (1,1) DOIT PASSER EN (NBCOL,NBLIG)
  18. C 4 = (1,1) DOIT PASSER EN (1,NBLIG)
  19. C
  20. C EN SORTIE :
  21. C IGR2(NBCOL2,NBLIG2) : TABLEAU D'INDICES DES NOEUDS (LA GRILLE)
  22. C
  23. C **********************************************************************
  24. IMPLICIT INTEGER(I-N)
  25. INTEGER IGR1(*),NBCOL1,NBLIG1
  26. INTEGER IOP
  27. INTEGER IGR2(*),NBCOL2,NBLIG2
  28. C
  29. INTEGER I1,I2,J1,J2
  30. C
  31. GOTO (50,100,150,200) IOP
  32. C
  33. C ---- (-1) INVERSION DES LIGNES ET DES COLONNES ---
  34. C
  35. NBLIG2 = NBCOL1
  36. NBCOL2 = NBLIG1
  37. DO 10000 I2=1,NBCOL2
  38. DO 30 J2=1,NBLIG2
  39. I1 = J2
  40. J1 = I2
  41. IGR2((J2-1)*NBCOL2+I2) = IGR1((J1-1)*NBCOL1+I1)
  42. 20 CONTINUE
  43. 30 CONTINUE
  44. 10000 CONTINUE
  45. GOTO 9999
  46. C
  47. C ---- (1) IDENTITE : COPIE SIMPLE ---
  48. C
  49. 50 NBLIG2 = NBLIG1
  50. NBCOL2 = NBCOL1
  51. DO 70 I2=1,NBCOL2
  52. DO 60 J2=1,NBLIG2
  53. I1 = I2
  54. J1 = J2
  55. IGR2((J2-1)*NBCOL2+I2) = IGR1((J1-1)*NBCOL1+I1)
  56. 60 CONTINUE
  57. 70 CONTINUE
  58. GOTO 9999
  59. C
  60. C ---- (2) I2 = J1, J2 = -I1 ---
  61. C
  62. 100 NBLIG2 = NBCOL1
  63. NBCOL2 = NBLIG1
  64. DO 120 I2=1,NBCOL2
  65. DO 110 J2=1,NBLIG2
  66. I1 = NBCOL1+1-J2
  67. J1 = I2
  68. IGR2((J2-1)*NBCOL2+I2) = IGR1((J1-1)*NBCOL1+I1)
  69. 110 CONTINUE
  70. 120 CONTINUE
  71. GOTO 9999
  72. C
  73. C ---- (3) I2 = -I1, J2 = -J1 ---
  74. C
  75. 150 NBLIG2 = NBLIG1
  76. NBCOL2 = NBCOL1
  77. DO 170 I2=1,NBCOL2
  78. DO 160 J2=1,NBLIG2
  79. I1 = NBCOL1+1-I2
  80. J1 = NBLIG1+1-J2
  81. IGR2((J2-1)*NBCOL2+I2) = IGR1((J1-1)*NBCOL1+I1)
  82. 160 CONTINUE
  83. 170 CONTINUE
  84. GOTO 9999
  85. C
  86. C ---- (4) I2 = -J1, J2 = I1 ---
  87. C
  88. 200 NBLIG2 = NBCOL1
  89. NBCOL2 = NBLIG1
  90. DO 220 I2=1,NBCOL2
  91. DO 210 J2=1,NBLIG2
  92. I1 = J2
  93. J1 = NBLIG1+1-I2
  94. IGR2((J2-1)*NBCOL2+I2) = IGR1((J1-1)*NBCOL1+I1)
  95. 210 CONTINUE
  96. 220 CONTINUE
  97. GOTO 9999
  98. C
  99. 9999 END
  100.  
  101.  
  102.  
  103.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales