Télécharger kres9.eso

Retour à la liste

Numérotation des lignes :

kres9
  1. C KRES9 SOURCE MB234859 26/08/26 21:15:15 12626
  2. SUBROUTINE KRES9(MRIGID,INORMU)
  3. IMPLICIT REAL*8 (A-H,O-Z)
  4. IMPLICIT INTEGER (I-N)
  5. C***********************************************************************
  6. C NOM : KRES9
  7. C DESCRIPTION : - Assemblage comme par RESOU
  8. C
  9. C
  10. C LANGAGE : ESOPE
  11. C AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  12. C mél : gounand@semt2.smts.cea.fr
  13. C***********************************************************************
  14. C VERSION : v1, 04/08/2011, version initiale
  15. C HISTORIQUE : v1, 04/08/2011, création
  16. C HISTORIQUE : JCARDO 16/07/2013, ajout de INORMU (cf LDMT2)
  17. C HISTORIQUE :
  18. C***********************************************************************
  19. REAL*8 XKT,PREC
  20. -INC SMRIGID
  21. -INC SMMATRI
  22. -INC PPARAM
  23. -INC CCOPTIO
  24. *
  25. * Executable statements
  26. *
  27. * WRITE(IOIMP,*) 'Entrée dans kres9.eso'
  28. *
  29. INSYM=1
  30. *
  31. SEGACT MRIGID
  32. ICHOLX=ICHOLE
  33. SEGDES MRIGID
  34. IF (ICHOLX.NE.0) RETURN
  35. C
  36. IF (IIMPI.EQ.1)THEN
  37. CALL GIBTEM(XKT)
  38. INTERR(1)=INT(XKT)
  39. CALL ERREUR(-259)
  40. WRITE(IOIMP,10)
  41. 10 FORMAT(' L''IMPRESSION PRECEDENTE EST AVANT ASSEM1')
  42. ENDIF
  43.  
  44. C ... MMATRI est initialisé dans ASSEM1 et renvoyé en tant que résultat
  45. C dans la variable MMATRX, il est désactivé à la sortie ...
  46. CALL ASSEM1(MRIGID,INSYM,MMATRX,INUINX,
  47. & ITOPOX,IPOX,IITOPX,INCTRX,
  48. & ITOPOZ,IPOZ,IITOPZ,INCTRZ)
  49. IF (IERR.NE.0) RETURN
  50.  
  51. IF (IIMPI.EQ.1) THEN
  52. CALL GIBTEM(XKT)
  53. INTERR(1)=INT(XKT)
  54. CALL ERREUR(-259)
  55. WRITE(IOIMP,11)
  56. 11 FORMAT(' L''IMPRESSION PRECEDENTE EST AVANT LDMT2')
  57. ENDIF
  58. C
  59. CALL ASSEM2(MRIGID,INSYM,MMATRX,INUINX,
  60. & ITOPOX,IPOX,IITOPX,INCTRX,
  61. & ITOPOZ,IPOZ,IITOPZ,INCTRZ,INORMU)
  62. IF (IERR.NE.0) RETURN
  63. C
  64. IF (IIMPI.EQ.1)THEN
  65. CALL GIBTEM(XKT)
  66. INTERR(1)=INT(XKT)
  67. CALL ERREUR(-259)
  68. WRITE(IOIMP,12)
  69. 12 FORMAT(' L''IMPRESSION PRECEDENTE EST AVANT LA FIN DE KRES9')
  70. ENDIF
  71. IF (IERR.NE.0) RETURN
  72. *
  73. * Analyse de la structure
  74. *
  75. C MMATRI=MMATRX
  76. C SEGACT MMATRI
  77. C WRITE(IOIMP,*) 'IJMAX=',IJMAX
  78. C WRITE(IOIMP,*) 'IDIAG=',IDIAG
  79. C WRITE(IOIMP,*) 'IGEOMA=',IGEOMA
  80. C WRITE(IOIMP,*) 'IINCPO=',IINCPO
  81. C WRITE(IOIMP,*) 'IIDUA=',IIDUA
  82. C WRITE(IOIMP,*) 'IIMIK=',IIMIK
  83. C WRITE(IOIMP,*) 'INEG=',INEG
  84. C WRITE(IOIMP,*) 'IDNORM=',IDNORM
  85. C WRITE(IOIMP,*) 'IILIGN=',IILIGN
  86. C WRITE(IOIMP,*) 'IILIGS=',IILIGS
  87. C WRITE(IOIMP,*) 'NENS=',NENS
  88. C WRITE(IOIMP,*) 'IHARK=',IHARK
  89. C WRITE(IOIMP,*) 'IASLIG=',IASLIG
  90. C WRITE(IOIMP,*) 'IASDIA=',IASDIA
  91. C WRITE(IOIMP,*) 'IDUAPO=',IDUAPO
  92. C WRITE(IOIMP,*) 'IHARDU=',IHARDU
  93. C WRITE(IOIMP,*) 'IDNORD=',IDNORD
  94. C WRITE(IOIMP,*) 'PRCHLV=',PRCHLV
  95. C* SEGPRT,MMATRI
  96. C IF (IGEOMA.NE.0) THEN
  97. C MELEME=IGEOMA
  98. C WRITE(IOIMP,*) 'IGEOMA'
  99. C CALL ECMAIL(MELEME,0)
  100. C ENDIF
  101. C IF (IIMIK.NE.0) THEN
  102. C MIMIK=IIMIK
  103. C SEGACT MIMIK
  104. C N=IMIK(/2)
  105. C WRITE(IOIMP,*) 'IIMIK N=',N
  106. C WRITE(IOIMP,2019) (IMIK(I),I=1,N)
  107. C ENDIF
  108. C IF (IIDUA.NE.0) THEN
  109. C MIDUA=IIDUA
  110. C SEGACT MIDUA
  111. C N=IDUA(/2)
  112. C WRITE(IOIMP,*) 'IIDUA N=',N
  113. C WRITE(IOIMP,2019) (IDUA(I),I=1,N)
  114. C ENDIF
  115. C IF (IINCPO.NE.0) THEN
  116. C MINCPO=IINCPO
  117. C SEGACT MINCPO
  118. C MAXI=INCPO(/1)
  119. C NNOE=INCPO(/2)
  120. C WRITE(IOIMP,*) 'IINCPO MAXI=',MAXI,' NNOE=',NNOE
  121. C WRITE(IOIMP,*) 'Tableau de correspondance Inconnue-Point'
  122. C $ ,'-> DDL'
  123. C DO 146 L=1,MAXI,10
  124. C WRITE(IOIMP,'(8X,A)') 'Inconnue'
  125. C LH = MIN(L+9,MAXI)
  126. C WRITE(IOIMP,*) 'LH=',LH
  127. C WRITE (IOIMP,147) 'Point',(M,M=L,LH)
  128. C 147 FORMAT (A8,10I8)
  129. C DO 148 J=1,NNOE
  130. C WRITE(IOIMP,149) J,(INCPO(K,J),K=L,LH)
  131. C 149 FORMAT (11I8)
  132. C 148 CONTINUE
  133. C 146 CONTINUE
  134. C ENDIF
  135. C IF (IDUAPO.NE.0) THEN
  136. C MINCPO=IDUAPO
  137. C SEGACT MINCPO
  138. C MAXI=INCPO(/1)
  139. C NNOE=INCPO(/2)
  140. C WRITE(IOIMP,*) 'IDUAPO MAXI=',MAXI,' NNOE=',NNOE
  141. C WRITE(IOIMP,*) 'Tableau de correspondance Inconnue-Point'
  142. C $ ,'-> DDL'
  143. C DO 246 L=1,MAXI,10
  144. C WRITE(IOIMP,'(8X,A)') 'Inconnue'
  145. C LH = MIN(L+9,MAXI)
  146. C WRITE (IOIMP,247) 'Point',(M,M=L,LH)
  147. C 247 FORMAT (A8,10I8)
  148. C DO 248 J=1,NNOE
  149. C WRITE(IOIMP,249) J,(INCPO(K,J),K=L,LH)
  150. C 249 FORMAT (11I8)
  151. C 248 CONTINUE
  152. C 246 CONTINUE
  153. C ENDIF
  154. C IF (IDIAG.NE.0) THEN
  155. C MDIAG=IDIAG
  156. C SEGACT MDIAG
  157. C WRITE(IOIMP,*) 'IDIAG INC=',DIAG(/1)
  158. C WRITE(IOIMP,2022) (DIAG(II),II=1,DIAG(/1))
  159. C ENDIF
  160. C IF (IDNORM.NE.0) THEN
  161. C MDNOR=IDNORM
  162. C SEGACT MDNOR
  163. C WRITE(IOIMP,*) 'IDNORM INC=',DNOR(/1)
  164. C WRITE(IOIMP,2022) (DNOR(II),II=1,DNOR(/1))
  165. C ENDIF
  166. C IF (IDNORD.NE.0) THEN
  167. C MDNOR=IDNORD
  168. C SEGACT MDNOR
  169. C WRITE(IOIMP,*) 'IDNORD INC=',DNOR(/1)
  170. C WRITE(IOIMP,2022) (DNOR(II),II=1,DNOR(/1))
  171. C ENDIF
  172. C IF (IILIGN.NE.0) THEN
  173. C MILIGN=IILIGN
  174. C SEGACT MILIGN
  175. C WRITE(IOIMP,*) 'IILIGN INC=',IPNO(/1),' NNOE=',ILIGN(/1)
  176. C WRITE(IOIMP,*) ' IPNO'
  177. C WRITE(IOIMP,2020) (IPNO(II),II=1,IPNO(/1))
  178. C WRITE(IOIMP,*) ' ITTR'
  179. C WRITE(IOIMP,2020) (ITTR(II),II=1,ITTR(/1))
  180. C DO INOE=1,ILIGN(/1)
  181. C WRITE(IOIMP,*) ' Point ', INOE
  182. C LLIGN=ILIGN(INOE)
  183. C SEGACT LLIGN
  184. C WRITE(IOIMP,*) ' LLIGN NA=',IMMMM(/1),' LLVVA=',XXVA(/1)
  185. C WRITE(IOIMP,*) ' NJMAX=',NJMAX
  186. C WRITE(IOIMP,*) ' IMMMM'
  187. C WRITE(IOIMP,2020) (IMMMM(II),II=1,IMMMM(/1))
  188. C WRITE(IOIMP,*) ' LDEB'
  189. C WRITE(IOIMP,2020) (LDEB(II),II=1,LDEB(/1))
  190. C WRITE(IOIMP,*) ' IPPO'
  191. C WRITE(IOIMP,2020) (IPPO(II),II=1,IPPO(/1))
  192. C WRITE(IOIMP,*) ' LINC'
  193. C WRITE(IOIMP,2020) (LINC(II),II=1,LINC(/1))
  194. C WRITE(IOIMP,*) ' XXVA'
  195. C WRITE(IOIMP,2022) (XXVA(II),II=1,XXVA(/1))
  196. C ENDDO
  197. C ENDIF
  198. C IF (IILIGS.NE.0) THEN
  199. C MILIGN=IILIGS
  200. C SEGACT MILIGN
  201. C WRITE(IOIMP,*) 'IILIGS INC=',IPNO(/1),' NNOE=',ILIGN(/1)
  202. C WRITE(IOIMP,*) ' IPNO'
  203. C WRITE(IOIMP,2020) (IPNO(II),II=1,IPNO(/1))
  204. C WRITE(IOIMP,*) ' ITTR'
  205. C WRITE(IOIMP,2020) (ITTR(II),II=1,ITTR(/1))
  206. C DO INOE=1,ILIGN(/1)
  207. C WRITE(IOIMP,*) ' Point ', INOE
  208. C LLIGN=ILIGN(INOE)
  209. C SEGACT LLIGN
  210. C WRITE(IOIMP,*) ' LLIGN NA=',IMMMM(/1),' LLVVA=',XXVA(/1)
  211. C WRITE(IOIMP,*) ' NJMAX=',NJMAX
  212. C WRITE(IOIMP,*) ' IMMMM'
  213. C WRITE(IOIMP,2020) (IMMMM(II),II=1,IMMMM(/1))
  214. C WRITE(IOIMP,*) ' LDEB'
  215. C WRITE(IOIMP,2020) (LDEB(II),II=1,LDEB(/1))
  216. C WRITE(IOIMP,*) ' IPPO'
  217. C WRITE(IOIMP,2020) (IPPO(II),II=1,IPPO(/1))
  218. C WRITE(IOIMP,*) ' LINC'
  219. C WRITE(IOIMP,2020) (LINC(II),II=1,LINC(/1))
  220. C WRITE(IOIMP,*) ' XXVA'
  221. C WRITE(IOIMP,2022) (XXVA(II),II=1,XXVA(/1))
  222. C ENDDO
  223. C ENDIF
  224. C 2019 FORMAT (20(2X,A4) )
  225. C 2020 FORMAT (20(2X,I4) )
  226. C 2021 FORMAT (20(2X,L4) )
  227. C 2022 FORMAT(10(1X,1PG12.5))
  228. *
  229. * End of subroutine KRES9
  230. *
  231. END
  232.  
  233.  

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