Télécharger alon1.eso

Retour à la liste

Numérotation des lignes :

  1. C ALON1 SOURCE CHAT 05/01/12 21:20:49 5004
  2. SUBROUTINE ALON1(DEPST,NSTRS,NCOMAT,NVARI,
  3. . MFR1,IB,IGAU,
  4. . XMAT,SIG0,VAR0,SIGF,VARF,DEFP,KERRE,DSIGT,
  5. . SUCC1,SUCC2,NECOU)
  6. *
  7. *
  8. ***************************************************************
  9. *
  10. * Modèle d'argile partiellement saturé de ALONSO et al
  11. *
  12. ***************************************************************
  13. *
  14. *
  15. *_________________________________________________________________
  16. *
  17. *
  18. * ENTREES :
  19. * ---------
  20. *
  21. * DEPST = INCREMENT DE DEFORMATIONS TOTALES
  22. * NSTRS = NBRE DE COMPOSANTES DES DEFORMATIONS
  23. * NCOMAT= NBRE DE CARACTERISTIQUES MECANIQUES DU MATERIAU
  24. * NVARI = NBRE DE VARIABLES INTERNES
  25. * MFR1 = NUMERO DE LA FORMULATION
  26. * IB = NUMERO DE L ELEMENT COURANT
  27. * IGAU = NUMERO DU POINT COURANT
  28. * SIG0(NSTRS) = CONTRAINTES AU DEBUT DU PAS D'INTEGRATION
  29. * VAR0(NVARI) = VARIABLES INTERNES AU DEBUT DU PAS DE TEMPS
  30. * XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU
  31. * SUCC1 SUCCION AU DEBUT DU PAS
  32. * SUCC2 SUCCION A LA FIN DU PAS
  33. *
  34. * SORTIE :
  35. * --------
  36. *
  37. * SIGF(NSTRS) = CONTRAINTES FINALES
  38. * VARF(NVARI) = VARIALES INTERNES A LA FIN DU PAS D'INTEGRATION
  39. * DEFP(NSTRS) = INCREMENT DE DEFORMATION PLASTIQUE A LA FIN
  40. * DU PAS D'INTEGRATION
  41. * ============================================================
  42. * ICI IL FAUT PROGRAMMER EN FORTRAN PUR
  43. *=============================================================
  44. *
  45. IMPLICIT INTEGER(I-N)
  46. IMPLICIT REAL*8(A-H,O-Z)
  47. REAL*8 LOGSUC
  48. *
  49. -INC CCOPTIO
  50. SEGMENT NECOU
  51. * COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  52. INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  53. . ITYP,IFOURB,IFLUAG,
  54. . ICINE,ITHER,IFLUPL,ICYCL,IBI,
  55. . JFLUAG,KFLUAG,LFLUAG,
  56. . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF
  57. ENDSEGMENT
  58.  
  59. *
  60. * COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
  61. * . ITYP,IFOURB,IFLUAG,
  62. * . ICINE,ITHER,IFLUPL,ICYCL,IBI,
  63. * . JFLUAG,KFLUAG,LFLUAG,
  64. * . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF
  65. *
  66. DIMENSION SIG0(*),DEPST(*),VAR0(*),XMAT(*),SIGF(*),
  67. & VARF(*),DEFP(*),DSIGT(*)
  68. DIMENSION RSIG0(6),RDEPS0(6),RSIGF(6),RDEFP(6)
  69. DIMENSION DEPM(6),DEPEL(6),DEVT(6)
  70. *
  71. * Adaptation de l'option de calcul vers le 3D massif de SIG0 a RSIG0
  72. *====================================================================
  73. *
  74. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  75. *
  76. *---> 1 formulation massive
  77. *---> 2 formulation quasi incompressible
  78. *---> MASSIF 3D
  79. *
  80. IF (NSTRS .EQ. 6) THEN
  81. DO 110 I=1,NSTRS
  82. RSIG0(I)=SIG0(I)
  83. RDEPS0(I)=DEPST(I)
  84. 110 CONTINUE
  85. ELSE IF ( NSTRS .EQ. 4 .AND. ((IFOUR .EQ. 0)
  86. & .OR.(IFOUR .EQ. -1))) THEN
  87. *
  88. *---> Calcul en mode deformations planes ou axisymetrique
  89. *
  90. DO 115 I=1,NSTRS
  91. RSIG0(I)=SIG0(I)
  92. RDEPS0(I)=DEPST(I)
  93. 115 CONTINUE
  94. RSIG0(5)=0.D0
  95. RSIG0(6)=0.D0
  96. RDEPS0(5)=0.D0
  97. RDEPS0(6)=0.D0
  98. ENDIF
  99. ELSE
  100. KERRE = 99
  101. RETURN
  102. ENDIF
  103. *
  104. *
  105. * Passage des deformations de cisaillement exprimées
  106. * en GAMA aux déformations de cisaillement exprimées
  107. * en déformations
  108. *
  109. DO 116 I=1,6
  110. A=1.D0
  111. IF (I.GT.3) A=2.D0
  112. RDEPS0(I)=RDEPS0(I)/A
  113. 116 CONTINUE
  114. *
  115. * Données du materiau
  116. *===========================================================
  117. *
  118. YOUN0=XMAT(1)
  119. XNU0=XMAT(2)
  120. XKS0=XMAT(5)
  121. XLAM0=XMAT(6)
  122. XM0=XMAT(7)
  123. XKK0=XMAT(8)
  124. PC00=XMAT(9)
  125. P0=XMAT(10)
  126. XLAM1=XMAT(11)
  127. T0=XMAT(12)
  128. TAU0=XMAT(13)
  129. XG0=XMAT(14)
  130. XK0=XMAT(15)
  131. XE0=XMAT(16)
  132. *
  133. XXALF=XMAT(19)
  134. XXBET=XMAT(20)
  135. XXGAM=XMAT(3)
  136. XXPREF=XMAT(4)
  137. *
  138. * AM RHO ET ALPHA SONT DANS XMAT(17) ET XMAT(18)
  139. * CF BIZARRERIE DANS ECOU70
  140.  
  141. *
  142. *
  143. * Quelques initialisations
  144. *==============================================================
  145. *
  146. *
  147. *---> Variables internes initiales
  148. * . déformation plastique équivalente
  149. * . pression de consolidation à l'état saturé
  150. * . limite élastique en succion
  151. * . succions initiale et finale
  152. * La succion finale est déstinée à etre calculée au préalable
  153. * dans un opérateur particulier indépendant de ECOULE
  154. *
  155. VOLU0=1.D0+XE0
  156. PC0=VAR0(2)
  157. IF (PC0.LE.1.D-30) PC0=PC00
  158. SLIM0=VAR0(3)
  159. ******************************
  160. * MODIFICATION POUR LA SUCCION le 5/11/97
  161. *
  162. IF(SUCC1.LT.-1.E34.AND.SUCC2.LT.-1.E34) THEN
  163. *
  164. * cas à succion constante : on la prend dans var0
  165. *
  166. SUCI0=VAR0(4)
  167. VARF(4)=VAR0(4)
  168. ELSE
  169. SUCI0=SUCC1
  170. VARF(4)=SUCC2
  171. ENDIF
  172. SUCF0=VARF(4)
  173. *
  174. * TRAITEMENT DU CAS SATURE
  175. *
  176. PSAT0 =0.D0
  177. PSAT1 =0.D0
  178. IF(SUCI0.LT.0.D0) THEN
  179. PSAT0=-SUCI0
  180. SUCI0=0.D0
  181. ENDIF
  182. IF(SUCF0.LT.0.D0) THEN
  183. PSAT1=-SUCF0
  184. SUCF0=0.D0
  185. ENDIF
  186. *
  187. * PASSAGE EN CONTRAINTES EFFECTIVES
  188. *
  189. DO I=1,3
  190. RSIG0(I)=RSIG0(I) + PSAT0
  191. ENDDO
  192. *
  193. * MODIF POUR REACTUALISER XKS0 EN FONCTION DE
  194. * LA PRESSION MOYENNE ET DE LA SUCCION
  195. * ON PREND LES VALEURS AU DEBUT DU PAS
  196. *
  197. IF(XXBET.NE.0.D0) THEN
  198. XTRR = ABS (( RSIG0(1)+RSIG0(2)+RSIG0(3))/3.D0)
  199. XKS0 =XKS0*(1.D0-XXBET*LOG(XTRR/XXPREF))
  200. & *EXP(-XXGAM*SUCI0)
  201. ENDIF
  202. *
  203. * AM 13/05/98
  204. * ON MODIFIE LA LOI DE VARIATION DE K
  205. * ATTENTION : DANS LA FORMULE, LA SUCCION DOIT
  206. * ETRE EN MPA ET ON CONSIDERE QU'ELLE ARRIVE EN PA
  207. * ( CF COMMENTAIRE CI DESSOUS )
  208. *
  209. ***** XK0= XK0*( 1.D0-XXALF*SUCI0)
  210. *
  211. SUCMPA = SUCI0 * 1.D-6
  212. LOGSUC=0.D0
  213. IF(SUCMPA.GT.1.D0) THEN
  214. LOGSUC=LOG(SUCMPA)
  215. ENDIF
  216. XK0= XK0*( 1.D0-XXALF*LOGSUC)
  217. *
  218. *---> Pression atmosphérique
  219. *ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  220. * ATTENTION : LA PRESSION ATMOSPHERIQUE EST EN Pa
  221. *ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  222. *
  223.  
  224. Pat0=1.E5
  225. *
  226. *---> Initialisation du logique de l'écrouissage en succion
  227. * succ0=vrai : il y a écrouissage en succion
  228. *
  229. SUCC0=-1.D0
  230. *
  231. *---> Pente élasto-plastique (courbe de consolidation)
  232. *
  233. XLAM2=XLAM1*((1.D0-T0)*EXP(-1.D0*TAU0*SUCF0)+T0)
  234. *
  235. *---> Pression de saturation
  236. *
  237. PS0=XKK0*SUCF0
  238. *
  239. *
  240. * Déformation mécanique test
  241. *======================================================================
  242. *
  243. *---> Trace de la déformation élastique de succion
  244. *
  245. TREPSS0=-XKS0/VOLU0*LOG((SUCF0+Pat0)/(SUCI0+Pat0))
  246. *
  247. *---> Déformations mécaniques
  248. *
  249. DO 10 I=1,6
  250. A=0.D0
  251. IF (I.LE.3) A=1.D0
  252. DEPM(I)=RDEPS0(I)-TREPSS0/3.D0*A
  253. 10 CONTINUE
  254. *
  255. *
  256. * Ecrouissage en succion ?
  257. *======================================================================
  258. *
  259. IF ((SUCF0.GT.SLIM0).AND.(SUCC0.LE.0.D0)) THEN
  260. *
  261. * HYPOTHESE: on écrouit en succion
  262. *
  263. *---> Limite en succion à la fin du pas
  264. *
  265. SLIM1=SUCF0
  266. *
  267. *---> Trace de la déformation plastique due à la succion
  268. *
  269. TREPPS0=(XKS0-XLAM0)/VOLU0*LOG((SLIM1+Pat0)/(SLIM0+Pat0))
  270. *
  271. *---> Pression de consolidation
  272. * . à l'état saturé
  273. * . à la succion finale
  274. *
  275. PC1=PC0*EXP(-VOLU0/(XLAM1-XK0)*TREPPS0)
  276. PCS1=P0*(PC1/P0)**((XLAM1-XK0)/(XLAM2-XK0))
  277. *
  278. *---> On vérifie l'hypothèse
  279. *
  280. * Déformations élastiques test et déformation plastique
  281. *
  282. DO 11 I=1,6
  283. A=0.D0
  284. IF (I.LE.3) A=1.D0
  285. DEPEL(I)=DEPM(I)-TREPPS0/3.D0*A
  286. RDEFP(I)=TREPPS0/3.D0*A
  287. 11 CONTINUE
  288. *
  289. * Contraintes
  290. *
  291. PRES0=-1.D0*(RSIG0(1)+RSIG0(2)+RSIG0(3))/3.D0
  292. TREPS0=DEPEL(1)+DEPEL(2)+DEPEL(3)
  293. PRES1=PRES0*EXP(-VOLU0/XK0*TREPS0)
  294. DO 12 I=1,6
  295. A=0.D0
  296. IF (I.LE.3) A=1.D0
  297. DEVT(I)=RSIG0(I)+PRES0*A
  298. DEVT(I)=DEVT(I)+2.D0*XG0*(DEPEL(I)-TREPS0/3.D0*A)
  299. RSIGF(I)=DEVT(I)-PRES1*A
  300. 12 CONTINUE
  301. *
  302. * Contrainte équivalente
  303. *
  304. STEST2=3.D0*PROCON(DEVT,DEVT,6)/2.D0
  305. IF (STEST2.LE.1.D-10) STEST2=0.D0
  306. Stest=(STEST2)**(0.5D0)
  307. *
  308. * Fonction de charge
  309. *
  310. PHIT=Stest*Stest+XM0*XM0*(PRES1+PS0)*(PRES1-PCS1)
  311. *
  312. * On vérifie qu'on est élastique
  313. *
  314. IF (PHIT.LE.0.D0) THEN
  315. VARF(1)=VAR0(1)
  316. VARF(2)=PC1
  317. VARF(3)=SLIM1
  318. GOTO 99
  319. ELSE
  320. SUCC0=1.D0
  321. GOTO 98
  322. ENDIF
  323. *
  324. *---> Fin de la vérification de l'hypothèse
  325. *
  326. ENDIF
  327. *
  328. * Fin du traitement de l'écrouissage en succion
  329. *===========================================================================
  330. *
  331. *
  332. * Ecrouissage en pression
  333. *===========================================================================
  334. *
  335. 98 IF ((SUCF0.LE.SLIM0).OR.(SUCC0.GT.0.D0)) THEN
  336. *
  337. CALL ALON2(Pat0,XMAT,DEPM,RSIG0,VAR0,
  338. . RSIGF,VARF,RDEFP,KERRE,IB,IGAU)
  339. *
  340. ENDIF
  341. *
  342. * Fin de l'écrouissage en pression
  343. *===========================================================================
  344. *
  345. *
  346. *
  347. * Passage des deformations de cisaillement exprimées
  348. * en déformations aux déformations de cisaillement exprimées
  349. * en GAMA
  350. *
  351. 99 DO 117 I=1,6
  352. A=1.D0
  353. IF (I.GT.3) A=2.D0
  354. RDEFP(I)=RDEFP(I)*A
  355. 117 CONTINUE
  356. *
  357. *
  358. * Passage a l'option de calcul pour les contraintes
  359. *=========================================================
  360. *
  361. IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN
  362.  
  363. *
  364. * RETOUR EN CONTRAINTES TOTALES
  365. *
  366. DO I=1,3
  367. RSIGF(I)=RSIGF(I) - PSAT1
  368. ENDDO
  369.  
  370. IF (NSTRS .EQ. 6) THEN
  371. *
  372. *---> MASSIF 3D
  373. *
  374. DO 170 I=1,NSTRS
  375. SIGF(I)=RSIGF(I)
  376. DEFP(I)=RDEFP(I)
  377. 170 CONTINUE
  378. ELSE IF ( NSTRS .EQ. 4 ) THEN
  379. *
  380. *---> Calcul axisymétrique ou contraintes planes
  381. *
  382. DO 180 I=1,NSTRS
  383. SIGF(I)=RSIGF(I)
  384. DEFP(I)=RDEFP(I)
  385. 180 CONTINUE
  386. ENDIF
  387. ENDIF
  388. *
  389. RETURN
  390. *
  391. END
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  

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