Télécharger incrb2.eso

Retour à la liste

Numérotation des lignes :

incrb2
  1. C INCRB2 SOURCE CB215821 16/04/21 21:17:08 8920
  2. C INCRB2 SOURCE AC2 96/01/19 21:29:05 1995
  3. SUBROUTINE INCRB2(SIG,VAR,EPSVPT,VARPT,XMAT,NSTRS0,
  4. & MFR,NVARI,NCOMAT)
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. REAL*8 EAFSKPN1,BP,EMBP,PPRIMDP
  8. REAL*8 AFSKPN1,T1,T2,T3,DP,FSKPN,FSKPN1,J2SMX,RR,FSURK
  9. DIMENSION SIG(*),VAR(*),EPSVPT(*),VARPT(*),XMAT(*)
  10. DIMENSION XXX(6),AN(6),ANS(6),SMOINX(6)
  11. DIMENSION SIG0(6),DEPS0(6),SIGX1(6),SIGX2(6)
  12. PARAMETER (AMAX = 1.0D20 , AMIN = 1.D-10)
  13. DETIER = 2.0D0/3.0D0
  14. ROOT = SQRT(DETIER)
  15. C-------------------------------------------------------------------|
  16. C
  17. C XMAT(1) : YOUN
  18. C XMAT(2) : NU
  19. C XMAT(3) : RHO
  20. C XMAT(4) : ALPH
  21. C XMAT(5) : ALF
  22. C XMAT(6) : N
  23. C XMAT(7) : KK
  24. C XMAT(8) : K0
  25. C XMAT(9) : CL1
  26. C XMAT(10) : DNL1
  27. C XMAT(11) : PHI
  28. C XMAT(12) : CL2
  29. C XMAT(13) : DNL2
  30. C XMAT(14) : B
  31. C XMAT(15) : GDM1
  32. C XMAT(16) : PTM1
  33. C XMAT(17) : RMAX
  34. C XMAT(18) : BR
  35. C
  36. C SIGXi : Xi ( Xi = (2/3) CLi ALPHAi)
  37. C ALPHAi : variable interne du type AiXX....
  38. C
  39. C-------------------------------------------------------------------|
  40. C******* CALCUL DE X1 ET X2 |
  41. C-------------------------------------------------------------------I
  42. NSTRS = NSTRS0
  43. DO 12 I = 1,NSTRS
  44. SIGX1(I) = DETIER * XMAT(9) * VAR(I)
  45. SIGX2(I) = DETIER * XMAT(12) * VAR(NSTRS+I)
  46. 12 CONTINUE
  47. C-------------------------------------------------------------------|
  48. C******* EVALUATION OF J2 SIGMA - X |
  49. C-------------------------------------------------------------------I
  50. IF (MFR.EQ.5) THEN
  51. NSTRS = 6
  52. SIG0(1) = SIG(1)
  53. SIG0(2) = SIG(2)
  54. SIG0(3) = 0.D0
  55. SIG0(4) = SIG(3)
  56. SIG0(5) = SIG(4)
  57. SIG0(6) = SIG(5)
  58. ELSE
  59. NSTRS = NSTRS0
  60. DO 10 I = 1,NSTRS
  61. SIG0(I) = SIG(I)
  62. 10 CONTINUE
  63. ENDIF
  64. C
  65. TRACE = (SIG0(1)+SIG0(2)+SIG0(3))/3.0D0
  66. DO 70 I = 1,NSTRS
  67. IF (I.LE.3) THEN
  68. SMOINX(I) = SIG0(I) - TRACE - SIGX1(I) - SIGX2(I)
  69. ELSE
  70. SMOINX(I) = SIG0(I) - SIGX1(I) - SIGX2(I)
  71. ENDIF
  72. 70 CONTINUE
  73. J2SMX = PROCON (SMOINX,SMOINX,NSTRS)
  74. J2SMX = SQRT(1.5D0*J2SMX)
  75. C--------------------------------------------------------------------|
  76. C******* CALCUL OF SIGV/K |
  77. C -------------------------------------------------------------------I
  78. RR=XMAT(17)-((XMAT(17)-XMAT(7))*EXP(-XMAT(18)*VAR(3*NSTRS+1)))
  79. FSURK = (J2SMX-RR) / XMAT(8)
  80. C--------------------------------------------------------------------|
  81. C******* CALCULATION OF EFFECTIVE INELASTIC STRAIN INCREMENT (P) |
  82. C -------------------------------------------------------------------I
  83. IF (FSURK.GT.0.0D0) THEN
  84. FSKPN = XPUISS(FSURK,XMAT(6) ,AMAX)
  85. FSKPN1 = FSURK * FSKPN
  86. ELSE
  87. FSKPN = 0.0D0
  88. FSKPN1 = 0.0D0
  89. ENDIF
  90. C
  91. AFSKPN1 = XMAT(5) * FSKPN1
  92. EAFSKPN1 = 1.0D20
  93. IF(ABS(AFSKPN1).LT.40.0D0) EAFSKPN1 = EXP(AFSKPN1)
  94. DP = FSKPN * EAFSKPN1
  95. VARPT(3*NSTRS+1) = DP
  96. C---------------------------------------------------------------------|
  97. C******* CALCULATION OF INELASTIC STRAIN INCREMENTS (EPSVPT) |
  98. C---------------------------------------------------------------------I
  99. DO 71 I = 1,NSTRS,1
  100. IF (DP.EQ.0.0) THEN
  101. DEPS0(I) = 0.0D0
  102. VARPT(2*NSTRS+I) = 0.0D0
  103. ELSE
  104. XXX(I) = 1.5D0 * SMOINX(I) / J2SMX
  105. DEPS0(I) = XXX(I) * DP
  106. VARPT(2*NSTRS+I) = DEPS0(I)
  107. ENDIF
  108. 71 CONTINUE
  109. C
  110. P = VAR(3*NSTRS+1)
  111. C----------------------------------------------------------------|
  112. C ******* CALCULATION OF PI(P) |
  113. C----------------------------------------------------------------I
  114. BP = XMAT(14) * P
  115. EMBP = EXP(-BP)
  116. PPRIMDP = (XMAT(11) + (1.0D0-XMAT(11)) * EMBP) * DP
  117. C----------------------------------------------------------------|
  118. C******* CALCULATION OF XII |
  119. C----------------------------------------------------------------I
  120. X1II = SQRT(1.5D0*PROCON(SIGX1,SIGX1,NSTRS))
  121. X1IISM = 0.0D0
  122. IF(XMAT(15).NE.0.0D0) X1IISM = X1II/XMAT(15)
  123. C
  124. COX1 = 0.0D0
  125. IF((X1II.GT.0.0D0).AND.(X1IISM.GT.0.0D0))
  126. . COX1 = (X1IISM**XMAT(16)) / X1II
  127. C ----------------------------------------------------------------|
  128. C******* CALCULATION OF DX1 AND DX2 |
  129. C-----------------------------------------------------------------I
  130. DO 74 I = 1,NSTRS
  131. T1 = DEPS0(I)
  132. T2 = XMAT(10) * PPRIMDP * VAR(I)
  133. T3 = 1.5D0 * COX1 * SIGX1(I)
  134. VARPT(I) = T1 - T2 - T3
  135. T2 = XMAT(13) * PPRIMDP * VAR(NSTRS+I)
  136. VARPT(NSTRS+I) = T1 - T2
  137. 74 CONTINUE
  138. C
  139. IF (MFR.EQ.5) THEN
  140. EPSVPT(1)=DEPS0(1)
  141. EPSVPT(2)=DEPS0(2)
  142. EPSVPT(3)=DEPS0(4)
  143. EPSVPT(4)=DEPS0(5)
  144. EPSVPT(5)=DEPS0(6)
  145. ELSE
  146. DO 11 I = 1,NSTRS
  147. EPSVPT(I) = DEPS0(I)
  148. 11 CONTINUE
  149. ENDIF
  150. c
  151. RETURN
  152. END
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  

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