Télécharger cotat2.eso

Retour à la liste

Numérotation des lignes :

  1. C COTAT2 SOURCE BP208322 17/03/01 21:16:37 9325
  2. C ROTAT2 SOURCE AM 00/12/13 21:42:14 4045
  3. C MAZARS SOURCE AM 93/02/26 21:18:27 808
  4. SUBROUTINE COTAT2 (WRK52,WRK53,WRK54,WRKK2,NSTRS1,NVARI,ICARA)
  5. C
  6. C
  7. C variables en entree
  8. C
  9. C
  10. C WRK0 pointeur sur un segment deformation au pas precedent
  11. C
  12. C WRK1 pointeur sur un segment increment de deformation
  13. C
  14. C WRKK2 pointeur sur un segment variables internes au pas precedent
  15. C
  16. C WRK5 pointeur sur un segment de deformations inelastiques
  17. C
  18. C XMATER constantes du materiau
  19. C
  20. C NSTRS1 nombre de composantes dans les vecteurs des contraintes
  21. C et les vecteurs des deformations
  22. C
  23. C NVARI nombre de variables internes (doit etre egal a 2)
  24. C
  25. C NMATT nombre de constantes du materiau
  26. C
  27. C ISTEP flag utilise pour separer les etapes dans un calcul non local
  28. C ISTEP=0 -----> calcul local
  29. C ISTEP=1 -----> calcul non local etape 1 on calcule les seuils
  30. C ISTEP=2 -----> calcul non local etape 2 on continue le calcul
  31. C a partir des seuils moyennes
  32. C
  33. C variables en sortie
  34. C
  35. C VARINF variables internes finales
  36. C
  37. C SIGMAF contraintes finales
  38. C
  39. C C. LA BORDERIE MARS 1992
  40. C declaration des variables
  41. C
  42. C
  43. IMPLICIT INTEGER(I-N)
  44. IMPLICIT REAL*8(A-H,O-Z)
  45. -INC CCOPTIO
  46. -INC DECHE
  47. *
  48. SEGMENT WRKK2
  49. REAL*8 EPSILI(NSTRS1)
  50. ENDSEGMENT
  51. INTEGER NSTRS11,NVARI
  52. REAL*8 EPSILO(6),EPSNT(3),SIGNT(3),T(3,3),EPSXY(3),SIGXY(3)
  53. REAL*8 MUP0,MU,MUP,EPCR
  54. REAL*8 EPSMAX,EPSNN,EPSMAX1
  55. REAL*8 SINUS,COSINUS
  56. INTEGER CAS
  57. PARAMETER (XZERO=0.D0 , UN=1.D0 , DEUX=2.D0, XPETIT=1.D-12)
  58.  
  59. C
  60. C
  61. C recuperation des variables initiales dans les tableaux
  62. C
  63. C
  64. N=NSTRS1
  65. CMATE = 'ISOTROPE'
  66. YOUN = XMAT(1)
  67. XNU = XMAT(2)
  68. EPCR = XMAT(5)
  69. MUP0 = XMAT(6)
  70. EPSMAX = VAR0(1)
  71. EPSNN=VAR0(2)
  72. C
  73. C calcul de la deformation totale
  74. C
  75. DO 100 ISTRS=1,NSTRS1
  76. EPSILO(ISTRS)=EPSILI(ISTRS)+DEPST(ISTRS)
  77. 100 CONTINUE
  78. EPSXY(1)=EPSILO(1)
  79. EPSXY(2)=EPSILO(2)
  80. EPSXY(3)=EPSILO(4)
  81. CALL DIACL (EPSXY,SINUS,COSINUS)
  82. t(1,1)=COSINUS**2
  83. t(2,1)=SINUS**2
  84. t(3,1)=-2.D0*COSINUS*SINUS
  85. t(1,2)=SINUS**2
  86. t(2,2)=COSINUS**2
  87. t(3,2)=2.D0*COSINUS*SINUS
  88. t(1,3)=COSINUS*SINUS
  89. t(2,3)=-COSINUS*SINUS
  90. t(3,3)=COSINUS**2 - SINUS**2
  91. DO I=1,3
  92. EPSNT(I)=0.D0
  93. DO J=1,3
  94. EPSNT(I)=EPSNT(I)+T(I,J)*EPSXY(J)
  95. END DO
  96. END DO
  97. *
  98. *INITIALISATION DU EPSM
  99. *
  100. IF (ISTEP .EQ. 2) THEN
  101. EPSNNM=EPSNN
  102. ELSE
  103. EPSNNM=EPSNT(1)
  104. END IF
  105. EPSMAX1=MAX(EPSMAX,EPCR)
  106. *
  107. *CALCUL DE MU DANS LES DIFFERENTS CAS
  108. *
  109. IF (EPSNNM.LE.0.d0) THEN
  110. MUP=1.D0
  111. MU=MUP
  112. CAS=1
  113. ELSE IF (EPSNNM .LE. EPSMAX1) THEN
  114. IF (EPSMAX1.LE. EPCR*(1.D0-1.D0/MUP0))THEN
  115. MUP=(EPCR+MUP0*(EPSMAX1-EPCR))/EPSMAX1
  116. ELSE
  117. MUP=0.D0
  118. END IF
  119. CAS=2
  120. MU=MUP
  121. ELSE IF (EPSNNM .LE. EPCR*(1.D0-1.D0/MUP0))THEN
  122. IF (EPSMAX1 .LT. EPCR)THEN
  123. MUP=(EPCR+MUP0*(EPSNNM-EPCR)-EPSMAX1)/(EPSNNM-EPSMAX1)
  124. ELSE
  125. MUP=MUP0
  126. END IF
  127. MU=(EPCR+MUP0*(EPSNNM-EPCR))/EPSNNM
  128. EPSMAX=EPSNNM
  129. CAS=3
  130. ELSE
  131. IF ( EPSMAX1 .LT. EPCR*(1.D0-1.D0/MUP0)) then
  132. MUP=(EPCR+MUP0*(EPSMAX1-EPCR))/(EPSMAX1-EPSNNM)
  133. ELSE
  134. MUP=0.D0
  135. END IF
  136. MU=0.D0
  137. CAS=4
  138. EPSMAX1=EPSNNM
  139. END IF
  140. C
  141. C On calcule la contrainte dans le repere principal
  142. C
  143. IF (ISTEP .NE. 1) THEN
  144. EPSNN=EPSNT(1)
  145. EPSTT=EPSNT(2)
  146. SIGNN=MU*YOUN/(1.D0-XNU*XNU*MU)*(EPSNN+XNU*EPSTT)
  147. SIGTT=YOUN/(1.D0-XNU*XNU*MU)*(EPSTT+XNU*MU*EPSNN)
  148. SIGNT(1)=SIGNN
  149. SIGNT(2)=SIGTT
  150. SIGNT(3)=0.D0
  151. C
  152. C Finalement la contrainte est calculee dans le repere de travail
  153. C
  154. DO I=1,3
  155. SIGXY(I)=0.D0
  156. DO J=1,3
  157. SIGXY(I)=SIGXY(I)+T(J,I)*SIGNT(J)
  158. END DO
  159. END DO
  160. SIGF(1)=SIGXY(1)
  161. SIGF(2)=SIGXY(2)
  162. SIGF(3)=XZERO
  163. SIGF(4)=SIGXY(3)
  164.  
  165. C
  166. C et les deformations inelastiques finales
  167. C
  168. EPSIN=(UN-MU)/(UN-XNU*XNU*MU)*(EPSNN+XNU*EPSTT)
  169. EPINF(1)=T(1,1)*EPSIN
  170. EPINF(2)=T(1,2)*EPSIN
  171. EPINF(3)=XZERO
  172. EPINF(4)=T(1,3)*EPSIN
  173. END IF
  174. VARF(1)= MAX(EPSMAX,EPSNN)
  175. VARF(2)=EPSNNM
  176. C print*,cas,epsmax1,epsnnm,mu,epsin
  177. C print*,'epsnt=',epsnt
  178. C print*,'signt=',signt
  179. C print*,'sigxy=',sigxy evol1 fx);
  180. C print*,'istep=',istep
  181. C print*,'epsnn=',epsnn
  182. C print*,'epsnnm=',epsnnm
  183. C print*,'epcr=',epcr,'mup0=',mup0
  184. C print*,'mu=',mu,epsin
  185. C PRINT*,'VARF',(VARF(I),I=1,2)
  186. C PRINT*,'EPINF',(EPINF(I),I=1,NSTRS1)
  187. C PRINT*,'SIGF',(SIGF(I),I=1,NSTRS1)
  188. C PRINT*,'EPSILO',(EPSILO(I),I=1,NSTRS1)
  189. C PRINT*,'EPSILI',(EPSILI(I),I=1,NSTRS1)
  190. C PRINT*,'DEPST',(DEPST(I),I=1,NSTRS1)
  191. C print*
  192. RETURN
  193. END
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  

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