Télécharger chaflu.eso

Retour à la liste

Numérotation des lignes :

chaflu
  1. C CHAFLU SOURCE OF166741 25/11/04 21:15:21 12349
  2. SUBROUTINE CHAFLU(YUNG,XNU,IA,EI,SSTAR,
  3. 1 XMAT,ALPHA1,IBOU,SI,DEPS,EPST,EPSTAR,AMTRI,
  4. 2 ALPHA2,DPSM1,DPSM2,KERRE,NUMCHA,ecou,necou)
  5. C
  6. C INTEGRATION MODELE DE CHABOCHE EN FLUAGE
  7. C
  8. IMPLICIT INTEGER(I-N)
  9. IMPLICIT REAL *8(A-H,O-Z)
  10.  
  11. -INC TECOU
  12.  
  13. DIMENSION XMAT(*),EI(*),ALPHA1(*),ALPHA2(*)
  14. DIMENSION AMTRI(18,7),DELT(6)
  15.  
  16. C
  17. C necou.JFLUAG = 1 ON FLUE AVEC SIGMA ET ON RECUPERE SIGMA EN ENTREE
  18. C necou.JFLUAG = 2 ON FLUE AVEC (SIG-X) ET ON RECUPERE (SIG-X) EN ENTREE
  19. C necou.LFLUAG = 0 ON ECROUIT EN CAS DE FLUAGE
  20. C necou.LFLUAG = 1 ON N'ECROUIT PAS EN CAS DE FLUAGE
  21. C
  22. IFLU=0
  23. IF (necou.JFLUAG.GT.1.AND.necou.LFLUAG.EQ.0) IFLU=1
  24. C
  25. A2=0.
  26. C2=0.
  27. B=0.
  28. PHI=1.D00
  29. ICOD=0
  30. CALL CHALIM(EPSTAR,R,XMAT,TET,ICOD,A1,C1,A2,C2,R0,RM,B,
  31. . PHI,PSI,OME,ICENT2,IDIAM,NUMCHA)
  32. ELT=YUNG/(1.+XNU)
  33. IF(ITHER.NE.0) ELT=ELT*EI(IA)/YUNG
  34. G=ELT*0.5
  35. SAC1=A1*C1*PHI
  36. AC1=SAC1*0.66666667
  37. SAC2=A2*C2*PHI
  38. AC2=SAC2*0.66666667
  39. SAC12=SAC1+SAC2
  40. AC12=AC1+AC2
  41. GO TO (101,102,103,104,105,103,107,104,109,999,999,999,
  42. . 103,101),ITYP
  43. 101 NPLEIN=3
  44. IBO=1
  45. E(1)=ELT+AC12*IFLU
  46. E(2)=-0.5*E(1)
  47. E(3)=1.5*E(1)
  48. E(4)=-AC1
  49. E(5)=0.5*AC1
  50. E(6)=-1.5*AC1
  51. IF(ICENT2.EQ.0) GO TO 200
  52. E(7)=-AC2
  53. E(8)=0.5*AC2
  54. E(9)=-1.5*AC2
  55. GO TO 200
  56. 102 IBO=2
  57. GO TO 121
  58. 103 IBO=1
  59. 121 NPLEIN=2
  60. E(1)=G*(2.-XNU)/(1.-XNU)+SAC12*IFLU
  61. E(2)=G*(2.*XNU-1.)/(1.-XNU)
  62. E(3)=1.5*(ELT+AC12*IFLU)
  63. E(4)=-SAC1
  64. E(5)=0.
  65. E(6)=-SAC1
  66. IF(ICENT2.EQ.0) GO TO 200
  67. E(7)=-SAC2
  68. E(8)=0.
  69. E(9)=-SAC2
  70. GO TO 200
  71. 104 IBO=1
  72. GO TO 125
  73. 107 IBO=2
  74. 125 DUM=YUNG
  75. NPLEIN=1
  76. IF(ITHER.NE.0) DUM=DUM*EI(IA)/YUNG
  77. DUM=DUM+SAC12*IFLU
  78. E(1)=DUM
  79. E(4)=-SAC1
  80. IF(ICENT2.NE.0) E(7)=-SAC2
  81. GO TO 200
  82. 105 CONTINUE
  83. 109 CONTINUE
  84. 200 IBOU1=IBOU+1
  85. TAUX=0.
  86. TIME=TEMPS-HPAS
  87. ICLFLU=0
  88. IF(IT.NE.1) GO TO 201
  89. C
  90. C MODIFS POUR LA 1-ERE ITERATION
  91. C ECOULEMENT SELON SIGMA
  92. C
  93. S0=VONMIS(SIGEL,ITYP,ALFAH,COVNMS)
  94. CALL CRPLAW(VI0,EPSTAR,S0,TET,TIME,HPAS,ICLFLU,NCOURB)
  95. DPSM1=VI0
  96. EPST=EPSTAR+HPAS*VI0
  97. CALL CRPLAW(VIF,EPST,SSTAR,TET,TEMPS,HPAS,ICLFLU,NCOURB)
  98. DPSM2=SSTAR
  99. SF=SSTAR
  100. DEPS=(VI0+VIF)*0.5D0*HPAS
  101. EPST=EPSTAR+DEPS
  102. C
  103. C TEST POUR LES CAS DE FLUAGE A SIGMA NON CTE ET AVEC SEUIL
  104. C
  105. IF(DEPS.EQ.0.) GO TO 1380
  106. DEPSUR=0.
  107. IF(SF.NE.0.) DEPSUR=DEPS/SF
  108. CALL CHAINI(AMTRI,18,IBOU,NPLEIN,E,DEPSUR,IBO)
  109. IF(IFLU.EQ.0) GO TO 1531
  110. CALL CHAINI(AMTRI(IBOU1,1),18,IBOU,NPLEIN,E(4),DEPSUR,IBO)
  111. IF(ICENT2.EQ.1) CALL CHAINI(AMTRI(IBOU1+IBOU,1),18,IBOU,
  112. . NPLEIN,E(7),DEPSUR,IBO)
  113. DO 1334 IB=1,IBOU
  114. AMTRI(IB,7)=0.D0
  115. IB1=IB+IBOU
  116. IF(ICENT2.NE.0) GO TO 1335
  117. AMTRI(IB1,7)=ALPHA1(IB)
  118. GO TO 1334
  119. 1335 AMTRI(IB1,7)=ALPHA1(IB)-ALPHA2(IB)
  120. AMTRI(IB1+IBOU,7)=ALPHA2(IB)
  121. 1334 CONTINUE
  122. CALL CHAMAT(AMTRI,AMTRI(1,7),18,NPLEIN,IBOU,ICENT2,
  123. . C1,C2,DEPS,IBO,IFLU,1,LFLUAG,KERRE)
  124. IF(KERRE.NE.0) RETURN
  125. DO 1532 I=1,IBOU
  126. DSIGP(I)=-AMTRI(I,7)
  127. DO 1533 J=1,IBOU
  128. DSIGP(I)=DSIGP(I)+AMTRI(I,J)*SIGEL(J)
  129. 1533 CONTINUE
  130. STOT(I)=SIGEL(I)+DSIGP(I)
  131. 1532 CONTINUE
  132. GO TO 222
  133. 1531 DO 304 I=1,IBOU
  134. DSIGP(I)=0.
  135. DO 305 J=1,IBOU
  136. DSIGP(I)=DSIGP(I)+AMTRI(I,J)*SIGEL(J)
  137. 305 CONTINUE
  138. STOT(I)=SIGEL(I)+DSIGP(I)
  139. 304 CONTINUE
  140. GO TO 221
  141. 201 CONTINUE
  142. VI0=DPSM1
  143. SF=DPSM2
  144. EPST=EPSTAR+HPAS*VI0
  145. CALL CRPLAW(VIF,EPST,SF,TET,TEMPS,HPAS,ICLFLU,NCOURB)
  146. DEPS=(VI0+VIF)*0.5*HPAS
  147. EPST=EPSTAR+DEPS
  148. 1380 CONTINUE
  149. DEPSUR=0.
  150. IF(SF.NE.0.) DEPSUR=DEPS/SF
  151. 222 CALL CHAINI(AMTRI,18,IBOU,NPLEIN,E,DEPSUR,IBO)
  152. 221 IF(LFLUAG.EQ.1) GO TO 1240
  153. CALL CHAINI(AMTRI(IBOU1,1),18,IBOU,NPLEIN,E(4),DEPSUR,IBO)
  154. IF(ICENT2.EQ.1) CALL CHAINI(AMTRI(IBOU1+IBOU,1),18,IBOU,
  155. . NPLEIN,E(7),DEPSUR,IBO)
  156. 1240 CONTINUE
  157. DO 202 I=1,IBOU
  158. AMTRI(I,I)=AMTRI(I,I)+1.D0
  159. 202 CONTINUE
  160. C
  161. C SECOND MEMBRE
  162. C
  163. DO 134 IB=1,IBOU
  164. AMTRI(IB,7)=STOT(IB)
  165. IF(LFLUAG.EQ.1) GO TO 134
  166. IB1=IB+IBOU
  167. IF(ICENT2.NE.0) GO TO 135
  168. AMTRI(IB1,7)=ALPHA1(IB)
  169. GO TO 134
  170. 135 AMTRI(IB1,7)=ALPHA1(IB)-ALPHA2(IB)
  171. AMTRI(IB1+IBOU,7)=ALPHA2(IB)
  172. 134 CONTINUE
  173. CALL CHAMAT(AMTRI,AMTRI(1,7),18,NPLEIN,IBOU,ICENT2,C1,C2,
  174. . DEPS,IBO,IFLU,0,LFLUAG,KERRE)
  175. IF(KERRE.NE.0) RETURN
  176. 300 SI=VONMIS(AMTRI(1,7),ITYP,ALFAH,COVNMS)
  177. DPSM2=SI
  178. DO 301 I=1,IBOU
  179. SIGEL(I)=AMTRI(I,7)
  180. IF(LFLUAG.EQ.1) GO TO 301
  181. DALPHA(I)=AMTRI(IBOU+I,7)-ALPHA1(I)
  182. IF(ICENT2.EQ.0) GO TO 301
  183. DALPHA(I)=DALPHA(I)+AMTRI(IBOU+IBOU+I,7)
  184. 301 CONTINUE
  185. C
  186. C LES DEUX CENTRES SONT CUMULES DANS ALPHA1
  187. C
  188. IF(LFLUAG.EQ.1) RETURN
  189. C
  190. C MISE A JOUR DES CENTRES DES SPHERES
  191. C
  192. DO 303 I=1,IBOU
  193. ALPHA1(I)=AMTRI(IBOU+I,7)
  194. IF(ICENT2.EQ.0) GO TO 303
  195. ALPHA1(I)=ALPHA1(I)+AMTRI(IBOU+IBOU+I,7)
  196. ALPHA2(I)=AMTRI(IBOU+IBOU+I,7)
  197. 303 CONTINUE
  198. RETURN
  199. 999 WRITE(6,7999)
  200. 7999 FORMAT('0 CHAFLU - CAS NON IMPLEMENTE ' /)
  201. RETURN
  202. END
  203.  
  204.  
  205.  

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