Télécharger inirpm.eso

Retour à la liste

Numérotation des lignes :

inirpm
  1. C INIRPM SOURCE PV 20/09/26 21:17:27 10724
  2. SUBROUTINE INIRPM(IMAT,
  3. $ RPMAT,
  4. $ IMPR,IRET)
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8 (A-H,O-Z)
  7. C***********************************************************************
  8. C NOM : INIRPM
  9. C DESCRIPTION : Ensemble de matrices élémentaires n-partitionné => liste
  10. C d'entiers de dim. n+1 permettant le repérage "global"
  11. C des matrices élémentaires.
  12. C
  13. C Renvoie une liste d'entiers qui permet le
  14. C repérage des matrices élémentaires dans IMAT.
  15. C nbsous=imat.lizafm(/1)
  16. C RPMAT a pour dimension : (nbsous +1)
  17. C RPMAT(i) numéro de la 1ere matrice élémentaire
  18. C de lizafm(i).
  19. C RPMAT(nbsous+1)=nombre de matrice élémentaires
  20. C de imat+1
  21. C LANGAGE : ESOPE
  22. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF)
  23. C mél : gounand@semt2.smts.cea.fr
  24. C***********************************************************************
  25. C APPELES (ESOPE) : OOOETA
  26. C APPELE PAR : ELELMA
  27. C***********************************************************************
  28. C ENTREES : IMAT
  29. C SORTIES : RPMAT
  30. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  31. C***********************************************************************
  32. C VERSION : v1, 28/05/99, version initiale
  33. C HISTORIQUE : v1, 28/05/99, création
  34. C HISTORIQUE :
  35. C HISTORIQUE :
  36. C***********************************************************************
  37. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  38. C en cas de modification de ce sous-programme afin de faciliter
  39. C la maintenance !
  40. C***********************************************************************
  41.  
  42. -INC PPARAM
  43. -INC CCOPTIO
  44. POINTEUR IMAT.IMATRI
  45. POINTEUR SOUMAT.IZAFM
  46. -INC SMLENTI
  47. INTEGER JG
  48. POINTEUR RPMAT.MLENTI
  49. *
  50. INTEGER IMPR,IRET
  51. *
  52. INTEGER MAETA,SMETA
  53. INTEGER NELCOU,INBSOU
  54. INTEGER NBEL ,NBSOUS
  55. *
  56. * Executable statements
  57. *
  58. IF (IMPR.GT.1) THEN
  59. WRITE(IOIMP,*) 'Entrée dans inirpm.eso'
  60. ENDIF
  61. NELCOU=1
  62. CALL OOOETA(IMAT,MAETA,IMOD)
  63. IF (MAETA.NE.1) SEGACT IMAT
  64. NBSOUS=IMAT.LIZAFM(/1)
  65. JG=NBSOUS+1
  66. SEGINI RPMAT
  67. DO 1 INBSOU=1,NBSOUS
  68. SOUMAT=IMAT.LIZAFM(INBSOU,1)
  69. CALL OOOETA(SOUMAT,SMETA,IMOD)
  70. IF (SMETA.NE.1) SEGACT SOUMAT
  71. RPMAT.LECT(INBSOU)=NELCOU
  72. NBEL=SOUMAT.AM(/1)
  73. NELCOU=NELCOU+NBEL
  74. IF (SMETA.NE.1) SEGDES SOUMAT
  75. 1 CONTINUE
  76. RPMAT.LECT(NBSOUS+1)=NELCOU
  77. IF (MAETA.NE.1) SEGDES IMAT
  78. SEGDES RPMAT
  79. *
  80. * Normal termination
  81. *
  82. IRET=0
  83. RETURN
  84. *
  85. * Format handling
  86. *
  87. *
  88. * Error handling
  89. *
  90. 9999 CONTINUE
  91. IRET=1
  92. WRITE(IOIMP,*) 'An error was detected in subroutine inirpm'
  93. RETURN
  94. *
  95. * End of subroutine INIRPM
  96. *
  97. END
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  

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