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

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