Télécharger cjfdec.eso

Retour à la liste

Numérotation des lignes :

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

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