Télécharger incr33.eso

Retour à la liste

Numérotation des lignes :

  1. C INCR33 SOURCE PV 11/03/07 21:16:54 6885
  2. SUBROUTINE INCR33(DT,SIG,EPSV,VAR,XMAT,EPSVPT,VARPT,ALFA,NSTRS0,
  3. & NVARI)
  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 SM(4),SB(4),EM(4),EB(4),EPLU(8),EMIN(8),EPSCRP(8)
  11. C
  12. C ICI : le modele est obligatoirement CERAMIQUE
  13. C______________________________________________________________________
  14. C
  15. C THIS ROUTINE COMPUTES INCREMENTAL STRAIN AND INTERNAL VARIABLES
  16. C______________________________________________________________________
  17. C
  18. C STEP-1 : SEPERATE OUT MEMBRANE AND BENDING CONTRIBUTIONS
  19. C ---------------------------------------------------------
  20. NSTRS=NSTRS0+2
  21. NS = NSTRS/2
  22. SM(1)=SIG(1)
  23. SM(2)=SIG(2)
  24. SM(3)=0.D0
  25. SM(4)=0.D0
  26. IF (NS.EQ.4) SM(4)=SIG(3)
  27. SB(1)=SIG(NS)
  28. SB(2)=SIG(NS+1)
  29. SB(3)=0.D0
  30. SB(4)=0.D0
  31. IF (NS.EQ.4) SB(4)=SIG(NS+2)
  32. EM(1)=EPSV(1)
  33. EM(2)=EPSV(2)
  34. EM(3)=-1.D0*(EM(1)+EM(2))
  35. EM(4)=0.D0
  36. IF (NS.EQ.4) EM(4)=EPSV(3)
  37. EB(1)=EPSV(NS)
  38. EB(2)=EPSV(NS+1)
  39. EB(3)=-1.D0*(EB(1)+EB(2))
  40. EB(4)=0.D0
  41. IF (NS.EQ.4) EB(4)=EPSV(NS+2)
  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 = 3
  53. IBID=NVARI-(2*NSTRS)-5
  54. C
  55. DO 10 I = 1,NSTRS
  56. EPLU(I) = VAR(I+IBID)
  57. EMIN(I) = VAR(NSTRS+I+IBID)
  58. 10 CONTINUE
  59. EEFF = VAR(2*NSTRS+1+IBID)
  60. EPSH = VAR(2*NSTRS+2+IBID)
  61. LL = nint(VAR(2*NSTRS+3+IBID) )
  62. DO 20 I=1,NS
  63. EPSCRP(I) = EM(I)
  64. 20 CONTINUE
  65. DO 30 I=1,NS
  66. EPSCRP(NS+I) = EB(I)
  67. 30 CONTINUE
  68. DO 40 I=1,NSTRS0
  69. EPSVPT(I)=0.D0
  70. 40 CONTINUE
  71. DO 50 I=1,NVARI
  72. VARPT(I)=0.D0
  73. 50 CONTINUE
  74.  
  75. C -------------------------------------------------------------
  76. C
  77. C STEP-2 : COMPUTATION OF SMEMB,SBEND AND SEQUV
  78. C ---------------------------------------------
  79. c
  80. c fmemb et fbend ajoute a l'esthetique par chloe
  81. c
  82. FMEMB=SM(1)*SM(1)+ SM(2)*SM(2)-SM(1)*SM(2)+3*SM(4)*SM(4)
  83. FBEND=SB(1)*SB(1)+SB(2)*SB(2)-SB(1)*SB(2)+3*SB(4)*SB(4)
  84. SEQUV=SQRT(FMEMB+ALFA*ALFA*FBEND)
  85. C -------------------------------------------------------------
  86. C
  87. C STEP-3 : COMPUTATION OF INCREMENTS OF INTERNAL VARIABLES
  88. C ---------------------------------------------------------
  89. ALF1 = 1.D0
  90. ALF2 = 1.D0/ALFA/ALFA
  91. C
  92. CALL UPVAR2(SM,SB,EPSCRP,EPLU,EMIN,EEFF,EPSH,LL,ALF1,ALF2,NSTRS)
  93. DO 60 I = 1,NSTRS
  94. VARPT(I+IBID) = EPLU(I)
  95. VARPT(NSTRS+I+IBID) = EMIN(I)
  96. 60 CONTINUE
  97. VARPT(2*NSTRS+1+IBID) = EEFF
  98. VARPT(2*NSTRS+2+IBID) = EPSH
  99. VARPT(2*NSTRS+3+IBID) = LL
  100. C -------------------------------------------------------------
  101. C
  102. C STEP-4 : COMPUTATION OF INCREMENTS OF INELASTIC STRAINS
  103. C -------------------------------------------------------
  104. DECT = 0.D0
  105. IF(SEQUV.NE.0.D0) THEN
  106. CCC Eloi : ici on a obligatoirement MFR = 3
  107. CCC IF(MFR.EQ.1.AND.IFOMOD.EQ.2) THEN
  108. CCC IBIDI = 15
  109. CCC ELSE
  110. IBIDI = 10
  111. CCC ENDIF
  112. IBID1 = IBIDI + 1
  113. IBID2 = IBIDI + 2
  114. IBID3 = IBIDI + 3
  115. CALL NORTON(SEQUV,EPSH,DT,XMAT(IBID1),XMAT(IBID2),XMAT(IBID3),
  116. & DECT)
  117. VARPT(1)=DECT
  118. VARPT(NVARI)=DECT
  119. CONS = DECT/SEQUV
  120. IF(NS.EQ.3) THEN
  121. EPSVPT(1)= CONS*(SIG(1)-0.5D0*SIG(2))
  122. EPSVPT(2)= CONS*(SIG(2)-0.5D0*SIG(1))
  123. EPSVPT(3)= CONS*(SIG(3)-0.5D0*SIG(4)) * ALFA * ALFA
  124. EPSVPT(4)= CONS*(SIG(4)-0.5D0*SIG(3)) * ALFA * ALFA
  125. ELSE
  126. EPSVPT(1)= CONS*(SIG(1)-0.5D0*SIG(2))
  127. EPSVPT(2)= CONS*(SIG(2)-0.5D0*SIG(1))
  128. EPSVPT(3)= 1.5D0*CONS*SIG(3)
  129. EPSVPT(4)= CONS*(SIG(4)-0.5D0*SIG(5)) * ALFA * ALFA
  130. EPSVPT(5)= CONS*(SIG(5)-0.5D0*SIG(4)) * ALFA * ALFA
  131. EPSVPT(6)= 1.5D0*CONS*SIG(6) * ALFA * ALFA
  132. ENDIF
  133. C
  134. ENDIF
  135. RETURN
  136. END
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  

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