Télécharger increp.eso

Retour à la liste

Numérotation des lignes :

increp
  1. C INCREP SOURCE CB215821 17/11/30 21:16:27 9639
  2. C INCREP SOURCE BV 03/11/04 21:29:05 1995
  3. SUBROUTINE INCREP(SIG,VAR,EPSVPT,VARPT,XMAT,NSTRS0,
  4. & MFR,NVARI,NCOMAT)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6. DIMENSION SIG(*),VAR(*),EPSVPT(*),VARPT(*),XMAT(*)
  7. DIMENSION XX(6),EPS0(6),XP(3,3)
  8. DIMENSION ST(3,3),D(3),ZMU(3,3)
  9. DIMENSION TEMP(3),EPSD(3),VPT(6)
  10. PARAMETER (AMAX = 1.0D20 , AMIN = 1.D-10)
  11. -INC CCREEL
  12. DETIER = 2.0D0/3.0D0
  13. ROOT = SQRT(DETIER)
  14. C-------------------------------------------------------------------|
  15. C******* EVALUATION OF J2 SIGMA |
  16. C-------------------------------------------------------------------I
  17. TRACE =(SIG(1)+SIG(2)+SIG(3))/3.0D0
  18. DO 70 I=1,NSTRS0
  19. A = 0.0D0
  20. IF (I.LE.3) A=1.0D0
  21. XX(I) = SIG(I)-A*TRACE
  22. 70 CONTINUE
  23. AJ2 = PROCON (XX,XX,NSTRS0)
  24. AJ2 = SQRT(1.5D0*AJ2)
  25. C------------------------------------------------------
  26. C******* EVALUATION OF J0 CONTRAINTE PRINCIPALE MAX
  27. C------------------------------------------------------
  28. CALL ZERO(ST,3,3)
  29. DO 50 I=1,3
  30. ST(I,I) = SIG(I)
  31. 50 CONTINUE
  32. ST(1,2) = SIG(4)
  33. IF(NSTRS0.NE.6) GOTO 54
  34. ST(1,3) = SIG(5)
  35. ST(2,3) = SIG(6)
  36. 54 CONTINUE
  37. ST(2,1) = ST(1,2)
  38. ST(3,1) = ST(1,3)
  39. ST(3,2) = ST(2,3)
  40. CALL ZERO(XP,3,3)
  41. *
  42. CALL JACOB3(ST,3,D,XP)
  43. C
  44. AJ0 = D(1)
  45. * AJ0 = MAX(D(1),D(2),D(3))
  46. C--------------------------------------------------------
  47. C******* CALCUL DE LA CONTRAINTE EQUIVALENTE AU SENS
  48. C******* DE L'ENERGIE DE CISAILLEMENT (VON MISES)
  49. C--------------------------------------------------------
  50. DD = VAR(3)
  51. DC = VAR(4)
  52. IF (DD.GT.0.98D0) THEN
  53. DD = 0.98D0
  54. ENDIF
  55. IF (DC.GT.0.98D0) THEN
  56. DC = 0.98D0
  57. ENDIF
  58. ZMU(1,1) = 2.*(1.+(XMAT(2)*(1.-DC)))
  59. ZMU(1,2) = (DC / 2.0D0)-(1.0D0+XMAT(2)*(1.0D0-DC))
  60. ZMU(1,3) = ZMU(1,2)
  61. ZMU(2,2) = 2.0D0*(1.0D0+XMAT(2))*(1.0D0-DC)
  62. ZMU(2,3) = -1.0D0*(1.0D0+XMAT(2))*(1.0D0-DC)
  63. ZMU(3,3) = ZMU(2,2)
  64. ZMU(2,1) = ZMU(1,2)
  65. ZMU(3,1) = ZMU(1,3)
  66. ZMU(3,2) = ZMU(2,3)
  67. DO 18 J=1,3
  68. DO 17 I=1,3
  69. ZMU(I,J) = ZMU(I,J)/(2.0D0*(1.0D0+XMAT(2)))
  70. 17 CONTINUE
  71. 18 CONTINUE
  72. TEMP(1) = 0.0D0
  73. TEMP(2) = 0.0D0
  74. TEMP(3) = 0.0D0
  75. TEMP(1) = ZMU(1,1)*D(1)+ZMU(1,2)*D(2)+ZMU(1,3)*D(3)
  76. TEMP(2) = ZMU(2,1)*D(1)+ZMU(2,2)*D(2)+ZMU(2,3)*D(3)
  77. TEMP(3) = ZMU(3,1)*D(1)+ZMU(3,2)*D(2)+ZMU(3,3)*D(3)
  78. SEQE = TEMP(1)*D(1)+TEMP(2)*D(2)+TEMP(3)*D(3)
  79. SEQE = SEQE/((1.0D0-DD)*(1.0D0-DC))
  80. SEQE = SQRT(SEQE)
  81. SEQE=max(xpetit,seqe)
  82. C--------------------------------------------------------------------|
  83. C******* CALCUL OF SIGV/K |
  84. C -------------------------------------------------------------------I
  85. RR = VAR(1)
  86. SK = (SEQE - RR-XMAT(5))/( XMAT(8) )
  87. C--------------------------------------------------------------------|
  88. C******* CALCULATION OF EFFECTIVE INELASTIC STRAIN INCREMENT (P) |
  89. C -------------------------------------------------------------------I
  90. IF (SK.GT.0.0D0) THEN
  91. RPT= SK**XMAT(9)
  92. ELSE
  93. RPT= 0.0D0
  94. ENDIF
  95. C-----------------------------------------------------------------|
  96. C******* CALCULATION OF DR |
  97. C-----------------------------------------------------------------I
  98. DR= XMAT(6)*(XMAT(7)-VAR(1))*RPT
  99. VARPT(1)=DR
  100. C---------------------------------------------------------------------|
  101. C******* CALCULATION OF INELASTIC STRAIN INCREMENTS (EPSVPT) |
  102. C---------------------------------------------------------------------I
  103. C Calcul des deformations principales
  104. EPSD(1) = ZMU(1,1)*D(1)+ZMU(1,2)*D(2)+ZMU(1,3)*D(3)
  105. EPSD(1) = EPSD(1)*RPT/(SEQE*(1.0D0-DD)*(1.0D0-DC))
  106. EPSD(2) = ZMU(2,1)*D(1)+ZMU(2,2)*D(2)+ZMU(2,3)*D(3)
  107. EPSD(2) = EPSD(2)*RPT/(SEQE*(1.0D0-DD)*(1.0D0-DC))
  108. EPSD(3) = ZMU(3,1)*D(1)+ZMU(3,2)*D(2)+ZMU(3,3)*D(3)
  109. EPSD(3) = EPSD(3)*RPT/(SEQE*(1.0D0-DD)*(1.0D0-DC))
  110. C
  111. IF (SEQE.EQ.0.0D0) THEN
  112. PPT = 0.0D0
  113. ELSE
  114. PPT = DETIER*(EPSD(1)*EPSD(1)+EPSD(2)*EPSD(2)+EPSD(3)*EPSD(3))
  115. PPT = SQRT(PPT)
  116. ENDIF
  117. C
  118. VARPT(2) = PPT
  119. DO 11 I=1,NSTRS0
  120. EPS0(I)=0.0D0
  121. 11 CONTINUE
  122. C
  123. EPS0(1)=XP(1,1)*XP(1,1)*EPSD(1)
  124. EPS0(1)=EPS0(1)+XP(1,2)*XP(1,2)*EPSD(2)
  125. EPS0(1)=EPS0(1)+XP(1,3)*XP(1,3)*EPSD(3)
  126. EPS0(2)=XP(2,1)*XP(2,1)*EPSD(1)
  127. EPS0(2)=EPS0(2)+XP(2,2)*XP(2,2)*EPSD(2)
  128. EPS0(2)=EPS0(2)+XP(2,3)*XP(2,3)*EPSD(3)
  129. EPS0(3)=XP(3,1)*XP(3,1)*EPSD(1)
  130. EPS0(3)=EPS0(3)+XP(3,2)*XP(3,2)*EPSD(2)
  131. EPS0(3)=EPS0(3)+XP(3,3)*XP(3,3)*EPSD(3)
  132. EPS0(4)=XP(1,1)*XP(2,1)*EPSD(1)
  133. EPS0(4)=EPS0(4)+XP(1,2)*XP(2,2)*EPSD(2)
  134. EPS0(4)=EPS0(4)+XP(1,3)*XP(2,3)*EPSD(3)
  135. IF(NSTRS0.NE.6) GOTO 56
  136. EPS0(5)=XP(1,1)*XP(3,1)*EPSD(1)
  137. EPS0(5)=EPS0(5)+XP(1,2)*XP(3,2)*EPSD(2)
  138. EPS0(5)=EPS0(5)+XP(1,3)*XP(3,3)*EPSD(3)
  139. EPS0(6)=XP(2,1)*XP(3,1)*EPSD(1)
  140. EPS0(6)=EPS0(6)+XP(2,2)*XP(3,2)*EPSD(2)
  141. EPS0(6)=EPS0(6)+XP(2,3)*XP(3,3)*EPSD(3)
  142. 56 CONTINUE
  143. C
  144. DO 47 I=1,NSTRS0,1
  145. IF (RPT.EQ.0.0) THEN
  146. EPSVPT(I)=0.0D0
  147. ELSE
  148. EPSVPT(I)=EPS0(I)
  149. ENDIF
  150. 47 CONTINUE
  151. C--------------------------------------------------------
  152. C******* CALCUL de D ductile AVEC SEUIL D ENDOMMAGEMENT
  153. C--------------------------------------------------------
  154. YD = (D(1)*D(1)/(1.0D0-DC))+(D(2)*D(2))+(D(3)*D(3))
  155. YD = YD-2.0D0*XMAT(2)*(D(1)*D(2))+(D(2)*D(3)+D(1)*D(3))
  156. YD = YD/(2.0D0*XMAT(1)*(1.0D0-DD)*(1.0D0-DD))
  157. C
  158. P = VAR(2)
  159. SE1 = XMAT(12)
  160. IF ((P.GT.SE1).AND.(DC.LT.0.98)) THEN
  161. DDD = ((YD/XMAT(10))**XMAT(11))*RPT
  162. ELSE
  163. DDD = 0.0D0
  164. ENDIF
  165. VARPT(3)= DDD
  166. C write(6,*)'DDD',DDD
  167. C-----------------------------------------------------
  168. C******* CALCUL de D creep AVEC SEUIL D ENDOMMAGEMENT
  169. C-----------------------------------------------------
  170. YC = (D(1)*D(1)/((1.0D0-DC)**2))
  171. YC = YC/(2.0D0*XMAT(1)*(1.0D0-DD))
  172. C
  173. SE2 = XMAT(15)
  174. IF ((P.GT.SE2).AND.(DC.LT.0.98)) THEN
  175. DDC = (YC/XMAT(13))**XMAT(14)
  176. ELSE
  177. DDC = 0.0D0
  178. ENDIF
  179. VARPT(4)= DDC
  180. C write(6,*)'DDC',DDC
  181. C
  182. RETURN
  183. END
  184.  
  185.  
  186.  
  187.  

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