Télécharger clbeco.eso

Retour à la liste

Numérotation des lignes :

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

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