Télécharger cotat2.eso

Retour à la liste

Numérotation des lignes :

cotat2
  1. C COTAT2 SOURCE PV 17/12/08 21:16:58 9660
  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.  
  46. -INC PPARAM
  47. -INC CCOPTIO
  48. -INC DECHE
  49. *
  50. SEGMENT WRKK2
  51. REAL*8 EPSILI(NSTRS1)
  52. ENDSEGMENT
  53. INTEGER NSTRS11,NVARI
  54. REAL*8 EPSILO(6),EPSNT(3),SIGNT(3),T(3,3),EPSXY(3),SIGXY(3)
  55. REAL*8 MUP0,MU,MUP,EPCR
  56. REAL*8 EPSMAX,EPSNN,EPSMAX1
  57. REAL*8 SINUS,COSINUS
  58. INTEGER CAS
  59. PARAMETER (XZERO=0.D0 , UN=1.D0 , DEUX=2.D0, XPETIT=1.D-12)
  60.  
  61. C
  62. C
  63. C recuperation des variables initiales dans les tableaux
  64. C
  65. C
  66. N=NSTRS1
  67. CMATE = 'ISOTROPE'
  68. YOUN = XMAT(1)
  69. XNU = XMAT(2)
  70. EPCR = XMAT(5)
  71. MUP0 = XMAT(6)
  72. EPSMAX = VAR0(1)
  73. EPSNN=VAR0(2)
  74. C
  75. C calcul de la deformation totale
  76. C
  77. DO 100 ISTRS=1,NSTRS1
  78. EPSILO(ISTRS)=EPSILI(ISTRS)+DEPST(ISTRS)
  79. 100 CONTINUE
  80. EPSXY(1)=EPSILO(1)
  81. EPSXY(2)=EPSILO(2)
  82. EPSXY(3)=EPSILO(4)
  83. CALL DIACL (EPSXY,SINUS,COSINUS)
  84. t(1,1)=COSINUS**2
  85. t(2,1)=SINUS**2
  86. t(3,1)=-2.D0*COSINUS*SINUS
  87. t(1,2)=SINUS**2
  88. t(2,2)=COSINUS**2
  89. t(3,2)=2.D0*COSINUS*SINUS
  90. t(1,3)=COSINUS*SINUS
  91. t(2,3)=-COSINUS*SINUS
  92. t(3,3)=COSINUS**2 - SINUS**2
  93. DO I=1,3
  94. EPSNT(I)=0.D0
  95. DO J=1,3
  96. EPSNT(I)=EPSNT(I)+T(I,J)*EPSXY(J)
  97. END DO
  98. END DO
  99. *
  100. *INITIALISATION DU EPSM
  101. *
  102. IF (ISTEP .EQ. 2) THEN
  103. EPSNNM=EPSNN
  104. ELSE
  105. EPSNNM=EPSNT(1)
  106. END IF
  107. EPSMAX1=MAX(EPSMAX,EPCR)
  108. *
  109. *CALCUL DE MU DANS LES DIFFERENTS CAS
  110. *
  111. IF (EPSNNM.LE.0.d0) THEN
  112. MUP=1.D0
  113. MU=MUP
  114. CAS=1
  115. ELSE IF (EPSNNM .LE. EPSMAX1) THEN
  116. IF (EPSMAX1.LE. EPCR*(1.D0-1.D0/MUP0))THEN
  117. MUP=(EPCR+MUP0*(EPSMAX1-EPCR))/EPSMAX1
  118. ELSE
  119. MUP=0.D0
  120. END IF
  121. CAS=2
  122. MU=MUP
  123. ELSE IF (EPSNNM .LE. EPCR*(1.D0-1.D0/MUP0))THEN
  124. IF (EPSMAX1 .LT. EPCR)THEN
  125. MUP=(EPCR+MUP0*(EPSNNM-EPCR)-EPSMAX1)/(EPSNNM-EPSMAX1)
  126. ELSE
  127. MUP=MUP0
  128. END IF
  129. MU=(EPCR+MUP0*(EPSNNM-EPCR))/EPSNNM
  130. EPSMAX=EPSNNM
  131. CAS=3
  132. ELSE
  133. IF ( EPSMAX1 .LT. EPCR*(1.D0-1.D0/MUP0)) then
  134. MUP=(EPCR+MUP0*(EPSMAX1-EPCR))/(EPSMAX1-EPSNNM)
  135. ELSE
  136. MUP=0.D0
  137. END IF
  138. MU=0.D0
  139. CAS=4
  140. EPSMAX1=EPSNNM
  141. END IF
  142. C
  143. C On calcule la contrainte dans le repere principal
  144. C
  145. IF (ISTEP .NE. 1) THEN
  146. EPSNN=EPSNT(1)
  147. EPSTT=EPSNT(2)
  148. SIGNN=MU*YOUN/(1.D0-XNU*XNU*MU)*(EPSNN+XNU*EPSTT)
  149. SIGTT=YOUN/(1.D0-XNU*XNU*MU)*(EPSTT+XNU*MU*EPSNN)
  150. SIGNT(1)=SIGNN
  151. SIGNT(2)=SIGTT
  152. SIGNT(3)=0.D0
  153. C
  154. C Finalement la contrainte est calculee dans le repere de travail
  155. C
  156. DO I=1,3
  157. SIGXY(I)=0.D0
  158. DO J=1,3
  159. SIGXY(I)=SIGXY(I)+T(J,I)*SIGNT(J)
  160. END DO
  161. END DO
  162. SIGF(1)=SIGXY(1)
  163. SIGF(2)=SIGXY(2)
  164. SIGF(3)=XZERO
  165. SIGF(4)=SIGXY(3)
  166.  
  167. C
  168. C et les deformations inelastiques finales
  169. C
  170. EPSIN=(UN-MU)/(UN-XNU*XNU*MU)*(EPSNN+XNU*EPSTT)
  171. EPINF(1)=T(1,1)*EPSIN
  172. EPINF(2)=T(1,2)*EPSIN
  173. EPINF(3)=XZERO
  174. EPINF(4)=T(1,3)*EPSIN
  175. END IF
  176. VARF(1)= MAX(EPSMAX,EPSNN)
  177. VARF(2)=EPSNNM
  178. C print*,cas,epsmax1,epsnnm,mu,epsin
  179. C print*,'epsnt=',epsnt
  180. C print*,'signt=',signt
  181. C print*,'sigxy=',sigxy evol1 fx);
  182. C print*,'istep=',istep
  183. C print*,'epsnn=',epsnn
  184. C print*,'epsnnm=',epsnnm
  185. C print*,'epcr=',epcr,'mup0=',mup0
  186. C print*,'mu=',mu,epsin
  187. C PRINT*,'VARF',(VARF(I),I=1,2)
  188. C PRINT*,'EPINF',(EPINF(I),I=1,NSTRS1)
  189. C PRINT*,'SIGF',(SIGF(I),I=1,NSTRS1)
  190. C PRINT*,'EPSILO',(EPSILO(I),I=1,NSTRS1)
  191. C PRINT*,'EPSILI',(EPSILI(I),I=1,NSTRS1)
  192. C PRINT*,'DEPST',(DEPST(I),I=1,NSTRS1)
  193. C print*
  194. RETURN
  195. END
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  

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