Télécharger cjfdec.eso

Retour à la liste

Numérotation des lignes :

cjfdec
  1. C CJFDEC SOURCE OF166741 25/11/04 21:15:25 12349
  2. C JFDECO SOURCE AM 00/12/13 21:37:04 4045
  3. SUBROUTINE CJFDEC(WRK52,WRK53,WRK54,WRKK2,NSTRS1,NVARI,ICARA,
  4. $ xecou)
  5. C
  6. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  7. C % %
  8. C % subroutine integrant le comportement du beton %
  9. C % %
  10. C % - determine les nouvelles valeurs des variables %
  11. C % d'histoire YLIM1 YLIM2 D1 et D2 %
  12. C % %
  13. C % %
  14. C % en fonction du vecteur des deformations %
  15. C % %
  16. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  17. C
  18. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  19. C % %
  20. C % %
  21. C % declaration des variables %
  22. C % %
  23. C % %
  24. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  25. C
  26. IMPLICIT INTEGER(I-N)
  27. IMPLICIT REAL*8(A-H,O-Z)
  28.  
  29. -INC PPARAM
  30. -INC CCOPTIO
  31. -INC DECHE
  32. -INC TECOU
  33.  
  34. SEGMENT WRKK2
  35. REAL*8 EPSILI(NSTRS)
  36. END SEGMENT
  37. SEGMENT WRK3
  38. REAL*8 EPSILO(NSTRS)
  39. END SEGMENT
  40. *
  41. REAL*8 YLIM1,YLIM2,DOM1,DOM2,Y1,Y2,Z1,Z2
  42. *
  43. REAL*8 EPS33(3,3),XROTA(3,3),EPSA(3),EPSN(3)
  44. REAL*8 SIGNN(3),SIGA(3),SIGMAN(3,3)
  45. INTEGER JSIGN(3)
  46.  
  47. LOGICAL CONV
  48. REAL*8 UN,DEUX,ZERO
  49. PARAMETER (ZERO=0.D0)
  50. PARAMETER (UN=1.D0)
  51. PARAMETER (DEUX=2.D0)
  52. *
  53. * -----> RECUPERATION DES VARIABLES INTERNES
  54. *
  55. YLIMA1 = VAR0(1)
  56. YLIMA2 = VAR0(2)
  57. DOM1 = VAR0(3)
  58. DOM2 = VAR0(4)
  59. E = XMAT(1)
  60.  
  61. Z1=UN/(UN-DOM1)
  62. Z2=UN/(UN-DOM2)
  63. *
  64. * -----> ON DIAGONALISE LES ANCIENNES DEFORMATIONS
  65. *
  66. CALL ENDOCA(EPSILI,EPS33,2)
  67. CALL JACOB3(EPS33,2,EPSA,XROTA)
  68. * PRINT*,'ANCIENNES DEFORMATIONS PPALES',EPSA(1),EPSA(2),EPSA(3)
  69. *
  70. * -----> ON DIAGONALISE LES ANCIENNES CONTRAINTES
  71. *
  72. CALL ENDOCA(SIG0,EPS33,1)
  73. CALL JACOB3(EPS33,2,SIGA,XROTA)
  74. *
  75. * -----> ON CALCULE LES DEFORMATIONS TOTALES
  76. *
  77. SEGINI WRK3
  78. DO ISTRS=1,NSTRS1
  79. EPSILO(ISTRS)=EPSILI(ISTRS)+DEPST(ISTRS)
  80. * print*,'ISTRS',ISTRS,'EPSILO',EPSILO(ISTRS)
  81. END DO
  82. *
  83. * -----> ON LES DIAGONALISE
  84. *
  85. CALL ENDOCA(EPSILO,EPS33,2)
  86. CALL JACOB3(EPS33,2,EPSN,XROTA)
  87. * PRINT*,'DEFORMATIONS PPALES',EPSN(1),EPSN(2),EPSN(3)
  88. *
  89. * -----> ON INITIALISE Y1 ET Y2
  90. *
  91. IF (SIGA(1) .GE. ZERO) THEN
  92. JSIGN(1)=1
  93. ELSE
  94. JSIGN(1)=0
  95. END IF
  96. IF (SIGA(2) .GE. ZERO) THEN
  97. JSIGN(2)=1
  98. ELSE
  99. JSIGN(2)=0
  100. END IF
  101. TRSIG=SIGA(1)+SIGA(2)
  102. IF (TRSIG .GE. ZERO) THEN
  103. FSIG=TRSIG
  104. ELSE IF (TRSIG.GE.-SIGF) THEN
  105. FSIG=TRSIG*(UN+TRSIG/(DEUX*SIGF))
  106. ELSE
  107. FSIG=-SIGF*TRSIG/DEUX
  108. END IF
  109. YA1=( JSIGN(1)*SIGA(1)*SIGA(1)+JSIGN(2)*SIGA(2)*SIGA(2) )
  110. & *Z1*Z1/(DEUX*E)
  111. YA2=( (1-JSIGN(1))*SIGA(1)*SIGA(1)+
  112. & (1-JSIGN(2))*SIGA(2)*SIGA(2) )
  113. & *Z2*Z2/(DEUX*E)
  114. C
  115. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  116. C % %
  117. C % DECOUPAGE DE L'INCREMENT DE DEFORMATION %
  118. C % %
  119. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  120. c
  121. NEPS=1
  122. CONV=.FALSE.
  123. DO WHILE ((.NOT. CONV).AND.(NEPS.LE.100))
  124. SIG1 = SIGA(1)
  125. SIG2 = SIGA(2)
  126. YLIM1=YLIMA1
  127. YLIM2=YLIMA2
  128. IF (SIG1.GE.0.D0)THEN
  129. JSIGN(1)=1
  130. ELSE
  131. JSIGN(1)=0
  132. END IF
  133. IF (SIG2.GE.0.D0)THEN
  134. JSIGN(2)=1
  135. ELSE
  136. JSIGN(2)=0
  137. END IF
  138. Z1=1.D0/(1.D0-DOM1)
  139. Z2=1.D0/(1.D0-DOM2)
  140. Y1 = YA1
  141. Y2 = YA2
  142. DEPS1=(EPSN(1)-EPSA(1))/NEPS
  143. DEPS2=(EPSN(2)-EPSA(2))/NEPS
  144. IEPS=0
  145. DT1=xecou.DT/NEPS
  146. c print*,'Vitesse',(DEPS1/dt1),(DEPS2/dt1)
  147. CONV=.TRUE.
  148. DO WHILE (CONV .AND. (IEPS.LT.NEPS))
  149. IEPS=IEPS+1
  150. EPSP1=EPSA(1)+IEPS*DEPS1
  151. EPSP2=EPSA(2)+IEPS*DEPS2
  152. c
  153. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  154. C % %
  155. C % CALCUL DES VALEURS DES VARIABLES INTERNES %
  156. C % %
  157. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  158. c
  159. CALL CODJFD(WRK52,WRK53,EPSP1,EPSP2,YLIM1,YLIM2,Z1,Z2,Y1,Y2,
  160. 1 JSIGN,SIG1,SIG2,CONV,DT1)
  161. if (.not. conv ) then
  162. conv=.true.
  163. CALL CODJF2(WRK52,WRK53,EPSP1,EPSP2,YLIM1,YLIM2,Z1,Z2,
  164. 1 Y1,Y2,JSIGN,SIG1,SIG2,CONV,DT1)
  165. endif
  166. C
  167. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  168. C % %
  169. C % REACTUALISATION DES SEUILS %
  170. C % %
  171. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  172. c
  173. IF (CONV) THEN
  174. VARF(1)= MAX(Y1,VAR0(1))
  175. VARF(2)= MAX(Y2,VAR0(2))
  176. VARF(3)= MAX(1.D0-1.D0/Z1,VAR0(3))
  177. VARF(4)= MAX(1.D0-1.D0/Z2,VAR0(4))
  178. c IF (Y1 .GT.YLIM1)THEN
  179. c VARF(1)=Y1
  180. c VARF(3)=1.D0-1.D0/Z1
  181. c ELSE
  182. c VARF(1)=VAR0(1)
  183. c VARF(3)=VAR0(3)
  184. c END IF
  185. c IF (Y2 .GT. YLIM2)THEN
  186. c VARF(2)=Y2
  187. c VARF(4)=1.D0-1.D0/Z2
  188. c ELSE
  189. c VARF(2)=VAR0(2)
  190. c VARF(4)=VAR0(4)
  191. c END IF
  192. END IF
  193. END DO
  194. NEPS=NEPS*10
  195. END DO
  196. IF (.NOT. CONV)THEN
  197. print*,'valeur de neps et ieps',neps,ieps
  198. print*, 'NON CONVERGE DANS EULER',EPSP1,EPSP2
  199. C CALL MODJFD(WRK0,NMATT,EPSP1,EPSP2,YLIM1,YLIM2,Z1,Z2,Y1,Y2,
  200. C 1 JSIGN,SIG1,SIG2,CONV,DT1)
  201. SEGSUP WRK3
  202. KERRE=56
  203. return
  204. END IF
  205. C
  206. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  207. C % %
  208. C % CALCUL DES CONTRAINTES DANS LE REPERE DE L'ELEMENT %
  209. C % %
  210. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  211. C
  212. SIGNN(1)=SIG1
  213. SIGNN(2)=SIG2
  214. SIGNN(3)=0.D0
  215. CALL PRODT2 (SIGMAN,SIGNN,XROTA,3)
  216. SIGF(1)=SIGMAN(1,1)
  217. SIGF(2)=SIGMAN(2,2)
  218. SIGF(3)=SIGMAN(3,3)
  219. SIGF(4)=SIGMAN(1,2)
  220. C
  221. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  222. C % %
  223. C % CALCUL DES DEFORMATIONS ANELASTIQUES %
  224. C % %
  225. C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  226. C
  227. CALL MATVE1 (DDHOOK,SIGF,NSTRS1,NSTRS1,EPSILI,1)
  228. DO ISTRS=1,NSTRS1
  229. EPINF(ISTRS)=EPSILO(ISTRS)-EPSILI(ISTRS)
  230. END DO
  231. SEGSUP WRK3
  232.  
  233. RETURN
  234. END
  235.  
  236.  
  237.  

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