Télécharger exarig.eso

Retour à la liste

Numérotation des lignes :

exarig
  1. C EXARIG SOURCE OF166741 24/12/18 21:15:07 12089
  2.  
  3. C----------------------------------------------------------------------
  4. C
  5. C BUT: REMPLIT LES PILES A PARTIR DE L EXAMEN DE LA PILE
  6. C SI IIICHA =1 ON CHANGE LES POINTEURS----
  7. C
  8. C ENTREE ITLACC PILE EXAMINEE
  9. C ICOLAC POINTEURS DES PILES A REMPLIR
  10. C M1 PREMIER INDICE D EXAMEN DANS LA PILE
  11. C M2 DERNIER INDICE
  12. C IIICHA =1 ON CHANGE LES POINTEURS
  13. C----------------------------------------------------------------
  14. C APPELE PAR EXPIL
  15. C APPELLE AJOUN
  16. C=======================================================================
  17. C TABLEAU KCOLA : VOIR SOUSPROGRAMME TYPFIL
  18. C=======================================================================
  19.  
  20. SUBROUTINE EXARIG (ICOLAC,ITLACC,M1,M2,IIICHA)
  21.  
  22. IMPLICIT INTEGER(I-N)
  23. IMPLICIT REAL*8(A-H,O-Z)
  24.  
  25. -INC PPARAM
  26. -INC CCOPTIO
  27. -INC SMRIGID
  28. -INC TMCOLAC
  29.  
  30. iun=1
  31. C **************************** MRIGID ******************************
  32. ICO1=KCOLA(1)
  33. ICO2=KCOLA(2)
  34. ICO3=KCOLA(13)
  35. ICO4=KCOLA(16)
  36. ICO5=KCOLA(10)
  37. ICO7=KCOLA(3)
  38.  
  39. ILISSE=ILISSG
  40. SEGACT ILISSE*MOD
  41.  
  42. DO 606 IEL=M1,M2
  43. MRIGID=ITLAC(IEL)
  44. IF (MRIGID.EQ.0) GO TO 606
  45. SEGACT MRIGID*MOD
  46. NRIGEL=IRIGEL(/2)
  47.  
  48. DO 607 I=1,NRIGEL
  49.  
  50. C ... On rajoute le maillage sur la pile N° 1 ...
  51. IVA=IRIGEL(1,I)
  52. IF(IVA.GT.0) THEN
  53. CALL AJOUN(ICO1,IVA,ILISSE,iun)
  54. IF(IIICHA.EQ.1)IRIGEL(1,I)=-IVA
  55. ENDIF
  56.  
  57. C ... On rajoute le maillage frottement sur la pile N° 1 ...
  58. IVA=IRIGEL(2,I)
  59. IF(IVA.GT.0) THEN
  60. CALL AJOUN(ICO1,IVA,ILISSE,iun)
  61. IF(IIICHA.EQ.1)IRIGEL(2,I)=-IVA
  62. ENDIF
  63.  
  64. C ... On rajoute le IMATRI sur la pile N° 13 ...
  65. IVA=IRIGEL(4,I)
  66. if (iiicha.eq.1) then
  67. * en menage on n'active pas xmatri
  68. xmatri=IVA
  69. SEGACT xmatri*mod
  70. symre = irigel(7,I)
  71. segdes xmatri
  72. endif
  73. IF (IVA.GT.0) THEN
  74. CALL AJOUN(ICO3,IVA,ILISSE,iun)
  75. IF(IIICHA.EQ.1)IRIGEL(4,I)=-IVA
  76. ENDIF
  77.  
  78. 607 CONTINUE
  79.  
  80. * NE PAS OUBLIER DE SAUVER LA TABLE SI ELLE EXISTE
  81. IVA=ISUPEQ
  82. IF (IVA.NE.0) THEN
  83. C ... On rajoute la TABLE sur la pile N° 10 ...
  84. CALL AJOUN(ICO5,IVA,ILISSE,iun)
  85. IF (IIICHA.EQ.1) ISUPEQ=IVA
  86. ENDIF
  87.  
  88. IVA=ICHOLE
  89. IF (IVA.GT.0) THEN
  90. C ... On rajoute ICHOLE sur la pile N° 16 ...
  91. CALL AJOUN(ICO4,IVA,ILISSE,iun)
  92. C ... On met le pointeur negatif pour qu'on puisse reconnaitre le
  93. C pointeur sur la pile GEMAT (voir SORTRI, WRPIL et RESTRI) ...
  94. IF (IIICHA.EQ.1) ICHOLE=-IVA
  95. ENDIF
  96.  
  97. IF (IMGEO1.GT.0) THEN
  98. IMGEOD=IMGEO1
  99. SEGACT IMGEOD*MOD
  100. DO 641 I=1,IMGEOR(/1)
  101. IVA=IMGEOR(I)
  102. IF(IVA.GT.0) THEN
  103. CALL AJOUN(ICO1,IVA,ILISSE,iun)
  104. IF(IIICHA.EQ.1) IMGEOR(I)=-IVA
  105. ENDIF
  106. 641 CONTINUE
  107. SEGDES IMGEOD
  108. ENDIF
  109. IF (IVECRI.NE.0) THEN
  110. MVECRI=IVECRI
  111. SEGACT MVECRI*MOD
  112. DO 651 I=1,MELZON(/1)
  113. IVA = MELZON(I)
  114. IF (IVA.GT.0) THEN
  115. CALL AJOUN(ICO1,IVA,ILISSE,iun)
  116. IF(IIICHA.EQ.1) MELZON(I)=-IVA
  117. ENDIF
  118. 651 CONTINUE
  119. SEGDES MVECRI
  120. ENDIF
  121. IVA=IMGEO2
  122. IF (IVA.NE.0) THEN
  123. CALL AJOUN(ICO2,IVA,ILISSE,iun)
  124. IF(IIICHA.EQ.1) IMGEO2=-IVA
  125. ENDIF
  126. iva=jrcond
  127. if (iva.ne.0) then
  128. call ajoun(ico7,iva,ilisse,iun)
  129. if(iiicha.eq.1) jrcond= -iva
  130. endif
  131. iva=jrsup
  132. if (iva.ne.0) then
  133. call ajoun(ico7,iva,ilisse,iun)
  134. if(iiicha.eq.1) jrsup= -iva
  135. endif
  136. iva=jrdepp
  137. if (iva.ne.0) then
  138. call ajoun(ico7,iva,ilisse,iun)
  139. if(iiicha.eq.1) jrdepp= -iva
  140. endif
  141. iva=jrdepd
  142. if (iva.ne.0) then
  143. call ajoun(ico7,iva,ilisse,iun)
  144. if(iiicha.eq.1) jrdepd= -iva
  145. endif
  146. iva=jrelim
  147. if (iva.ne.0) then
  148. call ajoun(ico7,iva,ilisse,iun)
  149. if(iiicha.eq.1) jrelim= -iva
  150. endif
  151. iva=jrgard
  152. if(iva.ne.0) then
  153. call ajoun(ico7,iva,ilisse,iun)
  154. if(iiicha.eq.1) jrgard= -iva
  155. endif
  156. iva=jrtot
  157. if (iva.ne.0) then
  158. call ajoun(ico7,iva,ilisse,iun)
  159. if(iiicha.eq.1) jrtot= -iva
  160. endif
  161. iva=imlag
  162. if (iva.ne.0) then
  163. call ajoun(ico1,iva,ilisse,iun)
  164. if(iiicha.eq.1) imlag= -iva
  165. endif
  166.  
  167. SEGDES MRIGID
  168.  
  169. 606 CONTINUE
  170.  
  171. RETURN
  172. END
  173.  
  174.  
  175.  

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