Télécharger inirpl.eso

Retour à la liste

Numérotation des lignes :

inirpl
  1. C INIRPL SOURCE GOUNAND 25/04/30 21:15:07 12258
  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. SEGACT MAIL
  62. NBSOUS=MAX(1,MAIL.LISOUS(/1))
  63. JG=NBSOUS+1
  64. SEGINI RPMAIL
  65. DO 1 INBSOU=1,NBSOUS
  66. IF (NBSOUS.EQ.1) THEN
  67. SOUMAI=MAIL
  68. ELSE
  69. SOUMAI=MAIL.LISOUS(INBSOU)
  70. SEGACT SOUMAI
  71. ENDIF
  72. RPMAIL.LECT(INBSOU)=NELCOU
  73. NBEL=SOUMAI.NUM(/2)
  74. NELCOU=NELCOU+NBEL
  75. 1 CONTINUE
  76. RPMAIL.LECT(NBSOUS+1)=NELCOU
  77. *
  78. * Normal termination
  79. *
  80. IRET=0
  81. RETURN
  82. *
  83. * Format handling
  84. *
  85. *
  86. * Error handling
  87. *
  88. 9999 CONTINUE
  89. IRET=1
  90. WRITE(IOIMP,*) 'An error was detected in subroutine inirpl'
  91. RETURN
  92. *
  93. * End of subroutine INIRPL
  94. *
  95. END
  96.  
  97.  

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