Télécharger resmik.eso

Retour à la liste

Numérotation des lignes :

resmik
  1. C RESMIK SOURCE PV 20/09/26 21:19:42 10724
  2. SUBROUTINE RESMIK (ICOLAC,ITLACC,IMAX1,IDEB)
  3.  
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6. C***********************************************************************
  7. C NOM : RESMIK
  8. C DESCRIPTION : Restauration des pointeurs dans les objets
  9. C de type MATRIK.
  10. C (appelé par restpi.eso)
  11. C
  12. C LANGAGE : ESOPE
  13. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF)
  14. C mél : gounand@semt2.smts.cea.fr
  15. C***********************************************************************
  16. C SYNTAXE GIBIANE : -
  17. C ENTREES : ICOLAC, chapeau sur les piles ITLACC
  18. C (une pour chaque type d'objets)
  19. C IDEB, IMAX1, indice de début et de fin
  20. C sur la pile d'objets MATRIK
  21. C ENTREES/SORTIES : ITLACC, la pile des objets MATRIK sur
  22. C lesquels on va restaurer des pointeurs
  23. C***********************************************************************
  24. C VERSION : v1, 15/07/98, version initiale
  25. C HISTORIQUE : v1, 15/07/98, création
  26. C HISTORIQUE :
  27. C HISTORIQUE :
  28. C***********************************************************************
  29. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  30. C en cas de modification de ce sous-programme afin de faciliter
  31. C la maintenance !
  32. C***********************************************************************
  33.  
  34. -INC PPARAM
  35. -INC CCOPTIO
  36. -INC TMCOLAC
  37. C
  38. C ************************* MATRIK ********************************
  39. C Pile des MELEME
  40. ITLAC1=KCOLA(1)
  41. C Pile des CHPOINT
  42. ITLAC2=KCOLA(2)
  43. C Pile des MATRIK
  44. ITLAC3=KCOLA(43)
  45. DO 1 IEL=IDEB,IMAX1
  46. MATRIK=ITLAC(IEL)
  47. IF (MATRIK.EQ.0) THEN
  48. WRITE(IOIMP,*) 'Failing to save a nil pointer'
  49. WRITE(IOIMP,*) 'MATRIK type object...'
  50. GOTO 9999
  51. ENDIF
  52. SEGACT MATRIK*MOD
  53. NMATRI=IRIGEL(/2)
  54. DO 11 I=1,NMATRI
  55. IVA=ABS(IRIGEL(1,I))
  56. IF (IVA.NE.0) IRIGEL(1,I)=ITLAC1.ITLAC(IVA)
  57. IVA=ABS(IRIGEL(2,I))
  58. IF (IVA.NE.0) IRIGEL(2,I)=ITLAC1.ITLAC(IVA)
  59. IMATRI=IRIGEL(4,I)
  60. IF (IMATRI.NE.0) THEN
  61. SEGACT IMATRI*MOD
  62. IVA=ABS(KSPGP)
  63. IF (IVA.NE.0) KSPGP=ITLAC1.ITLAC(IVA)
  64. IVA=ABS(KSPGD)
  65. IF (IVA.NE.0) KSPGD=ITLAC1.ITLAC(IVA)
  66. SEGDES IMATRI
  67. ENDIF
  68. 11 CONTINUE
  69. IVA=ABS(KIZM)
  70. IF (IVA.NE.0) KIZM=ITLAC1.ITLAC(IVA)
  71. IVA=ABS(KISPGT)
  72. IF (IVA.NE.0) KISPGT=ITLAC1.ITLAC(IVA)
  73. IVA=ABS(KISPGP)
  74. IF (IVA.NE.0) KISPGP=ITLAC1.ITLAC(IVA)
  75. IVA=ABS(KISPGD)
  76. IF (IVA.NE.0) KISPGD=ITLAC1.ITLAC(IVA)
  77. IVA=ABS(KIDMAT(8))
  78. IF (IVA.NE.0) KIDMAT(8)=ITLAC2.ITLAC(IVA)
  79. IVA=ABS(KKMMT(2))
  80. IF (IVA.NE.0) KKMMT(2)=ITLAC3.ITLAC(IVA)
  81. IVA=ABS(KKMMT(3))
  82. IF (IVA.NE.0) KKMMT(3)=ITLAC3.ITLAC(IVA)
  83. SEGDES MATRIK
  84. 1 CONTINUE
  85. *
  86. * Normal termination
  87. *
  88. RETURN
  89. *
  90. * Format handling
  91. *
  92. *
  93. * Error handling
  94. *
  95. 9999 CONTINUE
  96. WRITE(IOIMP,*) 'An error was detected in subroutine resmik'
  97. RETURN
  98. *
  99. * End of subroutine RESMIK
  100. *
  101. END
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  

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