Télécharger alon1.eso

Retour à la liste

Numérotation des lignes :

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

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