Télécharger ccfl3d.eso

Retour à la liste

Numérotation des lignes :

ccfl3d
  1. C CCFL3D SOURCE PV090527 23/01/27 21:15:11 11574
  2. subroutine ccfl3d(NBRINC,ninc,tauk,ttrf,eafl,kfl,
  3. # teta,srw,dt,epse03,epsf03,alpha3,beta3,epsime03,epsimf03,
  4. # alphaim3,betaim3,epsew)
  5.  
  6. c changement de base d'un pseudo vecteur de deformation
  7. c contenant des gama si controle=vrai
  8. c les effets de W et T sont sortis du potentiel comme dans fluage3d
  9. c on traite aussi la consolidation normale aux interfaces
  10.  
  11. implicit real*8 (a-h,o-z)
  12. implicit integer (i-n)
  13.  
  14. integer NBRINC,ninc
  15. real*8 teta
  16. c saturation par phase
  17. real*8 srw(0:NBRINC)
  18. c temps caracteristique de fluage pour l inclusion
  19. real*8 tauk(0:NBRINC)
  20. c temperature de ref pour fluage inclusion
  21. real*8 ttrf(0:NBRINC)
  22. c energie activation pour fluage inclusion
  23. real*8 eafl(0:NBRINC)
  24. c potentiel de fluage de l inclusion
  25. real*8 kfl(0:NBRINC)
  26. c deformation elastique hydrique
  27. real*8 epsew(0:NBRINC)
  28.  
  29. c coeff de fluage pour le pas de temps
  30. real*8 alpha3(0:NBRINC,3)
  31. real*8 beta3(0:NBRINC,3)
  32.  
  33. c coeff de fluage pour l interface
  34. real*8 alphaim3(1:NBRINC,3)
  35. real*8 betaim3(1:NBRINC,3)
  36.  
  37.  
  38. c deformation actuelle de fluage
  39. real*8 epsf03(0:NBRINC,3)
  40. real*8 epsimf03(1:NBRINC,3)
  41. c deformation actiuelle elastique
  42. real*8 epse03(0:NBRINC,3)
  43. real*8 epsime03(1:NBRINC,3)
  44.  
  45. c eps petit
  46. real*8 epsmin,tureK,ture,tureR,csteR,infini
  47. parameter (epsmin=1.0d-8,tureK=273.16d0,csteR=8.314d0,infini=1.d8)
  48. real*8 CT,CW,kf,epsk,ctps,rfe,tau
  49. integer inc,i,j
  50.  
  51. c cc maxi
  52. rfemax=log(infini)
  53. c fluage lineaire
  54. CM=1.d0
  55. c boucle sur les phases
  56. do inc=0,ninc
  57. c saturation
  58. CW=srw(inc)
  59. c le calcul des coeffs n est realise que sur le potentiel
  60. c de fluage est superieur à epsmin
  61. if ((kfl(inc).gt.epsmin).and.(tauk(inc).gt.0.d0)) then
  62. ture=teta+turek
  63. tureR=ttrf(inc)+tureK
  64. CT=exp(-(eafl(inc)/csteR)*((ture**(-1))-(tureR**(-1))))
  65. c boucle sur les directions de chargement
  66. kf=kfl(inc)
  67. do i=1,3
  68. if(abs(epse03(inc,i)).ge.epsmin) then
  69. c la deformation elastique initiale est non nulle
  70. c la consolidation est calculable
  71. epsk=kf*(epse03(inc,i)+epsew(inc))
  72. c consolidation
  73. if((epsf03(inc,i)*epsk).gt.0.d0) then
  74. c la consolidation est calculable car les defs sont de même signe
  75. rfe=epsf03(inc,i)/epsk
  76. if(rfe.lt.rfemax) then
  77. cc=(kf**(-1))*exp(rfe)
  78. else
  79. cc=infini/kf
  80. end if
  81. else
  82. c la consolidation est minimale car les def sont de signe opposés
  83. c cc=(kf**(-1))
  84. c la consolidation est calculee en valeur absolue
  85. rfe=abs(epsf03(inc,i)/epsk)
  86. if(rfe.lt.rfemax) then
  87. cc=(kf**(-1))*exp(rfe)
  88. else
  89. cc=infini/kf
  90. end if
  91. end if
  92. ctps=1.d0
  93. else
  94. c la deformation elastique initiale est nulle, le potentiel de fluage
  95. c est par consequent nul, le fluage ne peut pas avoir lieu
  96. c sauf si le materiau n a jamais été chargé avant
  97. if(abs(epsf03(inc,i)).le.epsmin) then
  98. cc=(kf**(-1))
  99. ctps=1.d0
  100. else
  101. cc=1.d0
  102. ctps=0.d0
  103. end if
  104. end if
  105. c temps caracteristique pour la fonction de fluage
  106. tau=tauk(inc)*cc
  107. c fonctions de fluage
  108. yf=CT*CW*ctps*dt/tau
  109. bf=1.d0-exp(-yf)
  110. if(ctps.eq.1.) then
  111. if (yf.gt.epsmin) then
  112. c fluage normal
  113. beta3(inc,i)=bf
  114. alpha3(inc,i)=1.d0-bf/yf
  115. else
  116. c fluage negligeable
  117. alpha3(inc,i)=0.d0
  118. beta3(inc,i)=0.d0
  119. end if
  120.  
  121. else
  122. c pas de fluage
  123. alpha3(inc,i)=0.d0
  124. beta3(inc,i)=0.d0
  125. end if
  126. end do
  127. else
  128. c pas de fluage
  129. do i=1,3
  130. alpha3(inc,i)=0.d0
  131. beta3(inc,i)=0.d0
  132. end do
  133. end if
  134. end do
  135. c print*,'ds ccfl3d'
  136. c do inc=0,ninc
  137. c do i=1,3
  138. c print*,'alpha(',inc,i,')=',alpha3(inc,i)
  139. c print*,'beta(',inc,i,')=',beta3(inc,i)
  140. c end do
  141. c end do
  142.  
  143. c boucle sur les interfaces
  144. do inc=1,ninc
  145. c saturation de l interface = celle de la matrice
  146. CW=srw(0)
  147. c le calcul des coeffs n est realise que sur le potentiel
  148. c de fluage est superieur à epsmin
  149. c le fluage de l interface est gere par les caracteristiques de la matrice (0)
  150. if ((kfl(0).gt.epsmin).and.(tauk(0).gt.0.d0)) then
  151. ture=teta+turek
  152. tureR=ttrf(0)+tureK
  153. CT=exp(-(eafl(0)/csteR)*((ture**(-1))-(tureR**(-1))))
  154. c boucle sur les directions de chargement
  155. kf=kfl(0)
  156. do i=1,3
  157. if(abs(epsime03(inc,i)).ge.epsmin) then
  158. c la deformation elastique initiale est non nulle
  159. c la consolidation est calculable
  160. epsk=kf*(epsime03(inc,i)+epsew(inc))
  161. c consolidation
  162. if((epsimf03(inc,i)*epsk).gt.0.d0) then
  163. cc la consolidation est calculable car les defs sont de même signe
  164. rfe=epsimf03(inc,i)/epsk
  165. if(rfe.lt.rfemax) then
  166. cc=(kf**(-1))*exp(rfe)
  167. else
  168. cc=infini/kf
  169. end if
  170. else
  171. c la consolidation est minimale car les def sont de signe opposés
  172. cc=(kf**(-1))
  173. cc la consolidation est calculee en valeur absolue
  174. c rfe=abs(epsimf03(inc,i)/epsk)
  175. c if(rfe.lt.rfemax) then
  176. c cc=(kf**(-1))*exp(rfe)
  177. c else
  178. c cc=infini/kf
  179. c end if
  180. end if
  181. ctps=1.d0
  182. else
  183. c la deformation elastique initiale est nulle, le potentiel de fluage
  184. c est par consequent nul, le fluage ne peut pas avoir lieu
  185. c sauf si le materiau n a jamais été chargé avant
  186. if(abs(epsimf03(inc,i)).le.epsmin) then
  187. cc=(kf**(-1))
  188. ctps=1.d0
  189. else
  190. cc=1.d0
  191. ctps=0.d0
  192. end if
  193. end if
  194. c temps caracteristique pour la fonction de fluage
  195. tau=tauk(0)*cc
  196. c fonctions de fluage
  197. yf=CT*CW*ctps*dt/tau
  198. bf=1.d0-exp(-yf)
  199. if(ctps.eq.1.) then
  200. if (yf.gt.epsmin) then
  201. c fluage normal
  202. betaim3(inc,i)=bf
  203. alphaim3(inc,i)=1.d0-bf/yf
  204. else
  205. c fluage negligeable
  206. alphaim3(inc,i)=0.d0
  207. betaim3(inc,i)=0.d0
  208. end if
  209.  
  210. else
  211. c pas de fluage
  212. alphaim3(inc,i)=0.d0
  213. betaim3(inc,i)=0.d0
  214. end if
  215. end do
  216. else
  217. c pas de fluage
  218. do i=1,3
  219. alphaim3(inc,i)=0.d0
  220. betaim3(inc,i)=0.d0
  221. end do
  222. end if
  223. end do
  224. return
  225. end
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  

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