Télécharger inirpl.eso

Retour à la liste

Numérotation des lignes :

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

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