Télécharger dtak.eso

Retour à la liste

Numérotation des lignes :

dtak
  1. C DTAK SOURCE CHAT 05/01/12 22:57:00 5004
  2. C SUBRUTINE DTAK : APPLICATION D'UNE LOI DE COMPORTEMENT POUR DES
  3. C DEFORMATIONS DUES A LA FLEXION
  4. C======================================================================
  5. SUBROUTINE DTAK(IFLAG,IDEP,ELEF1,ELDEP1,ELEF2,ELDEP2,
  6. 1 YLEF1,YLDEP1,YLEF2,YLDEP2,ULEF1,ULDEP1,
  7. 2 ULEF2,ULDEP2,EF,VARDEP,DEP,DEPE,
  8. 3 DEPMAX,DEPMIN,EFMAX,EFMIN,X0,RR)
  9. C
  10. C =====================================================================
  11. C ELEF1 - EFFORT MAX. ELASTIQUE DANS LE SENS +
  12. C ELDEP1 - DEFORMATION MAX. ELASTIQUE DANS LE SENS +
  13. C ELEF1 - EFFORT MAX. ELASTIQUE DANS LE SENS -
  14. C ELDEP1 - DEFORMATION MAX. ELASTIQUE DANS LE SENS -
  15. C YLEF1 - EFFORT MAX. LINEAIRE DANS LE SENS +
  16. C YLDEP1 - DEFORMATION MAX. LINEAIRE DANS LE SENS +
  17. C YLEF1 - EFFORT MAX. LINEAIRE DANS LE SENS -
  18. C YLDEP1 - DEFORMATION MAX.LINEAIRE DANS LE SENS -
  19. C ULEF1 - EFFORT MAX. PLASTIQUE DANS LE SENS +
  20. C ULDEP1 - DEFORMATION MAX. PLASTIQUE DANS LE SENS +
  21. C ULEF2 - EFFORT MAX. PLASTIQUE DANS LE SENS -
  22. C ULDEP2 - DEFORMATION MAX. PLASTIQUE DANS LE SENS -
  23. C EF - EFFORT DU PAS PRECEDENT
  24. C VARDEP - L'INCREMENT DE DEFORMATION
  25. C DEP - DEFORMATION DU PAS PRECEDENT
  26. C DEPMAX - DEFORMATION MAX. +
  27. C DEPMIN - DEFORMATION MAX. -
  28. C EFMAX - EFFORT MAX. +
  29. C EFMIN - EFFORT MAX. -
  30. C X0 - DERNIERE INTERSECTION AVEC L'AXE OX
  31. C IFLAG - FLAG POUR LE STADE DE COMPORTEMENT
  32. C REL - RIGIDITE ELASTIQUE COHERENTE AVEC LA MATRICE DE
  33. C RIGIDITE
  34. C REL1 - RIGIDITE ELASTIQUE DANS LE SENS +
  35. C REL2 - RIGIDITE ELASTIQUE DANS LE SENS -
  36. C RR1 - RIGIDITE SECANTE DANS LE SENS +
  37. C RR2 - RIGIDITE SECANTE DANS LE SENS -
  38. C RIN1 - RIGIDITE INELASTIQUE DANS LE SENS +
  39. C RIN2 - RIGIDITE INELASTIQUE DANS LE SENS -
  40. C DEPT - DEFORMATION TOTALE
  41. C RR - RIGIDITATE POUR LE STADE DE COMPORTEMENT ACTUEL
  42. C
  43. C ----------------------------------------------------------------------
  44. C
  45. IMPLICIT INTEGER(I-N)
  46. IMPLICIT REAL*8(A-H,O-Z)
  47. C
  48. C INITIALISATION
  49. C
  50. REL = (ELEF1 - ELEF2)/(ELDEP1 - ELDEP2)
  51. C
  52. IF (ELDEP1.LT.YLDEP1) THEN
  53. REL1 = (YLEF1 - ELEF1)/(YLDEP1 - ELDEP1)
  54. ELSE
  55. REL1 = REL
  56. END IF
  57. C
  58. IF (ELDEP2.GT.YLDEP2) THEN
  59. REL2 = (YLEF2 - ELEF2)/(YLDEP2 - ELDEP2)
  60. ELSE
  61. REL2 = REL
  62. END IF
  63. C
  64. RIN1 = (ULEF1 - YLEF1) / (ULDEP1 - YLDEP1)
  65. RIN2 = (ULEF2 - YLEF2) / (ULDEP2 - YLDEP2)
  66. RR1 = (YLEF1 / YLDEP1)
  67. RR2 = (YLEF2 / YLDEP2)
  68. C
  69. IF(IFLAG.EQ.0) THEN
  70. IFLAG = 1
  71. RR = REL
  72. DEPMAX = ELDEP1
  73. EFMAX = ELEF1
  74. DEPMIN = ELDEP2
  75. EFMIN = ELEF2
  76. DEP = 0.0
  77. X0 = 0.0
  78. END IF
  79. C
  80. DEPT = DEP + VARDEP
  81. C
  82. C CAS EF = 0
  83. C
  84. IF(EF.EQ.0.)THEN
  85. IF(IFLAG.EQ.1)THEN
  86. IF(DEPT.GT.0.)GO TO 11
  87. IF(DEPT.LT.0.)GO TO 12
  88. RETURN
  89. END IF
  90. IF((VARDEP.GT.0.).AND.(RR.EQ.(EFMIN / (DEPMIN - X0))))THEN
  91. RR = EFMAX / (DEPMAX - X0)
  92. GO TO 3
  93. ELSE IF((VARDEP.LT.0.).AND.(RR.EQ.(EFMAX/(DEPMAX-X0))))THEN
  94. RR = EFMIN / (DEPMIN - X0)
  95. GO TO 3
  96. END IF
  97. IF(IFLAG.EQ.3)GO TO 31
  98. END IF
  99. C
  100. GO TO(1,2,3,4),IFLAG
  101. C
  102. C STADE ELASTIQUE
  103. C
  104. 1 IFLAG = 1
  105. 11 IF(EF.GE.0)THEN
  106. IF(DEPT.GT.YLDEP1)THEN
  107. DEPMAX = YLDEP1
  108. EFMAX = YLEF1
  109. VARDEP = DEPT - YLDEP1
  110. DEP = YLDEP1
  111. EF = YLEF1
  112. RR = RIN1
  113. GO TO 2
  114. ELSE
  115. IF ((ELDEP1.LT.YLDEP1).AND.(DEPT.GE.0.))THEN
  116. IF (VARDEP.GE.0.)THEN
  117. IF ((DEP.GE.DEPMAX).OR.(DEPMAX.EQ.ELDEP1)) THEN
  118. IF ((DEP.LE.ELDEP1).AND.(DEPT.LE.ELDEP1))THEN
  119. RR=REL
  120. ELSE IF ((DEP.GE.ELDEP1).AND.(DEPT.GE.ELDEP1))THEN
  121. RR=REL1
  122. ELSE IF ((DEP.LE.ELDEP1).AND.(DEPT.GE.ELDEP1))THEN
  123. VARDEP=DEPT-ELDEP1
  124. EF=ELEF1
  125. DEP=ELDEP1
  126. RR=REL1
  127. ENDIF
  128. ELSE
  129. IF (DEPT.GE.DEPMAX) THEN
  130. VARDEP=DEPT-DEPMAX
  131. EF=EFMAX
  132. DEP=DEPMAX
  133. RR=REL1
  134. ELSE
  135. RR=(EFMAX/DEPMAX)
  136. ENDIF
  137. ENDIF
  138. ELSE
  139. IF (DEP.GT.DEPMAX) THEN
  140. DEPMAX=DEP
  141. EFMAX=EF
  142. ENDIF
  143. IF (DEPMAX.EQ.ELDEP1)THEN
  144. RR=REL
  145. ELSE
  146. RR=(EFMAX/DEPMAX)
  147. ENDIF
  148. ENDIF
  149. EF = EF + VARDEP * RR
  150. DEP = DEPT
  151. RETURN
  152. END IF
  153. END IF
  154. IF(DEPT.LT.0.) THEN
  155. DEP = 0.
  156. VARDEP = DEPT
  157. EF = 0.
  158. RR = REL
  159. GO TO 12
  160. END IF
  161. EF = EF + VARDEP * RR
  162. DEP = DEPT
  163. RETURN
  164. END IF
  165. 12 IF(EF.LE.0.)THEN
  166. IF(DEPT.LT.YLDEP2) THEN
  167. DEPMIN = YLDEP2
  168. EFMIN = YLEF2
  169. VARDEP = DEPT - YLDEP2
  170. DEP = YLDEP2
  171. EF = YLEF2
  172. RR = RIN2
  173. GO TO 2
  174. ELSE
  175. IF ((ELDEP2.GT.YLDEP2).AND.(DEPT.LE.0.))THEN
  176. IF (VARDEP.LE.0.)THEN
  177. IF ((DEP.LE.DEPMIN).OR.(DEPMIN.EQ.ELDEP2)) THEN
  178. IF ((DEP.GE.ELDEP2).AND.(DEPT.GE.ELDEP2))THEN
  179. RR=REL
  180. ELSE IF ((DEP.LE.ELDEP2).AND.(DEPT.LE.ELDEP2))THEN
  181. RR=REL2
  182. ELSE IF ((DEP.GE.ELDEP2).AND.(DEPT.LE.ELDEP2))THEN
  183. VARDEP=DEPT-ELDEP2
  184. EF=ELEF2
  185. DEP=ELDEP2
  186. RR=REL2
  187. ENDIF
  188. ELSE
  189. IF (DEPT.LE.DEPMIN) THEN
  190. VARDEP=DEPT-DEPMIN
  191. EF=EFMIN
  192. DEP=DEPMIN
  193. RR=REL2
  194. ELSE
  195. RR=(EFMIN/DEPMIN)
  196. ENDIF
  197. ENDIF
  198. ELSE
  199. IF (DEP.LT.DEPMIN)THEN
  200. DEPMIN=DEP
  201. EFMIN=EF
  202. ENDIF
  203. IF (DEPMIN.EQ.ELDEP2)THEN
  204. RR=REL
  205. ELSE
  206. RR=(EFMIN/DEPMIN)
  207. ENDIF
  208. ENDIF
  209. EF = EF + VARDEP * RR
  210. DEP = DEPT
  211. RETURN
  212. END IF
  213. END IF
  214. IF (DEPT.GT.0.) THEN
  215. DEP = 0.
  216. VARDEP = DEPT
  217. EF = 0.
  218. RR = REL
  219. GO TO 11
  220. END IF
  221. EF = EF + VARDEP * RR
  222. DEP = DEPT
  223. RETURN
  224. END IF
  225. C
  226. C STADE PLASTIQUE
  227. C
  228. 2 IFLAG = 2
  229. IF((EF * VARDEP).GE.0.) THEN
  230. EF = EF + VARDEP * RR
  231. DEP = DEPT
  232. IF(EF.GT.ULEF1) IDEP = 1
  233. IF(EF.LT.ULEF2) IDEP = -1
  234. RETURN
  235. END IF
  236. IF(EF.GE.0.)THEN
  237. DEPMAX = DEP
  238. EFMAX = EF
  239. RR = SQRT(YLDEP1 / DEP) * RR1
  240. ELSE
  241. DEPMIN = DEP
  242. EFMIN = EF
  243. RR = SQRT(YLDEP2 / DEPMIN) * RR2
  244. END IF
  245. C
  246. C DECHARGE SANS CHANGEMENT DE SENS
  247. C
  248. 3 IFLAG = 3
  249. IF(EF.EQ.0.)GO TO 4
  250. IF((EF * VARDEP).GT.0.)THEN
  251. IF(EF.GT.0.)RR = (EFMAX - EF) / (DEPMAX - DEP)
  252. IF(EF.LT.0.)RR = (EFMIN - EF) / (DEPMIN - DEP)
  253. GO TO 4
  254. END IF
  255. EFT1 = EF + VARDEP * RR
  256. IF((EFT1 * EF).GT.0.0)THEN
  257. EF = EFT1
  258. DEP = DEPT
  259. RETURN
  260. END IF
  261. 31 X0 = DEP - EF / RR
  262. IF(VARDEP.GT.0.)RR = EFMAX / (DEPMAX - X0)
  263. IF(VARDEP.LT.0.)RR = EFMIN / (DEPMIN - X0)
  264. DEP = X0
  265. VARDEP = DEPT - DEP
  266. EF = 0.
  267. IF(VARDEP.EQ.0.)RETURN
  268. C
  269. C DECHARGE APRES LE CHANGEMENT DE SENS
  270. C
  271. 4 IFLAG = 4
  272. IF((EF * VARDEP).GE.0.)THEN
  273. IF(DEPT.GT.DEPMAX)THEN
  274. VARDEP = DEPT - DEPMAX
  275. DEP = DEPMAX
  276. EF = EFMAX
  277. IF(DEPMAX.GT.YLDEP1)THEN
  278. RR = RIN1
  279. GO TO 2
  280. ELSE
  281. RR = (EFMAX/DEPMAX)
  282. GO TO 11
  283. END IF
  284. END IF
  285. IF(DEPT.LT.DEPMIN)THEN
  286. VARDEP = DEPT - DEPMIN
  287. DEP = DEPMIN
  288. EF = EFMIN
  289. IF(DEPMIN.LT.YLDEP2)THEN
  290. RR = RIN2
  291. GO TO 2
  292. ELSE
  293. RR = (EFMIN/DEPMIN)
  294. GO TO 11
  295. END IF
  296. END IF
  297. EF = EF + VARDEP * RR
  298. DEP = DEPT
  299. RETURN
  300. END IF
  301. IF(EF.GE.0.)RR = SQRT(YLDEP1 / DEPMAX) * RR1
  302. IF(EF.LT.0.)RR = SQRT(YLDEP2 / DEPMIN) * RR2
  303. GO TO 3
  304. END
  305.  
  306.  
  307.  

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