Télécharger incra2.eso

Retour à la liste

Numérotation des lignes :

  1. C INCRA2 SOURCE CB215821 16/04/21 21:17:06 8920
  2. C INCRA2 SOURCE AC2 96/01/19 21:29:05 1995
  3. SUBROUTINE INCRA2(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 J2SMX
  8. DIMENSION SIG(*),VAR(*),EPSVPT(*),VARPT(*),XMAT(*)
  9. DIMENSION SMOINX(6),XX(6),AN(6),ANS(6),YY(6)
  10. DIMENSION SIG0(6),EPS0(6),SIGX1(6),SIGX2(6)
  11. PARAMETER (AMAX = 1.0D20 , AMIN = 1.D-10)
  12. DETIER = 2.0D0/3.0D0
  13. ROOT = SQRT(DETIER)
  14. C-------------------------------------------------------------------|
  15. C
  16. C XMAT(1) : YOUN
  17. C XMAT(2) : NU
  18. C XMAT(3) : RHO
  19. C XMAT(4) : ALPH
  20. C XMAT(5) : ALF
  21. C XMAT(6) : N
  22. C XMAT(7) : KK
  23. C XMAT(8) : K0
  24. C XMAT(9) : ALFK
  25. C XMAT(10) : ALFR
  26. C XMAT(11) : CL1
  27. C XMAT(12) : DNL1
  28. C XMAT(13) : PHI
  29. C XMAT(14) : CL2
  30. C XMAT(15) : DNL2
  31. C XMAT(16) : B
  32. C XMAT(17) : GDM1
  33. C XMAT(18) : GDM2
  34. C XMAT(19) : PTM1
  35. C XMAT(20) : PTM2
  36. C XMAT(21) : GAMA
  37. C XMAT(22) : M
  38. C XMAT(23) : ETA
  39. C XMAT(24) : MU
  40. C XMAT(25) : QMAX
  41. C XMAT(26) : QSTA
  42. C
  43. C SIGXi : Xi ( Xi = (2/3) CLi ALPHAi)
  44. C ALPHAi : variable interne du type AiXX....
  45. C
  46. C-------------------------------------------------------------------|
  47. C******* CALCUL DE X1 ET X2 |
  48. C-------------------------------------------------------------------I
  49. NSTRS = NSTRS0
  50. DO 12 I=1,NSTRS
  51. SIGX1(I) = DETIER * XMAT(11) * VAR(I)
  52. SIGX2(I) = DETIER * XMAT(14) * VAR(NSTRS+I)
  53. 12 CONTINUE
  54. C-------------------------------------------------------------------|
  55. C******* EVALUATION OF J2 SIGMA - X |
  56. C-------------------------------------------------------------------I
  57. IF (MFR.EQ.5) THEN
  58. NSTRS=6
  59. SIG0(1)=SIG(1)
  60. SIG0(2)=SIG(2)
  61. SIG0(3)=0.D0
  62. SIG0(4)=SIG(3)
  63. SIG0(5)=SIG(4)
  64. SIG0(6)=SIG(5)
  65. ELSE
  66. NSTRS=NSTRS0
  67. DO 10 I=1,NSTRS
  68. SIG0(I)=SIG(I)
  69. 10 CONTINUE
  70. ENDIF
  71. C
  72. TRACE =(SIG0(1)+SIG0(2)+SIG0(3))/3.0D0
  73. DO 70 I=1,NSTRS
  74. IF (I.LE.3) THEN
  75. SMOINX(I) = SIG0(I) - TRACE - SIGX1(I) - SIGX2(I)
  76. ELSE
  77. SMOINX(I) = SIG0(I) - SIGX1(I) - SIGX2(I)
  78. ENDIF
  79. 70 CONTINUE
  80. AJ2 = PROCON (SMOINX,SMOINX,NSTRS)
  81. J2SMX = SQRT(1.5D0*AJ2)
  82. C--------------------------------------------------------------------|
  83. C******* CALCUL OF SIGV/K |
  84. C -------------------------------------------------------------------I
  85. RR = VAR (4*NSTRS+2)
  86. RS = XMAT(10)*RR
  87. SK = (J2SMX - RS-XMAT(7))/( XMAT(8) + XMAT(9)*RR )
  88. C--------------------------------------------------------------------|
  89. C******* CALCULATION OF EFFECTIVE INELASTIC STRAIN INCREMENT (P) |
  90. C -------------------------------------------------------------------I
  91. IF (SK.GT.0.0D0) THEN
  92. PPT1= XPUISS(SK,XMAT(6) ,AMAX)
  93. PPT2= XPUISS(SK,XMAT(6)+1.D0,AMAX)
  94. ELSE
  95. PPT1= 0.0D0
  96. PPT2= 0.0D0
  97. ENDIF
  98. T1 = XMAT(5)*PPT2
  99. PPT2=1.0D20
  100. IF(ABS(T1).LT.40.0D0) PPT2= EXP(T1)
  101. PPT = PPT1 * PPT2
  102. VARPT(4*NSTRS+1) = PPT
  103. C---------------------------------------------------------------------|
  104. C******* CALCULATION OF INELASTIC STRAIN INCREMENTS (EPSVPT) |
  105. C---------------------------------------------------------------------I
  106. DO 71 I=1,NSTRS,1
  107. IF (PPT.EQ.0.0D0) THEN
  108. EPS0 (I) = 0.0D0
  109. XX (I) = 0.0D0
  110. VARPT(3*NSTRS+I)= 0.0D0
  111. ELSE
  112. XX(I) = 1.5D0*SMOINX(I)/J2SMX
  113. EPS0 (I) = XX(I)*PPT
  114. VARPT(3*NSTRS+I)=EPS0 (I)
  115. ENDIF
  116. 71 CONTINUE
  117. C
  118. P = VAR(4*NSTRS+1)
  119. C----------------------------------------------------------------|
  120. C ******* CALCULATION OF PI(P) |
  121. C----------------------------------------------------------------I
  122. T1 = XMAT(16)*P
  123. T2 = EXP(-T1)
  124. PIP= XMAT(13)+(1.0D0-XMAT(13)) * T2
  125. C----------------------------------------------------------------|
  126. C******* CALCULATION OF XII |
  127. C----------------------------------------------------------------I
  128. X1II = SQRT(1.5D0*PROCON(SIGX1,SIGX1,NSTRS))
  129. X1IISM = 0.0D0
  130. IF(XMAT(17).NE.0.0D0) X1IISM = X1II/XMAT(17)
  131. C
  132. X2II = SQRT(1.5D0*PROCON(SIGX2,SIGX2,NSTRS))
  133. X2IISM = 0.0D0
  134. IF(XMAT(18).NE.0.0D0) X2IISM = X2II/XMAT(18)
  135. C
  136. COX1 = 0.0D0
  137. COX2 = 0.0D0
  138. IF((X1II.GT.0.0D0).AND.(X1IISM.GT.0.0D0))
  139. . COX1 = XPUISS(X1IISM,XMAT(19),AMAX) / X1II
  140. IF((X2II.GT.0.0D0).AND.(X2IISM.GT.0.0D0))
  141. . COX2 = XPUISS(X2IISM,XMAT(20),AMAX) / X2II
  142. C ----------------------------------------------------------------|
  143. C******* CALCULATION OF DX1 AND DX2 |
  144. C-----------------------------------------------------------------I
  145. DO 74 I=1,NSTRS
  146. T1 = EPS0(I)
  147. T2 = XMAT(12) * PIP * VAR(I) * PPT
  148. T3 = 1.5D0 * COX1 * SIGX1(I)
  149. VARPT(I)= T1 - T2 -T3
  150. T2 = XMAT(15) * PIP * VAR(NSTRS+I) * PPT
  151. T3 = 1.5D0 * COX2 * SIGX2(I)
  152. VARPT(NSTRS+I)= T1 - T2 - T3
  153. 74 CONTINUE
  154. C-----------------------------------------------------------------|
  155. C******* CALCULATION OF DR |
  156. C-----------------------------------------------------------------I
  157. T1 = 1.0D0-(1.0D0-VAR(4*NSTRS+3)/XMAT(25))**2
  158. QR = VAR(4*NSTRS+3)-XMAT(26)*T1
  159. CO1= QR-VAR(4*NSTRS+2)
  160. CO = ABS(CO1)
  161. IF(CO.GT.0.0D0) CO = CO**(XMAT(22)-1.0D0)
  162. T1= XMAT(16)*(VAR(4*NSTRS+3)-VAR(4*NSTRS+2))*PPT
  163. T2= XMAT(21)*CO*CO1
  164. DR= T1 + T2
  165. VARPT(4*NSTRS+2)=DR
  166. C----------------------------------------------------------------|
  167. C******* CALCULATION OF PROD (N X N*) |
  168. C----------------------------------------------------------------I
  169. DO 75 I=1,NSTRS
  170. YY(I)=VAR(3*NSTRS+I) - VAR(2*NSTRS+I)
  171. 75 CONTINUE
  172. AJ2= SQRT(1.5D0*PROCON(YY,YY,NSTRS))
  173. IF(AJ2.LT.AMIN) THEN
  174. IF (AJ2.EQ.0.D0) AJ2=AMIN
  175. AJ20=AJ2*1.D20
  176. DO 15 I=1,NSTRS
  177. YY(I)=YY(I)*1.D20
  178. 15 CONTINUE
  179. ELSE
  180. AJ20=AJ2
  181. ENDIF
  182. DO 76 I= 1,NSTRS
  183. ANS(I) = SQRT(1.5D0)*YY(I)/AJ20
  184. AN (I) = ROOT*XX(I)
  185. 76 CONTINUE
  186. FF = DETIER*AJ2-VAR(4*NSTRS+4)
  187. HF=0.0D0
  188. IF(FF.GT.0.0D0) HF=1.0D0
  189. ANAN1=PROCON(AN,ANS,NSTRS)
  190. ANANS=0.0D0
  191. IF(ANAN1.GT.0.0) ANANS=ANAN1
  192. C----------------------------------------------------------------|
  193. C******* CALCULATION OF DQ |
  194. C----------------------------------------------------------------I
  195. DQ = XMAT(23)*HF*ANANS*PPT
  196. VARPT(4*NSTRS+4)=DQ
  197. C----------------------------------------------------------------|
  198. C******* CALCULATION OF DGETA |
  199. C----------------------------------------------------------------I
  200. T1 = SQRT(1.5D0)*(1.0D0-XMAT(23))*HF*ANANS*PPT
  201. DO 78 I=1,NSTRS
  202. VARPT(2*NSTRS+I)= T1*ANS(I)
  203. 78 CONTINUE
  204. C----------------------------------------------------------------|
  205. C******* CALCULATION OF DQQ |
  206. C----------------------------------------------------------------I
  207. VARPT(4*NSTRS+3)=2.0D0*XMAT(24)*(XMAT(25)-VAR(4*NSTRS+3))*DQ
  208. C
  209. IF (MFR.EQ.5) THEN
  210. EPSVPT(1)=EPS0(1)
  211. EPSVPT(2)=EPS0(2)
  212. EPSVPT(3)=EPS0(4)
  213. EPSVPT(4)=EPS0(5)
  214. EPSVPT(5)=EPS0(6)
  215. ELSE
  216. DO 11 I=1,NSTRS
  217. EPSVPT(I)=EPS0(I)
  218. 11 CONTINUE
  219. ENDIF
  220. C
  221. RETURN
  222. END
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  

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