Télécharger incre9.eso

Retour à la liste

Numérotation des lignes :

  1. C INCRE9 SOURCE PASCAL 19/02/20 21:15:24 10116
  2. SUBROUTINE INCRE9(SIG,VAR,ZMAT,NSTRS,EPSVPT,VARPT)
  3. C--------------------------------------------------------------------C
  4. C
  5. C Sous-programme d'integration de la loi de CHABOCHE C
  6. C
  7. C--------------------------------------------------------------------C
  8. C
  9. C ENTREES :
  10. C - SIG : contraintes en debute de pas
  11. C - VAR : variables internes en debut de pas
  12. C - ZMAT : carateristiques materielles
  13. C - NSTRS : dimension du tableau SIG
  14. C
  15. C SORTIES :
  16. C - EPSVPT : increment de deformation viscoplastique
  17. C - VARPT : increment de variables internes
  18. C
  19. C--------------------------------------------------------------------C
  20. C
  21. IMPLICIT INTEGER(I-N)
  22. IMPLICIT REAL*8(A-H,O-Z)
  23. C
  24. DIMENSION SIG(*),VAR(*),EPSVPT(*),VARPT(*)
  25. DIMENSION XX(6),ZMAT(100)
  26. C
  27. PARAMETER (AMAX = 1.0D20 , AMIN = 1.D-10)
  28. C
  29. DETIER = 2.0D0/3.0D0
  30. C-------------------------------------------------------------------|
  31. C******* EVALUATION OF J2(SIGMA - X) |
  32. C-------------------------------------------------------------------I
  33. TRACE =(SIG(1)+SIG(2)+SIG(3))/3.0D0
  34. DO 70 I=1,NSTRS
  35. A = 0.0D0
  36. IF (I.LE.3) A=1.0D0
  37. XX(I) = SIG(I) - A*TRACE - DETIER*ZMAT(8)*ZMAT(9)*VAR(I)
  38. 70 CONTINUE
  39. C
  40. AJ2 = PROCON(XX,XX,NSTRS)
  41. AJ2 = SQRT(1.5D0*AJ2)
  42. C write(6,*) 'SIG(i)=',(SIG(i),i=1,NSTRS)
  43. C write(6,*) 'AJ2=',AJ2
  44. C write(6,*) 'VAR(i)=',(VAR(i),i=1,NSTRS)
  45. C--------------------------------------------------------------------|
  46. C******* CALCUL OF SIGV/K |
  47. C -------------------------------------------------------------------I
  48. RR = ZMAT(10)*ZMAT(11)*VAR(NSTRS+2)
  49. SK = (AJ2 - RR - ZMAT(5)) / ZMAT(6)
  50. C write(6,*) 'RR, SK=',RR,SK
  51. C--------------------------------------------------------------------|
  52. C******* CALCULATION OF EFFECTIVE INELASTIC STRAIN INCREMENT (P) |
  53. C -------------------------------------------------------------------I
  54. IF (SK.GT.0.0D0) THEN
  55. PPT= XPUISS(SK,ZMAT(7),AMAX)
  56. ELSE
  57. PPT= 0.0D0
  58. ENDIF
  59. VARPT(NSTRS+1) = PPT
  60. C write(6,*) 'PPT=',PPT
  61. C---------------------------------------------------------------------|
  62. C******* CALCULATION OF INELASTIC STRAIN INCREMENTS (EPSVPT) |
  63. C---------------------------------------------------------------------I
  64. DO 71 I=1,NSTRS
  65. IF (PPT.EQ.0.D0) THEN
  66. EPSVPT(I) = 0.0D0
  67. ELSE
  68. XX(I) = 1.5D0*XX(I)/AJ2
  69. EPSVPT(I) = XX(I)*PPT
  70. ENDIF
  71. 71 CONTINUE
  72. C write(6,*) 'EPSVPT(i)=',(EPSVPT(i),i=1,NSTRS)
  73. C----------------------------------------------------------------|
  74. C******* CALCULATION OF ALPHPT |
  75. C----------------------------------------------------------------I
  76. DO 72 I=1,NSTRS
  77. IF (PPT.EQ.0.0) THEN
  78. VARPT(I)=0.D0
  79. ELSE
  80. VARPT(I)=EPSVPT(I)-ZMAT(9)*VAR(I)*PPT
  81. ENDIF
  82. 72 CONTINUE
  83. C write(6,*) ' ALPH(i)=',( VAR(i),i=1,NSTRS)
  84. C write(6,*) 'ALPHPT(i)=',(VARPT(i),i=1,NSTRS)
  85. C----------------------------------------------------------------|
  86. C******* CALCULATION OF QQPT |
  87. C----------------------------------------------------------------I
  88. IV = NSTRS+2
  89. IF (PPT.EQ.0.0) THEN
  90. VARPT(IV)=0.D0
  91. ELSE
  92. XQQ = 1.D0 - ZMAT(10)*VAR(IV)
  93. VARPT(IV) = XQQ*PPT
  94. ENDIF
  95. C write(6,*) 'QQPT=',VARPT(IV)
  96. C
  97. RETURN
  98. END
  99.  
  100.  
  101.  

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