Télécharger incr11.eso

Retour à la liste

Numérotation des lignes :

  1. C INCR11 SOURCE PV 11/03/07 21:16:53 6885
  2. SUBROUTINE INCR11(DT,SIG,EPSV,VAR,EPSVPT,VARPT,XMAT,NSTRS0,
  3. & NVARI,MFR)
  4. IMPLICIT INTEGER(I-N)
  5. IMPLICIT REAL*8(A-H,O-Z)
  6. -INC CCOPTIO
  7. DIMENSION SIG(*),EPSV(*),VAR(*),XMAT(*),EPSVPT(*),VARPT(*)
  8. DIMENSION SS(6),EPLU(6),EMIN(6),EPSCRP(6)
  9. DIMENSION SIG0(6),EPSV0(6),EPS0(6)
  10. C
  11. C ICI : le modele est obligatoirement CERAMIQUE
  12. C _________________________________________________________________
  13. C
  14. C THIS ROUTINE CALCULATES INCREMENTAL STRAINS & INTERNAL VARIABLES
  15. C _________________________________________________________________
  16. C
  17. C STEP-1 : EXTRACT EPLUS , EMINUS & EPSCRP
  18. C ----------------------------------------
  19. IF (MFR.EQ.5) THEN
  20. NSTRS=6
  21. SIG0(1)=SIG(1)
  22. SIG0(2)=SIG(2)
  23. SIG0(3)=0.D0
  24. SIG0(4)=SIG(3)
  25. SIG0(5)=SIG(4)
  26. SIG0(6)=SIG(5)
  27. EPSV0(1)=EPSV(1)
  28. EPSV0(2)=EPSV(2)
  29. EPSV0(3)=0.D0
  30. EPSV0(4)=EPSV(3)
  31. EPSV0(5)=EPSV(4)
  32. EPSV0(6)=EPSV(5)
  33. ELSE
  34. NSTRS=NSTRS0
  35. DO 10 I=1,NSTRS
  36. SIG0(I)=SIG(I)
  37. EPSV0(I)=EPSV(I)
  38. 10 CONTINUE
  39. ENDIF
  40. C
  41. CCC IF ((IFOUR.EQ.2.AND.MFR.EQ.3).OR.IFOUR.EQ.-2) THEN
  42. CCC IBID = 11
  43. CCC ELSE IF(IFOUR.EQ.-3.OR.IFOUR.EQ.-1
  44. CCC 1 .OR.IFOUR.EQ.0) THEN
  45. CCC IBID = 14
  46. CCC ELSE IF(IFOUR.EQ.2.AND.MFR.EQ.1) THEN
  47. CCC IBID = 19
  48. CCC ENDIF
  49. CCC Eloi : correction de IBID
  50. CCC de plus : ici on a obligatoirement MFR different de 3
  51. IBID=NVARI-(2*NSTRS)-5
  52. C
  53. DO 20 I=1,NSTRS
  54. EPLU(I)=VAR(I+IBID)
  55. EMIN(I)=VAR(NSTRS+I+IBID)
  56. 20 CONTINUE
  57. EEFF = VAR(2*NSTRS+1+IBID)
  58. LL = nint(VAR(2*NSTRS+3+IBID))
  59. C
  60. DO 30 I=1,NSTRS
  61. EPS0(I)=0.0D0
  62. EPSCRP(I)=EPSV0(I)
  63. 30 CONTINUE
  64. C
  65. DO 40 I=1,NVARI
  66. VARPT(I)=0.D0
  67. 40 CONTINUE
  68. C_____________________________________________________________________
  69. C
  70. C STEP-2 : COMPUTATION OF SEQUV
  71. C ------------------------------
  72. SIGM=0.333333333333333D0*(SIG0(1)+SIG0(2)+SIG0(3))
  73. DO 50 I=1,NSTRS
  74. A=0.D0
  75. IF(I.LE.3) A=1.D0
  76. SS(I)=SIG0(I)-A*SIGM
  77. 50 CONTINUE
  78. SEQUV = PROCON(SS,SS,NSTRS)
  79. SEQUV = SQRT(1.5D0*SEQUV)
  80. C_____________________________________________________________________
  81. C
  82. C STEP-3 : UPDATING INTERNAL VARIABLES
  83. C ------------------------------------
  84. CALL UPVAR1(SIG0,EPSCRP,EPLU,EMIN,EEFF,EPSH,LL,NSTRS)
  85. DO 60 I=1,NSTRS
  86. VARPT( I+IBID)=EPLU(I)
  87. VARPT(NSTRS+I+IBID)=EMIN(I)
  88. 60 CONTINUE
  89. VARPT(2*NSTRS+1+IBID)=EEFF
  90. VARPT(2*NSTRS+2+IBID)=EPSH
  91. VARPT(2*NSTRS+3+IBID)=LL
  92. C_____________________________________________________________________
  93. C
  94. C STEP-4 : COMPUTATION OF INELASTIC STRAIN RATE
  95. C ---------------------------------------------
  96. IF(SEQUV.NE.0.D0) THEN
  97. IF(MFR.EQ.1.AND.IFOMOD.EQ.2) THEN
  98. IBIDI = 15
  99. ELSE
  100. IBIDI = 10
  101. ENDIF
  102. IBID1 = IBIDI + 1
  103. IBID2 = IBIDI + 2
  104. IBID3 = IBIDI + 3
  105. CALL NORTON(SEQUV,EPSH,DT,XMAT(IBID1),XMAT(IBID2),XMAT(IBID3),
  106. & DECT)
  107. VARPT(1)=DECT
  108. VARPT(NVARI) = DECT
  109. CONS=1.5D0*DECT/SEQUV
  110. DO 70 I=1,NSTRS
  111. EPS0(I)=CONS*SS(I)
  112. 70 CONTINUE
  113. C
  114. C_______________________________________________________________________
  115. ENDIF
  116. C
  117. IF (MFR.EQ.5) THEN
  118. EPSVPT(1)=EPS0(1)
  119. EPSVPT(2)=EPS0(2)
  120. EPSVPT(3)=EPS0(4)
  121. EPSVPT(4)=EPS0(5)
  122. EPSVPT(5)=EPS0(6)
  123. ELSE
  124. DO 80 I=1,NSTRS
  125. EPSVPT(I)=EPS0(I)
  126. 80 CONTINUE
  127. ENDIF
  128. C
  129. RETURN
  130. END
  131.  
  132.  
  133.  
  134.  

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