Télécharger incrb4.eso

Retour à la liste

Numérotation des lignes :

incrb4
  1. C INCRB4 SOURCE CB215821 16/04/21 21:17:08 8920
  2. C INCRB4 SOURCE AC2 96/01/19 21:29:40 1995
  3. SUBROUTINE INCRB4(SIG,VAR,EPSVPT,VARPT,XMAT,ALFA,NSTRS0,
  4. & NVARI,NCOMAT)
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. DIMENSION SIG(*),VAR(*),EPSVPT(*),VARPT(*),XMAT(*)
  8. DIMENSION SM(4),SB(4),XXM1(4),XXB1(4),XXM2(4),XXB2(4)
  9. DIMENSION EPMM(4),EPBB(4),XXM(4),XXB(4)
  10. DIMENSION ANSM(4),ANSB(4),ANM(4),ANB(4)
  11. DIMENSION EPS0(8)
  12. PARAMETER (AMAX = 1.0E20)
  13. DETIER=2.0D0/3.0D0
  14. ROOT=SQRT(1.5D0)
  15. C-------------------------------------------------------------------|
  16. C STEP-1 SEPARATING MEMBRANE & BENDING PARTS |
  17. C-------------------------------------------------------------------I
  18. NSTRS = NSTRS0+2
  19. NS = NSTRS/2
  20. SM(1)=SIG(1)
  21. SM(2)=SIG(2)
  22. SM(3)=0.0D0
  23. IF (NS.EQ.4) SM(4)=SIG(3)
  24. SB(1)=SIG(NS)
  25. SB(2)=SIG(NS+1)
  26. SB(3)=0.0D0
  27. IF (NS.EQ.4) SB(4)=SIG(NS+2)
  28. DO 20 I=1,NS
  29. XXM1(I) = DETIER * XMAT(9) * VAR( I)
  30. XXM2(I) = DETIER * XMAT(12) * VAR(2*NS+I)
  31. XXB1(I) = DETIER * XMAT(9) * VAR( NS+I)
  32. XXB2(I) = DETIER * XMAT(12) * VAR(3*NS+I)
  33. EPMM(I) = VAR(4*NS+I)
  34. EPBB(I) = VAR(5*NS+I)
  35. 20 CONTINUE
  36. C-------------------------------------------------------------------|
  37. C STEP-2: EVALUATION OF J2 SIGMA - X |
  38. C-------------------------------------------------------------------I
  39. XXM(1)= (2.D0*SM(1) -SM(2))/3.D0 -XXM1(1) -XXM2(1)
  40. XXM(2)= (2.D0*SM(2) -SM(1))/3.D0 -XXM1(2) -XXM2(2)
  41. XXM(3)= -1.D0*(SM(1)+SM(2))/3.D0 -XXM1(3) -XXM2(3)
  42. XXM(4)=0.0D0
  43. IF(NS.EQ.4) XXM(4)= SM(4) -XXM1(4) -XXM2(4)
  44. XXB(1)= (2.D0*SB(1) -SB(2))/3.D0 -XXB1(1) -XXB2(1)
  45. XXB(2)= (2.D0*SB(2) -SB(1))/3.D0 -XXB1(2) -XXB2(2)
  46. XXB(3)= -1.D0*(SB(1)+SB(2))/3.D0 -XXB1(3) -XXB2(3)
  47. XXB(4)=0.0D0
  48. IF(NS.EQ.4) XXB(4)= SB(4) -XXB1(4) -XXB2(4)
  49. T1 = PROCON(XXM,XXM,NS)
  50. AJM2 = 3.0D0*T1/2.D0
  51. T1 = PROCON(XXB,XXB,NS)
  52. AJB2 = 3.0D0*T1/2.D0
  53. AJ2 = SQRT( AJM2 + ALFA*ALFA*AJB2 )
  54. C--------------------------------------------------------------------|
  55. C STEP-3: CALCUL OF SIGV/K |
  56. C -------------------------------------------------------------------I
  57. RISOT = XMAT(17) -
  58. . ((XMAT(17) - XMAT(7)) * EXP(-XMAT(18) * VAR(3*NSTRS+1)))
  59. SK = (AJ2 - RISOT)/ XMAT(8)
  60. C--------------------------------------------------------------------|
  61. C STEP-4: CALCULATION OF EFFECTIVE INELASTIC STRAIN INCREMENT (P) |
  62. C -------------------------------------------------------------------I
  63. IF (SK.GT.0.0D0) THEN
  64. PPT1= XPUISS(SK,XMAT(6) ,AMAX)
  65. PPT2= XPUISS(SK,XMAT(6)+1,AMAX)
  66. ELSE
  67. PPT1= 0.0D0
  68. PPT2= 0.0D0
  69. ENDIF
  70. T1 = XMAT(5)*PPT2
  71. PPT2=1.0D20
  72. IF(ABS(T1).LT.40.0D0) PPT2= EXP(T1)
  73. PPT = PPT1 * PPT2
  74. VARPT(3*NSTRS+1) = PPT
  75. C---------------------------------------------------------------------|
  76. C******* CALCULATION OF INELASTIC STRAIN INCREMENTS (EPSV0) |
  77. C---------------------------------------------------------------------I
  78. IF(AJ2.EQ.0.0D0) AJ2=1.0D-20
  79. T1 = 1.5D0*PPT/AJ2
  80. EPS0(1) = T1*XXM(1)
  81. EPS0(2) = T1*XXM(2)
  82. EPS0(3) = T1*XXM(3)
  83. IF(NS.EQ.4) EPS0(4)= T1*XXM(4)
  84. EPS0(NS+1) = T1*XXB(1) *ALFA *ALFA
  85. EPS0(NS+2) = T1*XXB(2) *ALFA *ALFA
  86. EPS0(NS+3) = T1*XXB(3) *ALFA *ALFA
  87. IF(NS.EQ.4) EPS0(NS+4)= T1*XXB(4) *ALFA*ALFA
  88. DO 30 I=1,NSTRS
  89. VARPT(2*NSTRS+I)=EPS0(I)
  90. 30 CONTINUE
  91. C----------------------------------------------------------------|
  92. C ******* CALCULATION OF PI(P) |
  93. C----------------------------------------------------------------I
  94. P = VAR(3*NSTRS+1)
  95. T1 = XMAT(14)*P
  96. T2 = EXP(-T1)
  97. PIP= XMAT(11)+(1.0D0-XMAT(11)) * T2
  98. C----------------------------------------------------------------|
  99. C******* CALCULATION OF XII |
  100. C----------------------------------------------------------------I
  101. T1=PROCON(XXM1,XXM1,NS)
  102. T1=3.D0*T1/2.D0
  103. T2=PROCON(XXB1,XXB1,NS)
  104. T2=3.D0*T2/2.D0
  105. C
  106. X1II = SQRT(T1+ALFA*ALFA*T2)
  107. X1IISM = 0.0D0
  108. IF(XMAT(15).NE.0.D0) X1IISM = X1II/XMAT(15)
  109. C
  110. T1=PROCON(XXM2,XXM2,NS)
  111. T1=3.D0*T1/2.D0
  112. T2=PROCON(XXB2,XXB2,NS)
  113. T2=3.D0*T2/2.D0
  114. C
  115. COX1 = 0.D0
  116. IF ((X1II.NE.0.D0).AND.(X1IISM.GT.0.D0))
  117. . COX1 = XPUISS(X1IISM,XMAT(16),AMAX) / X1II
  118. C ----------------------------------------------------------------|
  119. C******* CALCULATION OF DX1 AND DX2 |
  120. C-----------------------------------------------------------------I
  121. DO 74 I=1,NSTRS
  122. T1 = EPS0(I)
  123. T2 = XMAT(10) * PIP * VAR(I) * PPT
  124. T3 = XMAT(9) * COX1 * VAR(I)
  125. VARPT(I)= T1 - T2 -T3
  126. T2 = XMAT(13) * PIP * VAR(NSTRS+I) * PPT
  127. VARPT(NSTRS+I)= T1 - T2
  128. 74 CONTINUE
  129. C-----------------------------------------------------------------|
  130. EPSVPT(1)=EPS0(1)
  131. EPSVPT(2)=EPS0(2)
  132. IF (NS.EQ.4) EPSVPT(3)=EPS0(4)
  133. EPSVPT(NS)=EPS0(NS+1)
  134. EPSVPT(NS+1)=EPS0(NS+2)
  135. IF (NS.EQ.4) EPSVPT(6)=EPS0(8)
  136. C
  137. RETURN
  138. END
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  

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