Télécharger vispla.eso

Retour à la liste

Numérotation des lignes :

vispla
  1. C VISPLA SOURCE CHAT 05/01/13 04:07:29 5004
  2. SUBROUTINE VISPLA(SIGR,SIGF,DSIG1,NSTRS,DPSTF1,DPSTF2,
  3. & SIGP,SIGRV,DSTRN,DP,BETJEF,VISCO)
  4. C
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. DIMENSION SIGR(4),SIGF(4),DSIG(4),DSTRN(4),D(4,4),EPST(4)
  8. DIMENSION DSIG1(4),DSIG2(4),DSIG3(4),DSTRN1(4),DP(4,4)
  9. DIMENSION DSIGP(4),SIGP(4),SIGP0(4),SIGRV(4)
  10. C
  11. *
  12. SEGMENT BETJEF
  13. REAL*8 AA,BETA,RB,ALFA,YOUN,XNU,GFC,GFT,CAR,ETA,TDEF,
  14. & TCON,DPS1,DPS2,TETA,PDT,TP0
  15. INTEGER ICT,ICC,IMOD,IVIS,ITER,
  16. & ISIM,IBB1,IGAU1,IZON
  17. ENDSEGMENT
  18. SEGMENT VISCO
  19. REAL*8 DPSTV1,DPSTV2,SIGV1,SIGV2,ENDV
  20. ENDSEGMENT
  21. *
  22. * COMMON /DBETJEF/AA,BETA,RB,ALFA,YOUN,XNU,GFC,GFT,CAR,ETA,TDEF,
  23. * & TCON,DPS1,DPS2,TETA,PDT,ICT,ICC,IMOD,IVIS,ITER,
  24. * & ISIM,IBB1,IGAU1,IZON
  25. * COMMON /VISCO/ DPSTV1,DPSTV2,SIGV1,SIGV2
  26. C
  27. C
  28. C ********************************************************************
  29. C ** COMPORTEMENT VISCOPLASTIQUE **
  30. C ** DE TYPE DUVAUT LIONS **
  31. C ********************************************************************
  32. C
  33. IPAS=0
  34. CALL ZERO(DSIG2,4,1)
  35. CALL ZERO(DSIG3,4,1)
  36. CALL ZERO(DSTRN1,4,1)
  37. C
  38. C -------------- recalcul des increments de contrainte -------------
  39. C
  40. C
  41. DO 2 I=1,NSTRS
  42. SIGP(I)=SIGF(I)
  43. 2 CONTINUE
  44. C
  45. DO 3 I=1,NSTRS
  46. DSIGP(I)=SIGF(I)-SIGR(I)
  47. 3 CONTINUE
  48. C
  49. C ---------------- calcul des termes viscoplastiques -----------------
  50. C
  51. GAMA = 0.5
  52. A = (ETA)/(ETA+GAMA*PDT)
  53. B = (GAMA*PDT)/ETA
  54. C = PDT
  55. G=EXP(-PDT/ETA)
  56. IF (C.EQ.0.D0) THEN
  57. WRITE(*,*)'l increment de temps est de longueur nulle'
  58. stop
  59. ENDIF
  60. C
  61. C -------------------- mise a jour des contraintes -------------------
  62. C
  63. IF (IMOD.EQ.1) THEN
  64. CALL CREMAT(D,YOUN,XNU,3,-2)
  65. ENDIF
  66. IF (IMOD.EQ.2) THEN
  67. CALL CREMAT(D,YOUN,XNU,3,-1)
  68. ENDIF
  69. C
  70. C ------------ Calcul de la matrice tangente consistante --------------
  71. C
  72. DO 10 I=1,NSTRS
  73. DO 10 J=1,NSTRS
  74. DP(I,J)=0.D0
  75. DP(I,J)=D(I,J)*A
  76. 10 CONTINUE
  77. C
  78. C -------------------- algorithme type SLUYS -------------------
  79. C
  80. IF (ISIM.EQ.0) THEN
  81. C
  82. DO 20 I=1,NSTRS
  83. DSIG2(I)=0.D0
  84. DO 20 J=1,NSTRS
  85. DSIG2(I)=DSIG2(I)+D(I,J)*EPST(J)
  86. 20 CONTINUE
  87. C
  88. DO 30 I=1,NSTRS
  89. DSIG3(I)=A*(DSIG1(I)-C*DSIG2(I)+B*DSIGP(I))
  90. 30 CONTINUE
  91. C
  92. DO 40 I=1,NSTRS
  93. SIGF(I)=SIGR(I)+DSIG3(I)
  94. 40 CONTINUE
  95. ENDIF
  96. C
  97. C -------------------- algorithme type SIMO -------------------
  98. C
  99. IF (ISIM.EQ.1) THEN
  100. CALL ZERO(SIGF,4,1)
  101. DO 35 I=1,NSTRS
  102. SIGF(I)=G*SIGRV(I)+(1.D0-G)*SIGP(I)+((1.D0-G)/(C/ETA))*DSIG1(I)
  103. 35 CONTINUE
  104. ENDIF
  105. C
  106. C ------- mise a jour des variables d'ecrouissages --------
  107. C
  108. DPSTV1= DPSTV1*G+(1.D0-G)*DPSTF1
  109. CALL UNICOU(DPSTV1,PAEC,1,SIGV1,BETJEF)
  110. DPSTV2= DPSTV2*G+(1.D0-G)*DPSTF2
  111. CALL UNICOU(DPSTV2,PAEC,2,SIGV2,BETJEF)
  112. C
  113. C ------- mise a jour des taux de deformation --------
  114. C
  115. IF (IMOD.EQ.1) THEN
  116. CALL MATSOU(D,YOUN,XNU,3,-2)
  117. ENDIF
  118. IF (IMOD.EQ.2) THEN
  119. CALL MATSOU(D,YOUN,XNU,4,-1)
  120. ENDIF
  121. C
  122. C ------- taux de deformation viscoplastique --------
  123. C
  124. DO 50 I=1,NSTRS
  125. DSTRN1(I)=0.D0
  126. DO 50 J=1,NSTRS
  127. DSTRN1(I)=DSTRN1(I)+D(I,J)*(DSIG3(J)-DSIGP(J))/ETA
  128. 50 CONTINUE
  129. C
  130. DO 60 I=1,NSTRS
  131. EPST(I)=EPST(I)+DSTRN1(I)
  132. 60 CONTINUE
  133. C
  134. C
  135. C ------- taux de deformation en norme --------
  136. C
  137. TDEF=0.D0
  138. D1=DSTRN(1)
  139. D2=DSTRN(2)
  140. D3=DSTRN(3)
  141. D4=DSTRN(4)
  142. TDEF=SQRT(D1*D1+D2*D2+D3*D3+D4*D4)/PDT
  143. C
  144. C ------- taux de contrainte en norme --------
  145. C
  146. TCON=0.D0
  147. DO 62 I=1,NSTRS
  148. DSIG(I) = SIGF(I) - SIGRV(I)
  149. 62 CONTINUE
  150. S1=DSIG(1)
  151. S2=DSIG(2)
  152. S3=DSIG(3)
  153. S4=DSIG(4)
  154. TCON=SQRT(S1*S1+S2*S2+S3*S3+S4*S4)/PDT
  155. C
  156. CALL INDICA(DPSTV1,DPSTV2,IFIS,IPLA,3,BETJEF)
  157. RETURN
  158. END
  159.  
  160.  
  161.  
  162.  
  163.  

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