Télécharger cinfil.eso

Retour à la liste

Numérotation des lignes :

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

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