Télécharger clbeco.eso

Retour à la liste

Numérotation des lignes :

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

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