Télécharger unicou.eso

Retour à la liste

Numérotation des lignes :

  1. C UNICOU SOURCE CHAT 05/01/13 03:58:33 5004
  2. SUBROUTINE UNICOU(DK,PAEC,IC,SEQ,BETJEF)
  3. C
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6. *
  7. SEGMENT BETJEF
  8. REAL*8 AA,BETA,RB,ALPHA,YOUN,XNU,GFC,GFT,HC,ETA,TDEF,
  9. & TCON,DPSTF1,DPSTF2,TETA,PDT,TP0
  10. INTEGER ICC1,ICC2,IMOD,IVIS,ITER,
  11. & ISIM,IBB,IGAU,IZON
  12. ENDSEGMENT
  13. *
  14. * COMMON /DBETJEF/AA,BETA,RB,ALPHA,YOUN,XNU,GFC,GFT,HC,ETA,TDEF,
  15. * & TCON,DPSTF1,DPSTF2,TETA,PDT,ICC1,ICC2,IMOD,IVIS,ITER,
  16. * & ISIM,IBB,IGAU,IZON
  17. C
  18. C *************************************************
  19. C ** CALCUL DU PARAMETRE D'ECROUISSAGE **
  20. C *************************************************
  21. C-------------------------------------------------------------------
  22. C IC=1 : COURBE de TRACTION
  23. C IC=2 : COURBE de COMPRESSION
  24. C
  25. IRET=0
  26. C
  27. C ******************* direction de traction *******************
  28. C
  29. IF (IC.EQ.1) THEN
  30. Ft=ALPHA*RB
  31. C
  32. C--------------- Courbe bilineaire --------------------------
  33. C
  34. IF (ICC1.EQ.1) THEN
  35. DKUT=(2.D0*GFT)/(HC*Ft)
  36. DKLIM=Ft/YOUN
  37. IF (DKUT.LT.DKLIM) THEN
  38. IRET=1
  39. GOTO 10
  40. ENDIF
  41. DKUT1=0.95*DKUT
  42. IF (DK.GE.0.D0.AND.DK.LT.DKUT1) THEN
  43. PAEC=-(Ft/DKUT)
  44. ELSE
  45. PAEC=0.D0
  46. ENDIF
  47. C
  48. IF (DK.GE.0.D0.AND.DK.LT.DKUT1) THEN
  49. SEQ=Ft*(1.D0-DK/DKUT)
  50. ELSE
  51. SEQ=0.05*Ft
  52. ENDIF
  53. ENDIF
  54. C
  55. C--------------- Courbe exponentielle -----------------------
  56. C
  57. IF (ICC1.EQ.2) THEN
  58. DKUT=(3.D0*GFT)/(HC*Ft*(1.D0-EXP(-3.D0)))
  59. DKLIM=3.D0*Ft/YOUN
  60. IF (DKUT.LT.DKLIM) THEN
  61. IRET=1
  62. GOTO 10
  63. ENDIF
  64. PAEC=-3.D0*(Ft/DKUT)*EXP(-3.D0*DK/DKUT)
  65. C
  66. SEQ=Ft*EXP(-3.D0*DK/DKUT)
  67. ENDIF
  68. C
  69. C------------------------------------------------------------
  70. C
  71. C *************** direction de compression ******************
  72. C
  73. ELSE
  74. C
  75. Rb=RB
  76. C
  77. C------------------- Courbe Feenstra -----------------------
  78. C
  79. IF (ICC2.EQ.2) THEN
  80. DKE=(4.D0*Rb)/(3.D0*YOUN)
  81. DKU=1.5*(GFC/(HC*Rb))-(11.D0/48.D0)*DKE
  82. DKLIM=2.5*DKE
  83. IF (DKU.LT.DKLIM) THEN
  84. IRET=1
  85. GOTO 10
  86. ENDIF
  87. IF (DK.LT.DKE) THEN
  88. PAEC=(4.D0/3.D0)*(Rb/DKE)*(1.D0-(DK/DKE))
  89. ELSE IF (DK.GE.DKE.AND.DK.LT.DKU) THEN
  90. Denom=(DKU-DKE)*(DKU-DKE)
  91. PAEC=(-(2.D0*Rb)/Denom)*(DK-DKE)
  92. ELSE IF (DK.GE.DKU) THEN
  93. PAEC=0.D0
  94. ENDIF
  95. C
  96. IF (DK.LT.DKE) THEN
  97. SEQ=(Rb/3.D0)*(1.D0+4.D0*(DK/DKE))
  98. SEQ=SEQ-(Rb/3.D0)*(2.D0*(DK*DK)/(DKE*DKE))
  99. ELSE IF (DK.GE.DKE.AND.DK.LT.DKU) THEN
  100. Dnum=(DK-DKE)*(DK-DKE)
  101. Denom=(DKU-DKE)*(DKU-DKE)
  102. SEQ=Rb*(1.D0-Dnum/Denom)
  103. ELSE IF (DK.GE.DKU) THEN
  104. SEQ=0.D0
  105. ENDIF
  106. ENDIF
  107. C
  108. C--------------- Courbe post pic lineaire -----------------
  109. C
  110. IF (ICC2.EQ.1) THEN
  111. DKE=(4.D0*Rb)/(3.D0*YOUN)
  112. DKU=((2.D0*GFC)/(HC*Rb))+DKE
  113. DKLIM=1.75*DKE
  114. IF (DKU.LT.DKLIM) THEN
  115. IRET=1
  116. GOTO 10
  117. ENDIF
  118. DKU1=1*DKU
  119. IF (DK.LT.DKE) THEN
  120. PAEC=(4.D0/3.D0)*(Rb/DKE)*(1.D0-(DK/DKE))
  121. ELSE IF (DK.GE.DKE.AND.DK.LT.DKU1) THEN
  122. PAEC=-Rb/(DKU-DKE)
  123. ELSE IF (DK.GE.DKU1) THEN
  124. PAEC=0.D0
  125. ENDIF
  126. C
  127. IF (DK.LT.DKE) THEN
  128. SEQ=(Rb/3.D0)*(1.D0+4.D0*(DK/DKE))
  129. SEQ=SEQ-(Rb/3.D0)*(2.D0*(DK*DK)/(DKE*DKE))
  130. ELSE IF (DK.GE.DKE.AND.DK.LT.DKU1) THEN
  131. Denom=(Rb)/(DKU-DKE)
  132. SEQ=Denom*(DKU-DK)
  133. ELSE IF (DK.GE.DKU1) THEN
  134. SEQ=0.*Rb
  135. ENDIF
  136. ENDIF
  137. C--------------- Courbe bilineaire --------------------------
  138. C
  139. IF (ICC2.EQ.0) THEN
  140. DKU=(2.D0*GFC)/(HC*Rb)
  141. DKLIM=Rb/YOUN
  142. IF (DKU.LT.DKLIM) THEN
  143. IRET=1
  144. GOTO 10
  145. ENDIF
  146. DKU1=0.8*DKU
  147. IF (DK.GE.0.D0.AND.DK.LT.DKU1) THEN
  148. PAEC=-(Rb/DKU)
  149. ELSE
  150. PAEC=0.D0
  151. ENDIF
  152. C
  153. IF (DK.GE.0.D0.AND.DK.LT.DKU1) THEN
  154. SEQ=Rb*(1.D0-DK/DKU)
  155. ELSE
  156. SEQ=0.2*Rb
  157. ENDIF
  158. ENDIF
  159. C
  160. ENDIF
  161. C
  162. 10 CONTINUE
  163. IF (IRET.EQ.1) THEN
  164. WRITE(*,*)'SNAP BACK, Vous n avez pas introduit une energie
  165. *telle que YOUN < parametre d ecrouissage < 0'
  166. IF(IC.EQ.1) THEN
  167. WRITE(*,*)'Le probleme est en traction dans l element',ibb
  168. WRITE(*,*)'DKUT=',DKUT
  169. WRITE(*,*)'DKLIM=',DKLIM
  170. WRITE(*,*)'HC=',HC
  171. ENDIF
  172. IF(IC.EQ.2) THEN
  173. WRITE(*,*)'Le probleme est en compression dans l element',ibb
  174. WRITE(*,*)'DKU=',DKU
  175. WRITE(*,*)'DKLIM=',DKLIM
  176. WRITE(*,*)'HC=',HC
  177. ENDIF
  178. STOP
  179. ENDIF
  180. RETURN
  181. END
  182.  
  183.  
  184.  
  185.  
  186.  

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