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 : * 336 : CALL ALON2(Pat0,XMAT,DEPM,RSIG0,VAR0, 337 : . RSIGF,VARF,RDEFP,KERRE,IB,IGAU) 338 : * 339 : ENDIF 340 : * 341 : * Fin de l'écrouissage en pression 342 : *=========================================================================== 343 : * 344 : * 345 : * 346 : * Passage des deformations de cisaillement exprimées 347 : * en déformations aux déformations de cisaillement exprimées 348 : * en GAMA 349 : * 350 : 99 DO 117 I=1,6 351 : A=1.D0 352 : IF (I.GT.3) A=2.D0 353 : RDEFP(I)=RDEFP(I)*A 354 : 117 CONTINUE 355 : * 356 : * 357 : * Passage a l'option de calcul pour les contraintes 358 : *========================================================= 359 : * 360 : IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN 361 : 362 : * 363 : * RETOUR EN CONTRAINTES TOTALES 364 : * 365 : DO I=1,3 366 : RSIGF(I)=RSIGF(I) - PSAT1 367 : ENDDO 368 : 369 : IF (NSTRS .EQ. 6) THEN 370 : * 371 : *---> MASSIF 3D 372 : * 373 : DO 170 I=1,NSTRS 374 : SIGF(I)=RSIGF(I) 375 : DEFP(I)=RDEFP(I) 376 : 170 CONTINUE 377 : ELSE IF ( NSTRS .EQ. 4 ) THEN 378 : * 379 : *---> Calcul axisymétrique ou contraintes planes 380 : * 381 : DO 180 I=1,NSTRS 382 : SIGF(I)=RSIGF(I) 383 : DEFP(I)=RDEFP(I) 384 : 180 CONTINUE 385 : ENDIF 386 : ENDIF 387 : * 388 : RETURN 389 : * 390 : END 391 : 392 : 393 : 394 : 395 : 396 : 397 : 398 : 399 : 400 : 401 :
© Cast3M 2003 - All rights reserved.
Disclaimer