Télécharger tansr.eso

Retour à la liste

Numérotation des lignes :

  1. C TANSR SOURCE CHAT 05/01/13 03:32:01 5004
  2. C SOURCE BERTHOLLET
  3. SUBROUTINE TANSR(RELAX,TZO,DUR,FIFLU,TRO,BETJEF,BETFLU)
  4. C
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. C
  8. DIMENSION RELAX(200,200),DELTRAX(200,200),TZO(200),DUR(200),
  9. & ELAS(200),TINTER(200,200,200),TZSUP(200,200),TZU(200),
  10. & FIFLU(200,200),DURE(200),TRO(200)
  11. C
  12. C*******************************************************************
  13. C
  14. C ELAS(J) = MODULE D ELASTICITE POUR CHAQUE t0 EN MPA.
  15. C TZU(J) = VALEURS DES t0 = DATE D'APPLICATION DE LA CHARGE EN JOURS.
  16. C DURE(I) = VALEURS DES DUREES t-t0 D APPLICATION VARIABLES
  17. C DE LA CHARGE EN JOURS.
  18. C TZSUP(I,J) = ADDITION DE L AGE D APPLICATION t0 DE LA CHARGE
  19. C AVEC LES DUREES D APPLICATION DUR(I) EN JOURS.
  20. C TINTER(DURE(I),(DURE(I)+t0)) = TABLEAU DES VALEURS DE LA FONCTION DE
  21. C FLUAGE POUR CHAQUE DUREE D APPLICATION
  22. C ET CHAQUE PSEUDO-DATES D APPLICATION.
  23. C (TABLEAU POUR LA METHODE DE CALCUL PAR APPROXIMATION NUMERIQUE)
  24. C
  25. C RELAX(I,J) = TABLEAU DES FONCTIONS DE RELAXATION POUR J=t0
  26. C ET DUR(I) EN MPA.
  27. C
  28. C ITYPE = CODE D ACCES AU CHOIX DU MODELE DE FLUAGE
  29. C ITYPE = 1 : MODELE ACI209
  30. C ITYPE = 2 : MODELE ESPION ET HALLEUX
  31. C ITYPE = 3 : MODELE B3
  32. C ITYPE = 4 : MODELE CEBFIP
  33. C ITYPE = 5 : MODELE EUROCODE2
  34. C ITYPE = 6 : MODELE BPEL91
  35. C ITYPE = 7 : MODELE AFREM
  36. C ITYPE = 8 : MODELE BP-KX
  37. C
  38. C PGTZO = COEFFICIENT DE PROGRESSION DES DATES D APPLICATION t0
  39. C PGDUR = COEFFICIENT DE PROGRESSION DES DUREES D APPLICATION t-t0
  40. C TZER = PREMIERE DATE D APPLICATION EN JOURS DE LA CHARGE
  41. C A PARTIR DE LA DATE 0 JOUR DU COULAGE
  42. C
  43. C*******************************************************************
  44. C
  45. SEGMENT BETJEF
  46. REAL*8 AA,BETA,FC,ALPHA,EX,XNU,GFC,GFT,CAR,ETA,TDEF,
  47. & TCON,DPSTF1,DPSTF2,TETA,PDT,TP00
  48. INTEGER ICT,ICC,IMOD,IVIS,ITER,
  49. & ISIM,IBB,IGAU,IZON
  50. ENDSEGMENT
  51. SEGMENT BETFLU
  52. REAL*8 DATCOU,DATCUR,DATSEC,E28,PGTZO,PGDUR,TAU1,TAU2,
  53. & TP0,TZER
  54. INTEGER ITYPE,IMD,NBRC,NCOE,NTZERO,NTPS,IFOR
  55. ENDSEGMENT
  56. C
  57. C*******************************************************************
  58. C
  59. C 1 : DOMAINE D APPLICATION DES FONCTIONS DE FLUAGE
  60. C 2 : PAS DE DISCRETISATION CHOISIS
  61. C 3 : TYPE DE MODELE DE FLUAGE UTILISE
  62. C-----------------------------------------------------
  63. C
  64. C 1 : PREMIERE DATE D APPLICATION D UNE CHARGE : TZER
  65. C--------------------------------
  66. IF (DATCUR.GT.TZER) THEN
  67. TZER = DATCUR
  68. ENDIF
  69. C--------------------------------
  70. C
  71. C 1 : PREMIERE DUREE D APPLICATION D UNE CHARGE = DER (en jours)
  72. C-----------------
  73. DER = 1.D0
  74. C-----------------
  75. C
  76. C 1 : NOMBRE DE VALEURS D AGE D APPLICATION DE LA CHARGE = NTZERO1
  77. C 1 : NOMBRE DE VALEURS DE DUREE D APPLICATION DE LA CHARGE = NTPS1
  78. C 2 : PAS DE PROGRESSION POUR LES INTERVALLES ENTRE DATES D APPLICATION = PGTZ0
  79. C 2 : PAS DE PROGRESSION POUR LES INTERVALLES ENTRE DUREES DAPPLICATION = PGDUR
  80. C 3 : MODELE DE FLUAGE = ITYPE
  81. C
  82. C*******************************************************************
  83. C
  84. NTZERO1 = NTZERO+1
  85. NTPS1 = NTPS+1
  86. C
  87. C*******************************************************************
  88. C DEFINITION DES TABLEAUX TZO, DUR, TZSUP
  89. C*******************************************************************
  90. C
  91. DO 10 J=1,NTZERO1
  92. C
  93. IF (J.EQ.1) THEN
  94. C
  95. TZU(J) = 0.D0
  96. TZO(J) = 0.D0
  97. TZU(J) = TZER
  98. TZO(J) = TZU(J)
  99. C
  100. ELSE IF (J.EQ.2) THEN
  101. C
  102. TZU(J) = 0.D0
  103. TZO(J) = 0.D0
  104. TZU(J) = TZU(1)*PGTZO + TZU(1)
  105. TZO(J) = TZU(J)
  106. C
  107. ELSE
  108. C
  109. TZU(J) = 0.D0
  110. TZO(J) = 0.D0
  111. TZU(J) = (TZU(J-1) - TZU(J-2)) * PGTZO + TZU(J-1)
  112. TZO(J) = TZU(J)
  113. C
  114. ENDIF
  115. C
  116. C------------------------------------------------------------------
  117. C
  118. DO 20 I=1,NTPS1
  119. C
  120. IF (I.EQ.1) THEN
  121. C
  122. DURE(I) = 0.D0
  123. DUR(I) = 0.D0
  124. DURE(I) = 0.01
  125. DUR(I) = DURE(I)
  126. C
  127. ELSE IF (I.EQ.2) THEN
  128. C
  129. DURE(I) = 0.D0
  130. DUR(I) = 0.D0
  131. DURE(I) = DER
  132. DUR(I) = DURE(I)
  133. C
  134. ELSE IF (I.EQ.3) THEN
  135. C
  136. DURE(I) = 0.D0
  137. DUR(I) = 0.D0
  138. DURE(I) = DURE(2)*PGDUR + DURE(2)
  139. DUR(I) = DURE(I)
  140. C
  141. ELSE
  142. C
  143. DURE(I) = 0.D0
  144. DUR(I) = 0.D0
  145. DURE(I) = (DURE(I-1) - DURE(I-2)) * PGDUR + DURE(I-1)
  146. DUR(I) = DURE(I)
  147. C
  148. ENDIF
  149. C
  150. TZSUP(I,J) = 0.D0
  151. TZSUP(I,J) = TZU(J) + DURE(I)
  152. C
  153. 20 CONTINUE
  154. C
  155. 10 CONTINUE
  156. C
  157. C*******************************************************************
  158. C CALCUL DES TABLEAUX DE FLUAGE POUR CHAQUE t0 : TINTER
  159. C*******************************************************************
  160. C
  161. DO 40 JTZO = 1,NTZERO1
  162. DO 50 J = 1,NTZERO1
  163. DO 60 I = 1,NTPS1
  164. C
  165. IF (J.EQ.1) THEN
  166. TFLU = TZU(JTZO)
  167. ELSE
  168. TFLU = TZSUP(J-1,JTZO)
  169. ENDIF
  170. C
  171. TDURE = DURE(I)+TZU(JTZO)-TFLU
  172. C
  173. CALL FONCRE(FLU,FI,TFLU,TDURE,ELAS0,BETJEF,BETFLU)
  174. C
  175. IF (J.EQ.1) THEN
  176. FIFLU(I,JTZO) = 0.D0
  177. ELAS(JTZO)= 0.D0
  178. FIFLU(I,JTZO) = FI
  179. ELAS(JTZO) = ELAS0
  180. ENDIF
  181. C
  182. TINTER(I,J,JTZO) = 0.D0
  183. TINTER(I,J,JTZO) = FLU
  184. C
  185. FLU = 0.D0
  186. TFLU = 0.D0
  187. TDURE = 0.D0
  188. C
  189. 60 CONTINUE
  190. C
  191. 50 CONTINUE
  192. C
  193. 40 CONTINUE
  194. C
  195. C*******************************************************************
  196. C CALCUL DES COURBES DE RELAXATION POUR CHAQUE t0 : RELAX
  197. C*******************************************************************
  198. C
  199. DO 70 JTZO = 1,NTZERO1
  200. DO 80 I = 1,NTPS1
  201. C
  202. C INITIALISATION
  203. C-----------------------------
  204. RELAX(I,JTZO) = 0.D0
  205. DELTRAX(I,JTZO) = 0.D0
  206. C-----------------------------
  207. C
  208. IF (I.EQ.1) THEN
  209. C
  210. DELTRAX(I,JTZO) = ELAS(JTZO)
  211. RELAX(I,JTZO) = DELTRAX(I,JTZO)
  212. C
  213. ELSE IF (I.GT.1) THEN
  214. C
  215. NAT = I-1
  216. C
  217. SOM = 0.D0
  218. SOMI = 0.D0
  219. C
  220. JACK = 0
  221. C
  222. DO 90 K = 1,NAT
  223. C
  224. JACK = K+1
  225. C
  226. SOMI = (TINTER(I,K,JTZO)+TINTER(I,JACK,JTZO)
  227. *-TINTER(I-1,K,JTZO)-TINTER(I-1,JACK,JTZO))
  228. **DELTRAX(K,JTZO)
  229. C
  230. SOM = SOM + SOMI
  231. C
  232. 90 CONTINUE
  233. C
  234. C
  235. RELAX(I,JTZO) = -SOM/(TINTER(I,I,JTZO)
  236. *+TINTER(I,I+1,JTZO))+RELAX(I-1,JTZO)
  237. C
  238. DELTRAX(I,JTZO)= RELAX(I,JTZO)-RELAX(I-1,JTZO)
  239. C
  240. ENDIF
  241. C
  242. 80 CONTINUE
  243. C
  244. TRO(JTZO) = ((RELAX(1,JTZO)+RELAX(2,JTZO))/2
  245. *-RELAX(NTPS1,JTZO))/((RELAX(1,JTZO)
  246. *-RELAX(2,JTZO))/DUR(1))
  247. C
  248. 70 CONTINUE
  249. C
  250. C*******************************************************************
  251. C CONDITION THERMODYNAMIQUE
  252. C*******************************************************************
  253. C
  254. C DO 910 I=1,NTPS1
  255. C DO 920 J=1,NTZERO1
  256. C
  257. C IF (RELAX(I,J).LT.0.D0) THEN
  258. C RELAX(I,J)=0.D0
  259. C ENDIF
  260. C
  261. C 92 CONTINUE
  262. C 91 CONTINUE
  263. C
  264. C*******************************************************************
  265. C
  266. RETURN
  267. END
  268.  
  269.  
  270.  

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