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

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