Télécharger limmat.eso

Retour à la liste

Numérotation des lignes :

limmat
  1. C LIMMAT SOURCE PV 20/09/26 21:18:38 10724
  2. SUBROUTINE LIMMAT (IENTRE,ITLACC,IMAX1,IRET,IFORM)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. C=======================================================================
  6. C BUT : LECTURE DES MMATRI
  7. C APPELE PAR : LIPIL
  8. C APPELLE : LFCDIM LFCDIE LFCDI2
  9. C ECRIT PAR FARVACQUE -REPRIS PAR LENA
  10. C
  11. C=======================================================================
  12. C TABLEAU KCOLA :
  13. C 1 MELEME 2 CHPOIN 3 MRIGID 4 MCHAFF 5 MCHELM 6
  14. C 7 8 MSOLUT 9 MSTRUC 10 11 MAFFEC 12 MSOSTU
  15. C 13 IMATRI 14 MJONCT 15 MATTAC 16 MMATRI 17 MDEFOR 18 MLREEL
  16. C 19 MLENTI 20 MCHARG 21 MODELE 22 MEVOLL
  17. C=======================================================================
  18.  
  19. -INC PPARAM
  20. -INC CCOPTIO
  21. -INC SMMATRI
  22. C
  23. C=======================================================================
  24. SEGMENT/ITBBM1/( ITABM1(NM))
  25. SEGMENT/ITLACC/( ITLAC(0))
  26. C
  27. CHARACTER*4 CPV
  28. DIMENSION ILENA(15)
  29. C--------------------------------------------------------------------
  30. IRET=0
  31. IRETOU=0
  32. ITBBM1=0
  33.  
  34. C ***************************** MMATRI *****************************
  35.  
  36. 6016 CONTINUE
  37.  
  38. DO 2600 IEL=1,IMAX1
  39. SEGINI MMATRI
  40. ITLAC(**)=MMATRI
  41.  
  42. C READ(IENTRE,8000,END=1000,ERR=1000)INC,IGEOMA,IJMAX,INEG,NENS,MAXI,
  43. C *NNOE,LHAR
  44.  
  45. IF(IONIVE.LE.8) THEN
  46. ITOTO = 10
  47. INSYM = 0
  48. ELSE
  49. ITOTO = 11
  50. ENDIF
  51. CALL LFCDIE (IENTRE,ITOTO,ILENA,IRETOU,IFORM)
  52. IF (IRETOU.NE.0) GO TO 1000
  53. INC = ILENA(1)
  54. IGEOMA= ILENA(2)
  55. IJMAX = ILENA(3)
  56. INEG = ILENA(4)
  57. NENS = ILENA(5)
  58. MAXI = ILENA(6)
  59. NNOE = ILENA(7)
  60. LHAR = ILENA(8)
  61. LMIK = ILENA(9)
  62. LDUA = ILENA(10)
  63.  
  64. IF(IONIVE.GE.9) INSYM = ILENA(11)
  65.  
  66. SEGINI MILIGN
  67.  
  68. CALL LFCDIE(IENTRE,INC,ITTR,IRETOU,IFORM)
  69. IF(IRETOU.NE.0) GOTO 1000
  70.  
  71. CALL LFCDIE(IENTRE,INC,IPNO,IRETOU,IFORM)
  72. IF(IRETOU.NE.0) GOTO 1000
  73.  
  74. DO 2601 I=1,NNOE
  75. ITOTO=7
  76. CALL LFCDIE (IENTRE,ITOTO,ILENA,IRETOU,IFORM)
  77. IF (IRETOU.NE.0) GO TO 1000
  78.  
  79. NVALL = ILENA(1)
  80. NA = ILENA(2)
  81. NBPAR = ILENA(7)
  82. SEGINI LIGN
  83. ILIGN(I)=LIGN
  84. NA1 = ILENA(3)
  85. IMM = ILENA(4)
  86. IPREL = ILENA(5)
  87. IDERL = ILENA(6)
  88.  
  89. CALL LFCDI2(IENTRE,NVALL,VAL,IRETOU,IFORM)
  90. IF (IRETOU.NE.0) GO TO 1000
  91.  
  92. CALL LFCDIE(IENTRE,NA,IMMM,IRETOU,IFORM)
  93. IF (IRETOU.NE.0) GO TO 1000
  94.  
  95. CALL LFCDIE(IENTRE,NA1,IPPVV,IRETOU,IFORM)
  96. IF (IRETOU.NE.0) GO TO 1000
  97.  
  98. CALL LFCDIE(IENTRE,2*NBPAR,IVPO,IRETOU,IFORM)
  99. SEGDES LIGN
  100. IF(IRETOU.NE.0) GOTO 1000
  101.  
  102. 2601 CONTINUE
  103.  
  104. IILIGN=MILIGN
  105. SEGDES MILIGN
  106. C
  107. IF(INSYM.NE.0) THEN
  108.  
  109. SEGINI MILIGN
  110.  
  111. DO 26011 I=1,NNOE
  112. ITOTO=7
  113. CALL LFCDIE (IENTRE,ITOTO,ILENA,IRETOU,IFORM)
  114. IF (IRETOU.NE.0) GO TO 1000
  115.  
  116. NVALL = ILENA(1)
  117. NA = ILENA(2)
  118. NBPAR = ILENA(7)
  119. SEGINI LIGN
  120. ILIGN(I)=LIGN
  121. NA1 = ILENA(3)
  122. IMM = ILENA(4)
  123. IPREL = ILENA(5)
  124. IDERL = ILENA(6)
  125.  
  126. CALL LFCDI2(IENTRE,NVALL,VAL,IRETOU,IFORM)
  127. IF (IRETOU.NE.0) GO TO 1000
  128.  
  129. CALL LFCDIE(IENTRE,NA,IMMM,IRETOU,IFORM)
  130. IF (IRETOU.NE.0) GO TO 1000
  131.  
  132. CALL LFCDIE(IENTRE,NA1,IPPVV,IRETOU,IFORM)
  133. IF (IRETOU.NE.0) GO TO 1000
  134.  
  135. CALL LFCDIE(IENTRE,2*NBPAR,IVPO,IRETOU,IFORM)
  136. SEGDES LIGN
  137. IF(IRETOU.NE.0) GOTO 1000
  138.  
  139. 26011 CONTINUE
  140.  
  141. IILIGS=MILIGN
  142. SEGDES MILIGN
  143.  
  144. ENDIF
  145. C
  146. SEGINI MINCPO
  147. IINCPO=MINCPO
  148. L=MAXI*NNOE
  149. CALL LFCDIE(IENTRE,L,INCPO,IRETOU,IFORM)
  150. SEGDES MINCPO
  151. IF(IRETOU.NE.0) GOTO 1000
  152. C
  153. SEGINI MHARK
  154. IHARK=MHARK
  155. DO 2603 I=1,LHAR
  156. IHAR(**)=0
  157. 2603 CONTINUE
  158. CALL LFCDIE(IENTRE,LHAR,IHAR(1),IRETOU,IFORM)
  159. SEGDES MHARK
  160. IF(IRETOU.NE.0) GOTO 1000
  161. C
  162. NM=LMIK+LDUA
  163. SEGINI ITBBM1
  164. CALL LFCDIM (IENTRE,NM,ITABM1,IRETOU,IFORM)
  165. IF (IRETOU.NE.0) GO TO 1000
  166. SEGINI MIMIK
  167. SEGINI MIDUA
  168. IIMIK=MIMIK
  169. IIDUA=MIDUA
  170. DO 2602 I=1,LMIK
  171. WRITE (CPV,FMT='(A4)') ITABM1(I)
  172. IMIK(**)=CPV
  173. 2602 CONTINUE
  174. DO 2605 I=1,LDUA
  175. WRITE (CPV,FMT='(A4)') ITABM1(LMIK+I)
  176. IDUA(**)=CPV
  177. 2605 CONTINUE
  178. SEGSUP ITBBM1
  179. SEGDES MIDUA,MIMIK
  180. C
  181. SEGINI MDNOR
  182. IDNORM=MDNOR
  183. CALL LFCDI2(IENTRE,INC,DNOR,IRETOU,IFORM)
  184. SEGDES MDNOR
  185. IF(IRETOU.NE.0) GOTO 1000
  186.  
  187. SEGINI MDIAG
  188. IDIAG= MDIAG
  189. CALL LFCDI2(IENTRE,INC,DIAG,IRETOU,IFORM)
  190. SEGDES MDIAG
  191. IF(IRETOU.NE.0) GOTO 1000
  192.  
  193. SEGDES MMATRI
  194. 2600 CONTINUE
  195. GOTO 1098
  196.  
  197. ********************* ON REBOUCLE EN LECTURE **********************
  198.  
  199. 1000 CONTINUE
  200. IRETOU=1
  201. 1098 CONTINUE
  202. IRET=IRETOU
  203. IF (ITBBM1.NE.0) SEGSUP ITBBM1
  204. RETURN
  205. C -------------------------------------------------------
  206. END
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  

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