Télécharger g2orq4.eso

Retour à la liste

Numérotation des lignes :

  1. C G2ORQ4 SOURCE CHAT 06/03/29 21:22:09 5360
  2. C
  3. C
  4. SUBROUTINE G2ORQ4(ITRNOE,NBNMAX,ITRTRI,NBCMAX,NBE,
  5. > COORD,IDIMC,N1,VK,
  6. > ITVL,NTIMAX,
  7. > IGR,NBCOL,NBLIG,NGRMAX,ICOIN,iarr )
  8. C **********************************************************************
  9. C OBJET G2ORQ4 : CREATION D'UNE GRILLE ORIENTE A PARTIR D'UN MAILLAGE
  10. C
  11. C EN ENTREE :
  12. C ITRNOE,NBNMAX,ITRTRI,NBCMAX,NBE : LE MAILLAGE
  13. C COORD,IDIMC : TABLEAU DES POINTS ET DIMENSION
  14. C
  15. C N1 : NUMERO DU NOEUD QUE L'ON SOUHAITE POUR L'ORIGINE DE LA GRILLE
  16. C SI N1=0 ON N'IMPOSE PAS L'ORIGINE
  17. C VK : ORIENTATION DE LA GRILLE, DIRECTION SOUHAITE EN N1
  18. C SI IDIMC = 0, ON N'IMPOSE PAS D'ORIENTATION.
  19. C
  20. C ITVL(ITVMAX) : TABLEAU DE TRAVAIL (ENTIERS)
  21. C NTIMAX: TAILLE DU TABLEAU ITVL
  22. C ON A BESOIN DU TABLEAU DE TRAVAIL SEULEMENT SI ON CHANGE
  23. C SIMULTANEMENT L'ORIGINE ET L'ORIENTATION DU MAILLAGE.
  24. C LA PLACE NECESSAIRE EST ALORS DE : NBCOL*NBLIG = NBN
  25. C QUI EST TOUJOURS INFERIEUR A : 3 + 2*NBE
  26. C
  27. C IGR1 : TABLEAU DE LA GRILLE (A REMPLIR)
  28. C NGRMAX : TAILLE MAXIMUM DE IGR1
  29. C
  30. C EN SORTIE :
  31. C IGR(NBCOL,NBLIG) : TABLEAU D'INDICES DES NOEUDS (LA GRILLE)
  32. C ICOIN() : TABLEAU DONNANT LES INDICES DES COINS.
  33. C
  34. C **********************************************************************
  35. IMPLICIT INTEGER(I-N)
  36. INTEGER ITRNOE(*),NBNMAX,ITRTRI(*),NBCMAX,NBE
  37. INTEGER IGR(*),NBCOL,NBLIG,NGRMAX
  38. REAL*8 COORD(*),VK(*)
  39. INTEGER IDIMC,N1,ITVL(*),NTIMAX,ICOIN(*),iarr
  40. C
  41. INTEGER I
  42. C ----------------------
  43. C --- CALCUL DE LA GRILLE ---
  44. C ----------------------
  45. C
  46. CALL G2NOQ4( ITRNOE,NBNMAX,ITRTRI,NBCMAX,NBE,
  47. > IGR,NBCOL,NBLIG,NGRMAX,iarr)
  48. IF(iarr.NE.0)THEN
  49. CALL DSERRE(1,iarr,'G2ORQ4',' APPEL G2NOQ4')
  50. GOTO 9999
  51. ENDIF
  52. C
  53. C CALL G2COIN(NBCOL,NBLIG,ICOIN)
  54. ICOIN(1) = 1
  55. ICOIN(2) = NBCOL
  56. ICOIN(3) = NBCOL*NBLIG
  57. ICOIN(4) = NBCOL*NBLIG - NBCOL + 1
  58. DO 10 I=1,4
  59. ICOIN(I) = IGR(ICOIN(I))
  60. 10 CONTINUE
  61. IF( iarr.NE. 0 )THEN
  62. CALL DSERRE(1,iarr,'G2ORQ4',' APPEL G2COIN')
  63. GOTO 9999
  64. ENDIF
  65. C
  66. C --- ORIENTATION ---
  67. C
  68. CALL G2ORAC(IGR,NBCOL,NBLIG,COORD,IDIMC,N1,VK,
  69. > ITVL,NTIMAX,iarr )
  70. IF( iarr.NE. 0 )THEN
  71. CALL DSERRE(1,iarr,'G2ORQ4',' APPEL G2ORAC')
  72. GOTO 9999
  73. ENDIF
  74. C
  75. 9999 END
  76.  
  77.  
  78.  
  79.  

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