Télécharger paranc.eso

Retour à la liste

Numérotation des lignes :

paranc
  1. C PARANC SOURCE CHAT 12/04/06 21:15:23 7348
  2. C
  3. SUBROUTINE PARANC(XMAT,XSECT,DEPST,SIG0,VAR0,SIGF,VARF,DEFP)
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6. -INC CCREEL
  7. DIMENSION XMAT(15),VAR0(8),VARF(8)
  8. C----------------------------------------------------------------------
  9. C
  10. C MODELE D'ANCRAGE POUR DES ELEMENTS DE BARRE ET
  11. C LE MODELE ACIER PLASTIQUE DU BAEL
  12. C LOI D'ADHERENCE ACIER-BETON D'ELIGEHAUSEN
  13. C D'APRES BARPAR et ELIGEH
  14. C----------------------------------------------------------------------
  15. C Didier COMBESCURE - EMSI - MAI 2000
  16. C----------------------------------------------------------------------
  17. C
  18. C XMAT( 1) YOUNG
  19. C XMAT( 2) NU
  20. C XMAT( 3) RHO
  21. C XMAT( 4) ALPHA
  22. C XMAT( 5) FY
  23. C XMAT( 6) HH
  24. C
  25. C XMAT( 7) KS
  26. C XMAT( 8) S1T
  27. C XMAT( 9) S2T
  28. C XMAT(10) S3T
  29. C XMAT(11) T1T
  30. C XMAT(12) T3T
  31. C XMAT(13) ALFA
  32. C XMAT(14) LANC
  33. C
  34. C
  35. C SIGF STRESS
  36. C DEPST,DEFP
  37. C
  38. C VAR0( 1) VARF( 1) EPSE DEFORMATION PLASTIQUE
  39. C VAR0( 3) VARF( 3) EPPP
  40. C VAR0( 4) VARF( 4) EPPM
  41. C VAR0( 5) VARF( 5) EPSOA
  42. C VAR0( 6) VARF( 6) KSTAN
  43. C VAR0( 7) VARF( 7) NITER
  44. C VAR0( 8) VARF( 8) XLAMBDA
  45. C
  46. C----------------------------------------------------------------------
  47. C DONNEES GEOMETRIQUES DES ANCRAGES
  48. C
  49. C
  50. XDIAM = 2.D0*((XSECT/xpi)**0.5D0)
  51. XLANC = XMAT(14)
  52. XPERI = xpi*XDIAM
  53. C
  54. C
  55. IF (XLANC.LE.0.D0) THEN
  56. WRITE (*,*) 'Longueur d ancrage nulle ou négative'
  57. XLANC = 1.D-8
  58. ENDIF
  59. C
  60. C
  61. C Joint
  62. C
  63. G12 = XMAT(7)
  64. S1T = XMAT(8)
  65. S2T = XMAT(9)
  66. S3T = XMAT(10)
  67. T1T = XMAT(11)
  68. T3T = XMAT(12)
  69. ALFA = XMAT(13)
  70. C
  71. G12S = 0.10D0*T1T/S1T
  72. C
  73. XJACJOSE = XPERI * (T1T/S1T) * XLANC
  74. XJACJOEL = XPERI * G12 * XLANC
  75. C
  76. C Acier
  77. C
  78. GAMMA=XMAT(1)/2.D0/(XMAT(2)+1.D0)
  79. EYOUN = XMAT( 1)
  80. FYP = XMAT(5)
  81. FYN = (-1.D0)*XMAT(5)
  82. HHH = XMAT(6)
  83. C
  84. C Increment de deformation totale
  85. C
  86. DEPS = DEPST
  87. C
  88. C
  89. C Contrainte initiale dans l'acier
  90. C
  91. XSIG0 = SIG0
  92. C
  93. C Deformation plastique de l'acier
  94. C
  95. XEPSE = VAR0(1)
  96. EPSOACI0 = XEPSE + (XSIG0/EYOUN)
  97. C
  98. FYPE = FYP + ( HHH * XEPSE)
  99. FYNE = FYN + ( HHH * XEPSE)
  100. C
  101. TANGE0 = VAR0(2)
  102. C
  103. C Glissements plastiques du joint
  104. C
  105. EPPP = VAR0(3)
  106. EPPM = VAR0(4)
  107. C
  108. C Glissement total initial
  109. C
  110. GLISJOI0 = VAR0(5)
  111. C
  112. C Déformation axiale correspondante
  113. C
  114. EPSOJOI0 = GLISJOI0/XLANC
  115. C
  116. C
  117. C Participation Glissement/déformation acier
  118. C
  119. C On estime la partition glissement/déformation initiale à partir
  120. C des rigidités tangentes ou du lambda précédent
  121. C
  122. C
  123. CALL ELIGEH(GLISJOI0,G12,S1T,S2T,S3T,T1T,T3T,ALFA,
  124. . EPPP,EPPM,EPPPF,EPPMF,XKTANJ,TAUF)
  125. C
  126. XDENLAM = (XLANC*XKTANJ) + (0.25D0*XDIAM*TANGE0)
  127. IF (ABS(XDENLAM).GT.((1.D-6)*G12*XLANC)) THEN
  128. XLAMBDA = (XLANC*XKTANJ)/XDENLAM
  129. ELSE
  130. XLAMBDA = VAR0(8)
  131. ENDIF
  132. C
  133. C
  134. NITER = 0
  135. C
  136. C ON ITERE
  137. C
  138. 100 CONTINUE
  139. C WRITE(*,*) NITER
  140. C_________________________________________________________________________
  141. C
  142. C CALCUL DES CONTRAINTES ET DES DEFORMATIONS PLASTIQUES DANS L'ACIER
  143. C_________________________________________________________________________
  144. C
  145. C
  146. DEPSTA = XLAMBDA*DEPS
  147. C
  148. XSIGT = XSIG0 + (EYOUN * DEPSTA)
  149. C
  150. IF (XSIGT . GT . FYPE) THEN
  151. C
  152. XDEP = ((EYOUN/(EYOUN+HHH))*DEPSTA)
  153. & + ((XSIG0 - FYPE)/(EYOUN+HHH))
  154. XSIGF = XSIG0 + (EYOUN*(DEPSTA - XDEP))
  155. XTAN = (EYOUN*HHH)/(EYOUN+HHH)
  156. C
  157. ELSEIF (XSIGT . LT . FYNE) THEN
  158. C
  159. XDEP = ((EYOUN/(EYOUN+HHH))*DEPSTA)
  160. & + ((XSIG0 - FYNE)/(EYOUN+HHH))
  161. XSIGF = XSIG0 + (EYOUN*(DEPSTA - XDEP))
  162. XTAN = (EYOUN*HHH)/(EYOUN+HHH)
  163. C
  164. ELSE
  165. C
  166. XSIGF = XSIGT
  167. XDEP = 0.D0
  168. XTAN = EYOUN
  169. C
  170. ENDIF
  171. C
  172. C DEFORMATION PLASTIQUE ACIER
  173. C
  174. XEPSET = XEPSE +XDEP
  175. C
  176. C
  177. C XSIGF: CONTRAINTE ACIER
  178. C XFORACIE : Force correspondante
  179. C
  180. XFORACIE = XSECT*XSIGF
  181. XJACACIE = XSECT*XTAN
  182. XJACACEL = XSECT*EYOUN
  183. C
  184. C_________________________________________
  185. C
  186. C FIN CALCUL CONTRAINTES DANS L'ACIER
  187. C_________________________________________
  188. C
  189. C__________________________________________
  190. C
  191. C CALCUL CONTRAINTES DANS L'ANCRAGE
  192. C__________________________________________
  193. C
  194. GLISJOIN = GLISJOI0 + ((1.D0 - XLAMBDA)*DEPS*XLANC)
  195. C
  196. CALL ELIGEH(GLISJOIN,G12,S1T,S2T,S3T,T1T,T3T,ALFA,
  197. . EPPP,EPPM,EPPPF,EPPMF,XKTANJ,TAUF)
  198. C
  199. C
  200. XFORJOIN = XPERI * TAUF * XLANC
  201. C
  202. XJACJOIN = XPERI * XKTANJ * XLANC
  203. C
  204. XJACJOEL = XPERI * G12 * XLANC
  205. C____________________________________________
  206. C
  207. C FIN CALCUL CONTRAINTE DANS L'ANCRAGE
  208. C____________________________________________
  209. C
  210. C
  211. C CALCUL DU RESIDU
  212. C
  213. XRESIDU = XFORACIE - XFORJOIN
  214. C
  215. C TEST DE SORTIE
  216. C
  217. IF (ABS(XRESIDU/(XSECT*FYP)).LE.1.D-6) GOTO 1000
  218. C
  219. C
  220. NITER = NITER + 1
  221. C
  222. IF (NITER.GT.1000) THEN
  223. WRITE (*,*) 'Non convergence dans les itérations '
  224. WRITE (*,*) 'internes de PARFAIT_ANCRAGE'
  225. GOTO 1000
  226. ENDIF
  227. C
  228. C CALCUL DU JACOBIEN
  229. C
  230. C
  231. XJACTAN = (XJACACIE + (XLANC*XJACJOIN))
  232. IF (ABS(XJACTAN).LT. ((XJACACEL + (XLANC*XJACJOSE))*1.D-3)) THEN
  233. XJACTAN = ((XJACACEL + (XLANC*XJACJOSE))*1.D-3)
  234. ENDIF
  235. C
  236. IF (NITER.EQ.1) THEN
  237. XJAC = XJACTAN*DEPS
  238. ELSEIF ((NITER.EQ.5)) THEN
  239. XJAC = XJACTAN*DEPS
  240. ELSEIF ((NITER.EQ.10)) THEN
  241. XJAC = XJACTAN*DEPS
  242. ELSEIF ((NITER.EQ.15)) THEN
  243. XJAC = (XJACACEL + (XLANC*XJACJOEL))*DEPS
  244. XLAMBDA = VAR0(8)
  245. GOTO 100
  246. ELSEIF ((NITER.EQ.50)) THEN
  247. XJAC = XJACTAN*DEPS
  248. ELSEIF (NITER.EQ.100) THEN
  249. XJAC = (XJACACEL + (XLANC*XJACJOEL))*DEPS
  250. XLAMBDA = 0.D0
  251. GOTO 100
  252. ELSEIF ((NITER.EQ.150)) THEN
  253. XJAC = XJACTAN*DEPS
  254. ENDIF
  255. C
  256. IF (ABS(DEPS).LT.1.D-5) GOTO 1000
  257. C
  258. XH0 = 1.0D0 / XJAC
  259. XLAMBDA = XLAMBDA - (XH0*XRESIDU)
  260. C
  261. IF (ABS(XLAMBDA).GT.50D0) THEN
  262. XLAMBDA = 0.D0
  263. XJAC = (XJACACEL + (XLANC*XJACJOEL))*DEPS
  264. GOTO 100
  265. ENDIF
  266. C
  267. GOTO 100
  268. C
  269. C
  270. 1000 CONTINUE
  271. C
  272. C ON SORT
  273. C
  274. C
  275. SIGF = XFORACIE/XSECT
  276. C
  277. VARF(1) = XEPSET
  278. C
  279. VARF(2) = XJACACIE/XSECT
  280. C
  281. VARF(3) = EPPPF
  282. VARF(4) = EPPMF
  283. VARF(5) = GLISJOIN
  284. XKTADEN = (XJACJOIN*XLANC) + XJACACIE
  285. IF ((ABS(XKTADEN)).GE.1.D-10) THEN
  286. VARF(6) = XJACJOIN*XLANC*XJACACIE/(XKTADEN*XSECT)
  287. ELSE
  288. VARF(6) = 0.D0
  289. ENDIF
  290. VARF(7) = NITER
  291. VARF(8) = XLAMBDA
  292. C
  293. DEFP = XEPSET
  294. C
  295. RETURN
  296. END
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  

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