Télécharger prsloa.eso

Retour à la liste

Numérotation des lignes :

prsloa
  1. C PRSLOA SOURCE CHAT 05/01/13 02:35:35 5004
  2. SUBROUTINE PRSLOA(ADJAC,
  3. $ NEWNUM,
  4. $ IMPR,IRET)
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8 (A-H,O-Z)
  7. C***********************************************************************
  8. C NOM : PRSLOA
  9. C DESCRIPTION : Renumérotation d'un graphe par la méthode de SLOAN
  10. C
  11. C LANGAGE : ESOPE
  12. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF)
  13. C mél : gounand@semt2.smts.cea.fr
  14. C BIBLIO : @Article{,
  15. C author = {S. W. Sloan},
  16. C title = {A Fortran Program for Profile and Wavefront Reduction},
  17. C journal = {International Journal for Numerical Methods in Engineering},
  18. C year = {1989},
  19. C volume = {28},
  20. C pages = {2651-2679}
  21. C}
  22. C
  23. C***********************************************************************
  24. C APPELES : LABEL, PROFIL
  25. C APPELE PAR : RENUME
  26. C***********************************************************************
  27. C ENTREES : ADJAC
  28. C SORTIES : NEWNUM
  29. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  30. C***********************************************************************
  31. C VERSION : v1, 10/11/99, version initiale
  32. C HISTORIQUE : v1, 10/11/99, création
  33. C HISTORIQUE :
  34. C HISTORIQUE :
  35. C***********************************************************************
  36. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  37. C en cas de modification de ce sous-programme afin de faciliter
  38. C la maintenance !
  39. C***********************************************************************
  40.  
  41. -INC PPARAM
  42. -INC CCOPTIO
  43. -INC SMLENTI
  44. INTEGER JG
  45. POINTEUR IWORK.MLENTI
  46. POINTEUR NEWNUM.MLENTI
  47. *
  48. * Segment LSTIND (liste séquentielle indexée)
  49. *
  50. SEGMENT LSTIND
  51. INTEGER IDX(NBM+1)
  52. INTEGER IVAL(NBTVAL)
  53. ENDSEGMENT
  54. *
  55. * LISTE SEQUENTIELLE INDEXEE D'ENTIERS
  56. *
  57. * NBM : NOMBRE DE MULTIPLETS
  58. * NBTVAL : NOMBRE TOTAL DE VALEURS
  59. * IDX(I) : INDICE DE LA PREMIERE VALEUR DU IEME
  60. * MULTIPLET DANS LE TABLEAU IVAL
  61. * IVAL(IDX(I) -> IDX(I+1)-1) : VALEURS DU IEME MULTIPLET
  62. *
  63. *-INC SLSTIND
  64. POINTEUR ADJAC.LSTIND
  65. *
  66. INTEGER E2,NTOTPO
  67. INTEGER IMPR,IRET
  68. *
  69. * Executable statements
  70. *
  71. IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans prsloa'
  72. SEGACT ADJAC
  73. NTOTPO=ADJAC.IDX(/1)-1
  74. JG=NTOTPO
  75. SEGINI NEWNUM
  76. JG=(3*NTOTPO)+1
  77. SEGINI IWORK
  78. E2=ADJAC.IDX(NTOTPO+1)-1
  79. CALL LABEL(NTOTPO,E2,ADJAC.IVAL,ADJAC.IDX,
  80. $ NEWNUM.LECT,
  81. $ IWORK.LECT,
  82. $ IMPR,IRET)
  83. IF (IRET.NE.0) GOTO 9999
  84. SEGSUP IWORK
  85. SEGDES NEWNUM
  86. SEGDES ADJAC
  87. *
  88. * Normal termination
  89. *
  90. IRET=0
  91. RETURN
  92. *
  93. * Format handling
  94. *
  95. *
  96. * Error handling
  97. *
  98. 9999 CONTINUE
  99. IRET=1
  100. WRITE(IOIMP,*) 'An error was detected in subroutine prsloa'
  101. RETURN
  102. *
  103. * End of subroutine PRSLOA
  104. *
  105. END
  106.  
  107.  
  108.  
  109.  
  110.  

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