Télécharger acianc.eso

Retour à la liste

Numérotation des lignes :

acianc
  1. C ACIANC SOURCE CHAT 12/04/06 21:15:00 7348
  2. C ACIANC SOURCE CHAT 05/01/12 21:15:36 5004
  3. C
  4. SUBROUTINE ACIANC(XMAT,XCAR,DEPST,SIG0,VAR0,SIGF,VARF,DEFP)
  5. *
  6. IMPLICIT INTEGER(I-N)
  7. IMPLICIT REAL*8(A-H,O-Z)
  8. DIMENSION XMAT(25),VAR0(18),VARF(18)
  9. DIMENSION EPSON(5),SIGMA(5),EPSON0(5),SIGMA0(5)
  10. CHARACTER*8 CMATE
  11. C----------------------------------------------------------------------
  12. C----------------------------------------------------------------------
  13. C Didier COMBESCURE - EMSI MAI 2000
  14. C MODELE D'ANCRAGE AVEC LA LOI ACIER_UNI POUR l'ACIER
  15. C ET ELIGEHAUSEN POUR LE GLISSEMENT
  16. C
  17. C FONCTIONNE SUR LES ELEMENTS BARRES ET AVEC LE MODELE A FIBRE
  18. C
  19. C----------------------------------------------------------------------
  20. C
  21. C XMAT( 1) YOUNG
  22. C XMAT( 2) NU
  23. C XMAT( 3) RHO
  24. C XMAT( 4) ALPHA
  25. C XMAT( 5) MAX. ELAST. STRESS
  26. C XMAT( 6) ULTIMATE STRESS
  27. C XMAT( 7) HARDENING STRAIN
  28. C XMAT( 8) ULTIMATE STRAIN
  29. C XMAT( 9) Ro FACTOR
  30. C XMAT(10) b FACTOR
  31. C XMAT(11) a1 FACTOR
  32. C XMAT(12) a2 FACTOR
  33. C XMAT(13) FACTOR L/D
  34. C XMAT(14) a6 FACTOR
  35. C XMAT(15) c FACTOR
  36. C XMAT(16) a FACTOR
  37. C XMAT(17) KS
  38. C XMAT(18) S1T
  39. C XMAT(19) S2T
  40. C XMAT(20) S3T
  41. C XMAT(21) T1T
  42. C XMAT(22) T3T
  43. C XMAT(23) ALFA
  44. C XMAT(24) LANC
  45. C XMAT(25) SECT
  46. C
  47. C DEPS(1) EPXX SIG0(1) SIGF(1) SMXX
  48. C DEPS(2) GAXY SIG0(2) SIGF(2) SMXY
  49. C DEPS(3) GAXZ SIG0(3) SIGF(3) SMXZ
  50. C
  51.  
  52. C VAR0( 1) VARF( 1) FLAG
  53. C VAR0( 2) VARF( 2) EPSO
  54. C VAR0( 3) VARF( 3) R FACTOR
  55. C VAR0( 4) VARF( 4) TANGENT MODULUS
  56. C VAR0( 5) VARF( 5) LAST REV. STRAIN
  57. C VAR0( 6) VARF( 6) INTERSEPTION POINT
  58. C VAR0( 7) VARF( 7) MAX. REV. POST. STRAIN
  59. C VAR0( 8) VARF( 8) MIN. REV. POST. STRAIN
  60. C VAR0( 9) VARF( 9) LAST REV. STRESS
  61. C VAR0(10) VARF(10) INTERSEPTION POINT
  62. C VAR0(11) VARF(11) MAX. REV. POST. STRESS
  63. C VAR0(12) VARF(12) MIN. REV. POST. STRESS
  64. C VAR0(13) VARF(13) EPPP
  65. C VAR0(14) VARF(14) EPPM
  66. C VAR0(15) VARF(15) EPSOA
  67. C VAR0(16) VARF(16) KSTAN
  68. C VAR0(17) VARF(17) NITER
  69. C VAR0(18) VARF(18) XLAMBDA
  70. C
  71. C----------------------------------------------------------------------
  72. C
  73. C----------------------------------------------------------------------
  74. *
  75. -INC CCREEL
  76. XSECT = XCAR
  77. C
  78. C DONNEES GEOMETRIQUES DES ANCRAGES
  79. C
  80. XDIAM = 2.D0*((XSECT/xpi)**0.5D0)
  81. XLANC = XMAT(24)
  82. XPERI = xpi*XDIAM
  83. C
  84. IF (XLANC.LE.0.D0) THEN
  85. WRITE (*,*) 'Longueur d ancrage nulle ou négative'
  86. XLANC = 1.D-8
  87. ENDIF
  88. C
  89. C
  90. C CARACTERISTIQUES ACIER
  91. C
  92. EYOUN = XMAT( 1)
  93. FSY__ = XMAT( 5)
  94. FSU__ = XMAT( 6)
  95. EPSH_ = XMAT( 7)
  96. EPSU_ = XMAT( 8)
  97. ROFAC = XMAT( 9)
  98. BFACT = XMAT(10)
  99. A1FAC = XMAT(11)
  100. A2FAC = XMAT(12)
  101. FACLD = XMAT(13)
  102. A6FAC = XMAT(14)
  103. CFACT = XMAT(15)
  104. AFACT = XMAT(16)
  105. C
  106. C
  107. C
  108. C Joint
  109. C
  110. G12 = XMAT(17)
  111. S1T = XMAT(18)
  112. S2T = XMAT(19)
  113. S3T = XMAT(20)
  114. T1T = XMAT(21)
  115. T3T = XMAT(22)
  116. ALFA = XMAT(23)
  117. C
  118. G12S = 0.10D0*T1T/S1T
  119. C
  120. XJACJOSE = XPERI * (T1T/S1T) * XLANC
  121. XJACJOEL = XPERI * G12 * XLANC
  122. C
  123. C
  124. C Increment de deformation totale
  125. C
  126. DEPS = DEPST
  127. C
  128. C
  129. C Contrainte initiale dans l'acier
  130. C
  131. XSIG0 = SIG0
  132. C
  133. C VARIABLES INTERNES
  134. C
  135. C ACIERS
  136. C
  137. IFLAG0 = NINT(VAR0(1))
  138. STRAI0 = VAR0(2)
  139. RFACT0 = VAR0(3)
  140. TANGE0 = VAR0(4)
  141. C
  142. DO IFACT = 1, 2
  143. EPSON0(IFACT) = VAR0(4+IFACT)
  144. SIGMA0(IFACT) = VAR0(8+IFACT)
  145. END DO
  146. C
  147. EPSON0(3) = VAR0(2)
  148. SIGMA0(3) = XSIG0
  149. C
  150. DO IFACT = 4, 5
  151. EPSON0(IFACT) = VAR0(3+IFACT)
  152. SIGMA0(IFACT) = VAR0(7+IFACT)
  153. END DO
  154. C
  155. C VARIABLES INTERNES JOINT
  156. C
  157. C Glissements plastiques du joint
  158. C
  159. EPPP = VAR0(13)
  160. EPPM = VAR0(14)
  161. C
  162. C Glissement total initial
  163. C
  164. GLISJOI0 = VAR0(15)
  165. C
  166. C Déformation axiale correspondante
  167. C
  168. EPSOJOI0 = GLISJOI0/XLANC
  169. C
  170. C
  171. C Participation Glissement/déformation acier
  172. C
  173. C On estime la partition glissement/déformation initiale à partir
  174. C des rigidités tangentes ou du lambda précédent
  175. C
  176. C
  177. CALL ELIGEH(GLISJOI0,G12,S1T,S2T,S3T,T1T,T3T,ALFA,
  178. . EPPP,EPPM,EPPPF,EPPMF,XKTANJ,TAUF)
  179. C
  180. XDENLAM = (XLANC*XKTANJ) + (0.25D0*XDIAM*TANGE0)
  181. IF (ABS(XDENLAM).GT.((1.D-6)*G12*XLANC)) THEN
  182. XLAMBDA = (XLANC*XKTANJ)/XDENLAM
  183. ELSE
  184. XLAMBDA = VAR0(18)
  185. ENDIF
  186. C
  187. C
  188. NITER = 0
  189. C
  190. C ON ITERE
  191. C
  192. 100 CONTINUE
  193. C________________________________________________________________________
  194. C
  195. C CALCUL DES CONTRAINTES ET DES DEFORMATIONS PLASTIQUES DANS L'ACIER
  196. C_________________________________________________________________________
  197. C
  198. C
  199. DO IFACT = 1, 5
  200. EPSON(IFACT) = EPSON0(IFACT)
  201. SIGMA(IFACT) = SIGMA0(IFACT)
  202. END DO
  203. C
  204. STRAI = STRAI0 + XLAMBDA*DEPS
  205. IFLAG = IFLAG0
  206. RFACT = RFACT0
  207. TANGE = TANGE0
  208. C
  209. CALL STEEL1
  210. . ( EYOUN, FSY__, FSU__, EPSH_, EPSU_, ROFAC, BFACT,
  211. . A1FAC, A2FAC, FACLD, A6FAC, CFACT, AFACT, IFLAG,
  212. . STRAI, RFACT, EPSON, SIGMA, TANGE, STRES )
  213. C
  214. C
  215. C XSIGF: CONTRAINTE ACIER
  216. C
  217. XSIGF = STRES
  218. XTAN = TANGE
  219. C
  220. C XFORACIE : Force correspondante
  221. C
  222. XFORACIE = XSECT*XSIGF
  223. XJACACIE = XSECT*XTAN
  224. XJACACEL = XSECT*EYOUN
  225. C_________________________________________
  226. C
  227. C FIN CALCUL CONTRAINTES DANS L'ACIER
  228. C_________________________________________
  229. C__________________________________________
  230. C
  231. C CALCUL CONTRAINTES DANS L'ANCRAGE
  232. C__________________________________________
  233. C
  234. GLISJOIN = GLISJOI0 + ((1.D0 - XLAMBDA)*DEPS*XLANC)
  235. C
  236. CALL ELIGEH(GLISJOIN,G12,S1T,S2T,S3T,T1T,T3T,ALFA,
  237. . EPPP,EPPM,EPPPF,EPPMF,XKTANJ,TAUF)
  238. C
  239. C
  240. XFORJOIN = XPERI * TAUF * XLANC
  241. C
  242. XJACJOIN = XPERI * XKTANJ * XLANC
  243. C
  244. XJACJOEL = XPERI * G12 * XLANC
  245. C____________________________________________
  246. C
  247. C FIN CALCUL CONTRAINTE DANS L'ANCRAGE
  248. C____________________________________________
  249. C
  250. C
  251. C CALCUL DU RESIDU
  252. C
  253. XRESIDU = XFORACIE - XFORJOIN
  254. C
  255. C TEST DE SORTIE
  256. C
  257. IF (ABS(XRESIDU/(XSECT*FSY__)).LE.1.D-7) GOTO 1000
  258. C
  259. C
  260. NITER = NITER + 1
  261. C
  262. IF (NITER.GT.1000) THEN
  263. WRITE (*,*) 'Non convergence dans les itérations '
  264. WRITE (*,*) 'internes de ACIER_ANCRAGE'
  265. GOTO 1000
  266. ENDIF
  267. C
  268. C CALCUL DU JACOBIEN
  269. C
  270. C
  271. XJACTAN = (XJACACIE + (XLANC*XJACJOIN))
  272. IF (ABS(XJACTAN).LT. ((XJACACEL + (XLANC*XJACJOSE))*1.D-3)) THEN
  273. XJACTAN = ((XJACACEL + (XLANC*XJACJOSE))*1.D-3)
  274. ENDIF
  275. C
  276. IF (NITER.EQ.1) THEN
  277. XJAC = XJACTAN*DEPS
  278. ELSEIF ((NITER.EQ.10)) THEN
  279. XJAC = XJACTAN*DEPS
  280. ELSEIF ((NITER.EQ.20)) THEN
  281. XJAC = XJACTAN*DEPS
  282. ELSEIF ((NITER.EQ.30)) THEN
  283. XJAC = XJACTAN*DEPS
  284. ELSEIF ((NITER.EQ.40)) THEN
  285. XJAC = XJACTAN*DEPS
  286. ELSEIF ((NITER.EQ.50)) THEN
  287. XJAC = (XJACACEL + (XLANC*XJACJOEL))*DEPS
  288. XLAMBDA = VAR0(18)
  289. GOTO 100
  290. ELSEIF ((NITER.EQ.100)) THEN
  291. XJAC = XJACTAN*DEPS
  292. ELSEIF (NITER.EQ.200) THEN
  293. XJAC = (XJACACEL + (XLANC*XJACJOEL))*DEPS
  294. XLAMBDA = 0.D0
  295. GOTO 100
  296. ELSEIF ((NITER.EQ.300)) THEN
  297. XJAC = XJACTAN*DEPS
  298. ENDIF
  299. C
  300. IF (ABS(DEPS).LT.1.D-9) GOTO 1000
  301. C
  302. XH0 = 1.0D0 / XJAC
  303. XLAMBDA = XLAMBDA - (XH0*XRESIDU)
  304. C
  305. IF (ABS(XLAMBDA).GT.50.D0) THEN
  306. XLAMBDA = 0.D0
  307. XJAC = (XJACACEL + (XLANC*XJACJOEL))*DEPS
  308. GOTO 100
  309. ENDIF
  310. C
  311. GOTO 100
  312. C
  313. C
  314. 1000 CONTINUE
  315. C
  316. C ON SORT
  317. C
  318. SIGF = XSIGF
  319. C
  320. C
  321. C DEFORMATION PLASTIQUE ACIER
  322. C
  323. DEFP = (XLAMBDA*DEPS) - ((XSIGF - XSIG0) / EYOUN)
  324. C
  325. C VARIABLES INTERNES ACIER
  326. C
  327. VARF(1) = DBLE(IFLAG)
  328. VARF(2) = STRAI
  329. VARF(3) = RFACT
  330. VARF(4) = TANGE
  331. C
  332. DO IFACT = 1, 2
  333. VARF(4+IFACT) = EPSON(IFACT)
  334. VARF(8+IFACT) = SIGMA(IFACT)
  335. END DO
  336. C
  337. DO IFACT = 4, 5
  338. VARF(3+IFACT) = EPSON(IFACT)
  339. VARF(7+IFACT) = SIGMA(IFACT)
  340. END DO
  341. C
  342. C VARIABLES INTERNES JOINT
  343. C
  344. VARF(13) = EPPPF
  345. VARF(14) = EPPMF
  346. VARF(15) = GLISJOIN
  347. XKTADEN = (XJACJOIN*XLANC) + XJACACIE
  348. IF ((ABS(XKTADEN)).GE.1.D-10) THEN
  349. VARF(16) = XJACJOIN*XLANC*XJACACIE/(XKTADEN*XSECT)
  350. ELSE
  351. VARF(16) = 0.D0
  352. ENDIF
  353. VARF(17) = NITER
  354. VARF(18) = XLAMBDA
  355. C
  356. RETURN
  357. END
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  

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