* fichier : pakzad2.dgibi ************************************************************************ ************************************************************************ ****************************************************************** * * * Modèle de PAKZAD: argile * * * * Un cube d'argile de 50 cm de cote est soumis à des * * deplacements imposes de 2.5cm sur 3 de ses faces. * * L'état de contraintes est volumique. * * * * Ce calcul est réalisé dans le domaine saturé de l'argile * * (succion nulle) * * * * Ce calcul illustre l'écrouissage de la surface de * * gonflement de l'argile * * * ****************************************************************** graph0 = faux ; elast0 = faux ; * * Booléen de test de la surface de gonflement * compr0 = vrai : en charge * compr0 = faux : en décharge * compr0 = vrai ; * * Maillage : un cube soumis à un déplacement * isotrope * n1 = 1 ; n2 = 1 ; n3 = 1 ; l1 = .5 ; l2 = .5 ; l3 = .5 ; p1 = 0. 0. 0. ; p2 = l1 0. 0. ; p3 = l1 l2 0. ; p4 = 0. l2 0. ; d1 = d p1 n1 p2 ; d2 = d p2 n2 p3 ; d3 = d p3 n1 p4 ; d4 = d p4 n2 p1 ; * * * *mail0 = sur1 'ET' sur2 'ET' sur3 'ET' sur4 'ET' * sur5 'ET' sur6 'ET' mail0 ; 'SI' graph0 ; 'TITR' ' Maillage ' ; 'TRAC' mail0 ; 'FINSI' ; * * Initialisations diverses * 'SI' compr0 ; depm0 = -.05 ; 'SINON' ; depm0 = .05 ; 'FINSI' ; tfin0 = 10. ; dt0 = tfin0 / 10. ; * * modèle et matériau * youn0 = 2.1E11 ; nu0 = .3 ; xn0 = 1. ; xka0 = 83. ; xga0 = 37. ; patm0 = 1.E5 ; xpc0 = 10.E6 ; xm0 = 0.86 ; xbeta0 = 18.E-2 ; xa0 = .2E6 ; xpref0 = 0. ; xs0 = .5E6 ; xm1 = .3 ; xm2 = 1.5 ; xm3 = 1.5 ; xbsec0 = 14. ; xtau0 = 0.00 ; succ0 = 0. ; xp1 = 6.E6 ; * 'SI' elast0 ; 'SINON' ; mod0 = 'MODE' mail0 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'PAKZAD' ; mat0 = 'MATE' mod0 'YOUN' youn0 'NU' nu0 'N' xn0 'KA' xka0 'GA' xga0 'PATM' patm0 'PC0' xpc0 'M' xm0 'BETA' xbeta0 'A0' xa0 'PREF' xpref0 'S0' xs0 'M1' xm1 'M2' xm2 'M3' xm3 'BSEC' xbsec0 'TAU' xtau0 ; 'FINSI' ; * * 'SI' elast0 ; 'MESS' ' Calcul élastique' ; 'SINON' ; 'MESS' ' Calcul sur le modèle argileux PAKZAD ' ; * * Variables internes initiales * q01 = 'MANU' 'CHML' mod0 'SUCC' succ0 'PDEC' xp1 'PREC' xp1 'TYPE' 'VARINTER' 'STRESSES' ; qq00 = q00 + q01 ; * * Contraintes initiales * 'SMZZ' ( -1. * xp1 ) 'SMXY' 0. 'SMXZ' 0. 'SMYZ' 0. 'TYPE' 'CONTRAINTES' 'STRESSES' ; * 'FINSI' ; * * Conditions aux limites * cl0 = cl1 'ET' cl2 'ET' cl3 'ET' cl4 'ET' cl5 'ET' cl6 ; * * Chargement * cha0 = cha1 'ET' cha2 'ET' cha3 ; * * Appel à PASAPAS * ta1 = 'TABLE' ; ta1 .'MODELE' = mod0 ; ta1 .'CARACTERISTIQUES' = mat0 ; ta1 .'CHARGEMENT' = cha0 ; ta1 .'BLOCAGES_MECANIQUES' = cl0 ; ta1 .'HYPOTHESE_DEFORMATIONS'='LINEAIRE' ; 'SI' ( 'NON' elast0 ) ; ta1 .'VARIABLES_INTERNES' = 'TABLE' ; ta1 .'VARIABLES_INTERNES'. 0 = qq00 ; ta1 .'CONTRAINTES' = 'TABLE' ; ta1 .'CONTRAINTES'. 0 = p01 ; 'FINSI' ; ta1 .'TEMPS_CALCULES' = tem0 ; * TMASAU=table; ta1 . 'MES_SAUVEGARDES'=TMASAU; TMASAU .'DEFTO'=VRAI; TMASAU .'DEFIN'=VRAI; PASAPAS ta1 ; * 'SI' elast0 ; * * Post traitement * sigm0 = ta1 .'CONTRAINTES'. dim0 ; depl0 = ta1 .'DEPLACEMENTS'. dim0 ; list sigm0 ; * pres0 = -1. * ( sigxx + sigyy + sigzz ) / 3. ; * * 'SI' graph0 ; 'TITR' ' Deformee ' ; 'FINSI' ; * * 'SINON' ; * * err0 = 1.E-3 ; err1 = faux ; * * depl0 = ta1 .'DEPLACEMENTS'. dim0 ; sigm0 = ta1 .'CONTRAINTES'. dim0 ; var0 = ta1 .'VARIABLES_INTERNES'. dim0 ; * pres0 = -1. * ( sigxx + sigyy + sigzz ) / 3. ; * 'SI' graph0 ; 'TITR' ' Deformee ' ; 'FINSI' ; * xp1 = xp1 + succ0 ; p_th0 = xp1 ; tr_th0 = 0. ; * plast0 = faux ; 'REPETER' bloc0 dim0 ; i0 = &bloc0 ; 'MESS' ' Calcul de restitution au pas ' i0 ; * depl0 = ta1 .'DEPLACEMENTS'. i0 ; sigm0 = ta1 .'CONTRAINTES'. i0 ; var0 = ta1 .'VARIABLES_INTERNES'. i0 ; def0 = ta1 .'DEFORMATIONS_INELASTIQUES'. i0 ; * * * * treps0 = -3. * depm0 * i0 / ( dim0 * l1 ) ; * * * * * * * Solution analytique * xpc00 = xpc0 ; 'SI' compr0 ; xbeta1 = xbeta0 * ( 1. + ( xpref0 / p_th0 ) ) ; xbeta1 = xbeta1 * 2. * xpc00 / ( 3. * xp1 ) ; treps00 = -1. / xka0 * ( 'LOG' ( ( xa0 + xa0 + xp1 ) / xp1 ) ) ; 'SINON' ; xbeta1 = xbeta0 * ( 1. + ( xpref0 / p_th0 ) ) ; treps00 = -1. / xka0 * ( 'LOG' ( ( xp1 - xa0 - xa0 ) / xp1 ) ) ; 'FINSI' ; treps0 = -1. * treps0 ; tr_th0 = -1. * tr_th0 ; p_test0 = xp1 * ( 'EXP' ( -1. * xka0 * treps0 ) ) ; 'SI' ( ( ( 'ABS' ( p_test0 - xp1 )) / 2. ) '>' xa0 ) ; 'SI' plast0 ; tr0 = xka0 * treps0 / ( i0 * ( xka0 + xbeta1 ) ) ; tr_th0 = tr_th0 + tr0 ; 'SINON' ; tr_th0 = xka0 * ( treps0 - treps00 ) / ( xka0 + xbeta1 ) ; 'FINSI' ; p_th0 = xp1 * ( 'EXP' ( -1. * xka0 * ( treps0 - tr_th0 ) ) ) ; plast0 = vrai ; 'SINON' ; plast0 = faux ; tr_th0 = 0. ; p_th0 = p_test0 ; 'FINSI' ; tr_th0 = -1. * tr_th0 ; * * * Erreur sur les contraintes * err_0 = ( ( 'ABS' ( p_th0 - pres0 ) ) / pres0 ) * 100. ; 'SI' ( err_0 '>' err0 ) ; err1 = vrai ; 'FINSI' ; * 'FIN' bloc0 ; * * Traces * 'SI' graph0 ; TAB = 'TABLE' ; TAB. 2 = 'MARQ CROI ' ; TAB.'TITRE' = 'TABLE' ; 'TITR' ' Trace de la deformation, pression ' 'LEGE' TAB ; TAB = 'TABLE' ; TAB. 2 = 'MARQ CROI ' ; TAB.'TITRE' = 'TABLE' ; 'TITR' ' Comparaison calcul-theorie ' 'LEGE' TAB ; 'TITR' ' Comparaison calcul-theorie ' 'LEGE' TAB ; TAB = 'TABLE' ; TAB. 2 = 'MARQ CROI ' ; TAB.'TITRE' = 'TABLE' ; 'TITR' ' Comparaison calcul-theorie ' 'LEGE' TAB ; TAB = 'TABLE' ; TAB. 2 = 'MARQ CROI ' ; TAB.'TITRE' = 'TABLE' ; 'LEGE' TAB ; TAB = 'TABLE' ; TAB.'TITRE' = 'TABLE' ; 'TITR' ' Succion ' 'LEGE' TAB ; TAB = 'TABLE' ; TAB. 2 = 'MARQ CROI ' ; TAB.'TITRE' = 'TABLE' ; 'LEGE' TAB ; 'FINSI' ; * * 'SI' err1 ; 'SINON' ; 'FINSI' ; * * * 'FIN' ; 'FINSI' ; *
© Cast3M 2003 - Tous droits réservés.
Mentions légales