Télécharger cinfil.eso

Retour à la liste

Numérotation des lignes :

  1. C CINFIL SOURCE BP208322 17/03/01 21:15:36 9325
  2. C INFILL SOURCE KK2000 00/07/25 21:21:27 3913
  3. C======================================================================
  4. C INFILL - D. COMBESCURE et P. PEGON - ELSA- 1996
  5. C======================================================================
  6. C
  7. C MODELE GLOBAL DE DIAGONALE POUR LES MURS DE REMPLISSAGE
  8. C (Sur des elements de barre uniquement)
  9. C
  10. SUBROUTINE CINFIL(wrk52,wrk53,wrk54,WRK2,NCURV)
  11. c SUBROUTINE INFILL(WRK0,WRK1,WRK2,NCURV,KERRE)
  12. IMPLICIT INTEGER(I-N)
  13. IMPLICIT REAL*8(A-H,O-Z)
  14. C
  15. C=======================================================================
  16. C CETTE ROUTINE EST APPELE DANS ECO100
  17. C
  18. C
  19. C WRK0 = Segment materiaux
  20. C WRK1 = Segment contraintes
  21. C WRK2 = Segment courbe
  22. C NCURV = Longueur courbe
  23. C
  24. C======================================================================
  25. C xcarb = Section de la barre
  26. C DEPST = Increment de deformation axiale
  27. C SIG0 = Contrainte initiale
  28. C VAR0 = Variables internes initiales
  29. C SIGF = Contrainte finale
  30. C VARF = Variables internes finales
  31. C DEFP = Deformation plastique
  32. C
  33. C=======================================================================
  34. C
  35. PARAMETER (XZER=0.D0,UN=1.D0,EPSILO=1.D-10)
  36. C
  37. C=======================================================================
  38. C VARIABLES ET SEGMENTS NECESSAIRES
  39. C=========================================================================
  40. -INC CCOPTIO
  41. -INC DECHE
  42.  
  43. C Segment de la courbe
  44. SEGMENT WRK2
  45. REAL*8 TRAC(LTRAC)
  46. ENDSEGMENT
  47. C
  48. C Lecture materiau
  49. C
  50. YOUN = XMAT(1)
  51. XDELA = XMAT(5)
  52. XDMAX = XMAT(6)
  53. XBETA = XMAT(7)
  54. XGAMM = XMAT(8)
  55. XGAMP = XMAT(9)
  56. XALPH = XMAT(10)
  57. XTETA = XMAT(11)
  58. C+TEST
  59. C XNETA = XMAT(12)
  60. C+TEST
  61. XSECT = xcarb(1)
  62. YOUN = YOUN*XSECT
  63. C
  64. C Lecture variables internes
  65. C
  66. XDAM = VAR0(1)
  67. XDEPM = -VAR0(2)
  68. XDEPA = -VAR0(3)
  69. XDEPI = -VAR0(4)
  70. XDEPC = -VAR0(5)
  71. ICAS = nint(VAR0(6))
  72. C
  73. XDDEP = -DEPST(1)
  74. XFOR0 = -SIG0(1)
  75. XDEP0 = XDEPA + (XFOR0/((UN - XDAM)*YOUN))
  76. XDEPF = XDEP0 + XDDEP
  77. C
  78. C Fin de la lecture des variables et caracteristiques necessaires
  79. C
  80.  
  81. C Quelques calculs preliminairesC
  82. XDEGRA = (UN - XTETA)*EXP(-XALPH*XDEPC) + XTETA
  83. C+TEST
  84. C XDEPMB = (UN-XNETA)*XDEPM
  85. C+TEST
  86. XDEPMB = XDEPM
  87. C
  88. CALL VALINF(XDEPMB,XDEGRA,TRAC(1),NCURV,XZER,XFMAC,KERRE)
  89. IF (ABS(XDEPMB).LE.EPSILO) THEN
  90. XFELC = XDEGRA*YOUN*XDELA
  91. XPEN = (UN - (XFMAC/XFELC))/
  92. &(UN - ((UN/(UN - XDMAX))*(XFMAC/XFELC)))
  93. XFMAX = XFELC*( UN - XPEN )/( UN - (XPEN/(UN - XDAM)))
  94. ELSE
  95. XFMAX = XFMAC
  96. ENDIF
  97. XFPIN = XBETA*XFMAX
  98. C+TEST
  99. XDEPIN = XDEPMB + (XFPIN/((UN - XDAM)*YOUN))
  100. XDEPMX = XDEPMB + (XFMAX/((UN - XDAM)*YOUN))
  101. C+TEST
  102. C
  103. C==================================================================
  104. C
  105. C DRIVER
  106. C
  107. C==================================================================
  108. IF (XDDEP.GE.XZER) THEN
  109. IF ((ICAS.EQ.1).OR.(ICAS.EQ.0)) THEN
  110. GOTO 1000
  111. ELSEIF (ICAS.EQ.11) THEN
  112. GOTO 2100
  113. ELSEIF (ICAS.EQ.12) THEN
  114. GOTO 2200
  115. ELSEIF (ICAS.EQ.13) THEN
  116. GOTO 2300
  117. ELSEIF (ICAS.EQ.14) THEN
  118. GOTO 2400
  119. ELSEIF (ICAS.EQ.21) THEN
  120. XDLIM = XDEPIN
  121. IF (XDEP0.GE.XDLIM) THEN
  122. GOTO 2400
  123. ELSE
  124. GOTO 2300
  125. ENDIF
  126. ELSEIF (ICAS.EQ.22) THEN
  127. IF (XDEP0.GE.XDEPI) THEN
  128. GOTO 2300
  129. ELSE
  130. GOTO 2100
  131. ENDIF
  132. ELSE
  133. KERRE = 99
  134. GOTO 9999
  135. ENDIF
  136. ELSE
  137. IF ((ICAS.EQ.0).OR.(ICAS.EQ.22).OR.(ICAS.EQ.11)) THEN
  138. GOTO 3200
  139. ELSEIF ((ICAS.EQ.21).OR.(ICAS.EQ.1).OR.(ICAS.EQ.13)
  140. &.OR.(ICAS.EQ.12).OR.(ICAS.EQ.14)) THEN
  141. GOTO 3100
  142. ELSE
  143. KERRE = 99
  144. GOTO 9999
  145. ENDIF
  146. ENDIF
  147. C==========================================================
  148. C CAS A - Courbe de simple charge -ICAS=1
  149. C==========================================================
  150. 1000 CONTINUE
  151. CALL VALINF(XZER,XDEGRA,TRAC(1),NCURV,XZER,XFMAC,KERRE)
  152. XDMAC = XFMAC/((UN - XDMAX)*YOUN)
  153. XFELC = XDEGRA*YOUN*XDELA
  154. XDEPMA = XFMAC/((UN - XDMAX)*YOUN)
  155. XDEPEL = XFELC/YOUN
  156. IF (XDEPF.LE.XDEPMA) THEN
  157. IF (XDEPF.LE.XDEPEL) THEN
  158. XFORF = YOUN*XDEPF
  159. XDAM = XZER
  160. ELSE
  161. XFORF= XFELC + ((XFMAC - XFELC)
  162. &/(XDEPMA - XDEPEL))*(XDEPF - XDEPEL)
  163. XDAM = UN - (XFORF/(XDEPF*YOUN))
  164. ENDIF
  165. ELSE
  166. YOUNF = (UN - XDMAX)*YOUN
  167. CALL VALINF(XDEPF,XDEGRA,TRAC(1),NCURV,YOUNF,XFORF,KERRE)
  168. XDAM = XDMAX
  169. XDEPA = XDEPF - (XFORF/YOUNF)
  170. XDEPI = XDEPA
  171. IF (XDEPM.LE.XDEPA) THEN
  172. XDEPM = XDEPA
  173. ENDIF
  174. ENDIF
  175. ICAS = 1
  176. GOTO 9999
  177. C
  178. C==========================================================
  179. C CAS C1 - Courbe de recharge avec glissement -ICAS=11
  180. C==========================================================
  181. 2100 CONTINUE
  182. XDLIM = XDEPI
  183. C
  184. IF (XDEPF.LE.XDLIM) THEN
  185. XDERES = XZER
  186. XDELOC = XDDEP
  187. ELSE
  188. XDELOC = XDLIM - XDEP0
  189. XDERES = XDDEP - XDELOC
  190. ENDIF
  191. C
  192. XKKK = XZER
  193. XFORF = XFOR0 + (XKKK*XDELOC)
  194. XDEPA = XDEP0 + XDELOC
  195. C
  196. IF (XDERES.EQ.XZER) THEN
  197. ICAS = 11
  198. GOTO 9999
  199. ELSE
  200. XFOR0 = XFORF
  201. XDEP0 = XDLIM
  202. XDDEP = XDERES
  203. GOTO 2200
  204. ENDIF
  205. C
  206. C==========================================================
  207. C CAS C2 - Courbe de recharge avec pincement -ICAS=12
  208. C==========================================================
  209. 2200 CONTINUE
  210. XDLIM = XDEPIN
  211. C
  212. IF (XDEPF.LE.XDLIM) THEN
  213. XDERES = XZER
  214. XDELOC = XDDEP
  215. ELSE
  216. XDELOC = XDLIM - XDEP0
  217. XDERES = XDDEP - XDELOC
  218. ENDIF
  219. C
  220. IF (ABS(XDEPIN-XDEPI).LE.EPSILO) THEN
  221. XKKK = XZER
  222. ELSE
  223. XKKK = (XFPIN/(XDEPIN - XDEPI))
  224. ENDIF
  225. XFORF = XFOR0 + (XKKK*XDELOC)
  226. XDEPA = XDEP0 + XDELOC - (XFORF/((UN - XDAM)*YOUN))
  227. IF (XDERES.EQ.XZER) THEN
  228. ICAS = 12
  229. GOTO 9999
  230. ELSE
  231. XFOR0 = XFORF
  232. XDEP0 = XDLIM
  233. XDDEP = XDERES
  234. GOTO 2400
  235. ENDIF
  236. C
  237. C==========================================================
  238. C CAS C2bis - Courbe de recharge petit cycle -ICAS=13
  239. C==========================================================
  240. 2300 CONTINUE
  241. IF (ABS(XDEPMB-XDEPI).GT.EPSILO) THEN
  242. XDLIM = XDEPA + ((XFPIN/((UN - XDAM)*YOUN))
  243. &/(XDEPMB - XDEPI))*(XDEPA - XDEPI)
  244. ELSE
  245. XDLIM = XDEPIN
  246. ENDIF
  247. C
  248. IF (XDEPF.LE.XDLIM) THEN
  249. XDERES = XZER
  250. XDELOC = XDDEP
  251. ELSE
  252. XDELOC = XDLIM - XDEP0
  253. XDERES = XDDEP - XDELOC
  254. ENDIF
  255. C
  256. XKKK = (UN - XDAM)*YOUN
  257. XFORF = XFOR0 + (XKKK*XDELOC)
  258. C
  259. IF (XDERES.EQ.XZER) THEN
  260. ICAS = 13
  261. GOTO 9999
  262. ELSE
  263. XFOR0 = XFORF
  264. XDEP0 = XDLIM
  265. XDDEP = XDERES
  266. GOTO 2200
  267. ENDIF
  268. C
  269. C==========================================================
  270. C CAS C3 - Courbe de recharge -ICAS=14
  271. C==========================================================
  272. 2400 CONTINUE
  273. XDLIM = XDEPMX
  274. C
  275. IF (XDEPF.LE.XDLIM) THEN
  276. XDERES = XZER
  277. XDELOC = XDDEP
  278. ELSE
  279. XDELOC = XDLIM - XDEP0
  280. XDERES = XDDEP - XDELOC
  281. ENDIF
  282. C
  283. XKKK = (UN - XDAM)*YOUN
  284. XFORF = XFOR0 + (XKKK*XDELOC)
  285. C XDEPI = XDEPA
  286. IF (XDERES.EQ.XZER) THEN
  287. ICAS = 14
  288. GOTO 9999
  289. ELSE
  290. XFOR0 = XFORF
  291. XDEP0 = XDLIM
  292. XDDEP = XDERES
  293. GOTO 1000
  294. ENDIF
  295. C
  296. C==========================================================
  297. C CAS B2 -Courbe de decharge avec E -ICAS=21
  298. C==========================================================
  299. 3100 CONTINUE
  300. XDLIM = XDEPA
  301. C
  302. IF (XDEPF.GT.XDLIM) THEN
  303. XDERES = XZER
  304. XDELOC = XDDEP
  305. ELSE
  306. XDELOC = XDLIM - XDEP0
  307. XDERES = XDDEP - XDELOC
  308. ENDIF
  309. C
  310. XKKK = (UN - XDAM)*YOUN
  311. XFORF = XFOR0 + (XKKK*XDELOC)
  312. C
  313. IF (XDEPM.LE.XDEPA) THEN
  314. XDEPM = XDEPA
  315. ENDIF
  316. C
  317. C
  318. IF (XDERES.EQ.XZER) THEN
  319. ICAS = 21
  320. GOTO 9999
  321. ELSE
  322. XFOR0 = XFORF
  323. XDEP0 = XDLIM
  324. XDDEP = XDERES
  325. GOTO 3200
  326. ENDIF
  327. C==========================================================
  328. C CAS B1 -Courbe de decharge avec glissement -ICAS=22
  329. C==========================================================
  330. 3200 CONTINUE
  331. XFORF = XZER
  332. IF (XDEPI.GE.XDEPF) THEN
  333. C XDEPGL = XGAMM*(UN-XNETA)*XDEPM + XGAMP*XDELA
  334. XDEPGL = XGAMM*XDEPM + XGAMP*XDELA
  335. C XDEPG2 = (UN-XNETA)*XDEPM
  336. XDEPG2 = XDEPM
  337. IF (XDEPGL.GE.XDEPG2) THEN
  338. XDEPGL = XDEPG2
  339. ENDIF
  340. IF (XDEPGL.GE.XDEPF) THEN
  341. XDEPI = XDEPGL
  342. ELSE
  343. XDEPI = XDEPF
  344. ENDIF
  345. ENDIF
  346. XDEPC = XDEPC + ABS(XDDEP)
  347. XDEPA = XDEPF
  348. ICAS = 22
  349. GOTO 9999
  350. C==================================================================
  351. 9999 CONTINUE
  352. C==================================================================
  353. C
  354. C On remplit les tableaux avant de sortir
  355. C
  356. C==================================================================
  357. XDEPA = XDEPF - (XFORF/((UN - XDAM)*YOUN))
  358. SIGF(1) = -XFORF
  359. C
  360. VARF(1) = XDAM
  361. VARF(2) = -XDEPM
  362. VARF(3) = -XDEPA
  363. VARF(4) = -XDEPI
  364. VARF(5) = -XDEPC
  365. VARF(6) = ICAS
  366. C=====================================================
  367. C FIN DE LA ROUTINE DU MODELE
  368. C======================================================
  369. RETURN
  370. END
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  

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