* fichier : alonso.dgibi ************************************************************************ ************************************************************************ ****************************************************************** * * * Modèle d'ALONSO: argile * * * * Un cube d'argile de 50 cm de cote est soumis à des * * deplacements imposes de 10.cm 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) * * * ****************************************************************** graph0 = vrai ; ecri0 = vrai ; elast0 = faux ; pb0 = faux ; xlim0 = 1.E-7 ; * * 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 = 'DROITE' p1 n1 p2 ; d2 = 'DROITE' p2 n2 p3 ; d3 = 'DROITE' p3 n1 p4 ; d4 = 'DROITE' p4 n2 p1 ; sur1 = 'DALLER' d1 d2 d3 d4 'PLAN' ; * * * *mail0 = sur1 'ET' sur2 'ET' sur3 'ET' sur4 'ET' * sur5 'ET' sur6 'ET' mail0 ; 'SI' graph0 ; 'TITR' ' Maillage ' ; 'TRAC' mail0 'CACH' ; 'FINSI' ; * * Initialisations diverses * * Longueur du déplacement imposé sur les côtés 1, 2 et 3 (m) : depm0 = -.1 ; tfin0 = 10. ; * Liste des temps calculés dt0 = tfin0 / 10. ; * * modèle et matériau * ================== * {Notation d'Alonso : "A constitutive model for partially saturated soils" * E. Alonso, A. Gens, A. Josa (1990), Géotechnique 40, n°3} * [notations de Gens : "Expertise de la problématique THM-Gaz dans le * cadre de l'étude de la faisabilité d'un stockage en * profondeur. UPC" Rapport ANDRA : C RP 0UPC 00-001. * p' = contrainte nette isostatique] * *-- Lois de comportement : * module d'Young tangent équivalent initial [E] (Pa). * Il sert uniquement pour initialiser le premier pas de temps. * N'importe quelle valeur supérieure à la pente à l'origine convient. youn0 = 2.1E11 ; * module de cisaillement équivalent initial [G] {G} (Pa) * Alonso donne 10 MPa ! gtan0 = 150.E6 ; * coefficient de Poisson [nu] (s.d.) : nu0 = .3 ; * Coef. d'écrouissage de traction en succion [k de P_s = - k s] {idem} (s.d.) * Alonso donne 0.6 ! kk0 = 1.E-2 ; * Pente q/p à l'état critique [M] {M} (s.d.) : * Alonso donne 1 ! m0 = 1.2 ; * paramètres de la loi lambda(s) = lambda(0) x [(1-r) exp (-beta s) + r] * Compressibilité en pression isostatique sur un chemin plastique : * charge d'un ech. normalement consolidé * [lambda(0)] {idem} (s.d.) : xlam1 = 5. / 111. ; * [r] {r} : * Alonso donne 0.75 ! xt0 = .5 ; * [beta] {beta} (Pa-1) : tau0 = 1.E-6 ; * Compressibilité élastique initiale en p' à saturation [k_i^0] {kapa} : * Il manque alpha_is pour définir k_i [Gens] {Alonso donne kapa constant}. ktan0 = 1. / 111. ; * Pente d'écrouissage en succion [lambda_s] {lambda_s} (s.d.) * charge d'un ech. normalement consolidé * [variable chez Gens] {constant chez Alonso} lams0 = 5. / 111. ; * Compressibilité élastique en succion [k_s] (s.d.) * charge d'un ech. surconsolidé ou décharge * Alonso donne 0.008 au lieu de 0.009. Gens le fait varier ks0 = 1. / 111. ; * pression de référence pour l'évolution de P0(s) [P^c] {P^c} (Pa) xp0 = .1E6 ; *-- Etat initial de l'échantillon * Contrainte de compression isostatique initiale [p] {sigma_m} (Pa) xp1 = 1.E6 ; * succion initiale [s(t=0)] {s(t=0)} (Pa) succ0 = 0. ; * indice des vides initial [e(t=0)] {e(t=0)} (s.d.) e00 = 0. ; * pression de consolidation fictive (à saturation) initiale [P0 ou Pc(t=0)] {idem} (Pa) xpc0 = 20.E6 ; * limite initiale de plasticité en succion (Succion Increase) [s_0] {s_0} (Pa) ? s00 = 1.E7 ; * 'SI' elast0 ; * Calcul élastique 'MESS' ' Calcul élastique' ; 'SINON' ; * Calcul sur le modèle argileux ALONSO 'MESS' ' Calcul sur le modèle argileux ALONSO ' ; mat0 = 'MATE' mod0 'YOUN' youn0 'NU' nu0 'KS' ks0 'LAMS' lams0 'M' m0 'KK' kk0 'PC0' xpc0 'P0' xp0 'LAM1' xlam1 'T0' xt0 'TAU' tau0 'GTAN' gtan0 'KTAN' ktan0 'E0' e00 ; * * Volumes élémentaires de la structure * * * Variables internes initiales * q01 = 'MANU' 'CHML' mod0 * 'VOLU' vol0 'PC0' xpc0 'SLIM' s00 'SUCC' succ0 'VOLU' vol0 'SLIM' s00 'SUCC' succ0 'TYPE' 'VARINTER' 'STRESSES' ; qq00 = q00 + q01 ; * * Contraintes initiales * p01 = 'MANU' 'CHML' mod0 'SMXX' (-1. * xp1) 'SMYY' (-1. * xp1) '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 ; 'SI' ( 'NON' elast0 ) ; ta1 .'VARIABLES_INTERNES' = 'TABLE' ; ta1 .'VARIABLES_INTERNES'. 0 = qq00 ; ta1 .'CONTRAINTES' = 'TABLE' ; ta1 .'CONTRAINTES'. 0 = p01 ; 'FINSI' ; ta1 .'TEMPS_CALCULES' = tem0 ; ta1 .'HYPOTHESE_DEFORMATION' = 'LINEAIRE' ; * TMASAU=table; ta1 . 'MES_SAUVEGARDES'=TMASAU; TMASAU .'DEFTO'=VRAI; TMASAU .'DEFIN'=VRAI; TMASAU .'DEFLO'=VRAI; PASAPAS ta1 ; * 'SI' elast0 ; * * Post traitement * sigm0 = ta1 .'CONTRAINTES'. dim0 ; depl0 = ta1 .'DEPLACEMENTS'. dim0 ; * pres0 = -1. * ( sigxx + sigyy + sigzz ) / 3. ; * * 'SI' graph0 ; 'TITR' ' Deformee ' ; 'FINSI' ; * 'SI' ecri0 ; 'FINSI' ; * 'SINON' ; * * * depl0 = ta1 .'DEPLACEMENTS'. dim0 ; sigm0 = ta1 .'CONTRAINTES'. dim0 ; var0 = ta1 .'VARIABLES_INTERNES'. dim0 ; * pres0 = -1. * ( sigxx + sigyy + sigzz ) / 3. ; * 'SI' graph0 ; 'TITR' ' Deformee ' ; 'FINSI' ; * succ00 = succ0 ; xlam2 = xlam1 * ((1. - xt0) * ( 'EXP' ( -1.* tau0 * succ0)) + xt0) ; exp0 = ( xlam1 - ktan0 ) / ( xlam2 - ktan0 ) ; pcs0 = p00 * ( ( xpc0 / p00 ) ** exp0 ) ; * 'REPETER' bloc0 dim0 ; i0 = &bloc0 ; 'SI' ecri0 ; 'MESS' ' Calcul de restitution au pas ' i0 ; 'FINSI' ; * depl0 = ta1 .'DEPLACEMENTS'. i0 ; sigm0 = ta1 .'CONTRAINTES'. i0 ; var0 = ta1 .'VARIABLES_INTERNES'. i0 ; def0 = ta1 .'DEFORMATIONS_INELASTIQUES'. i0 ; * * * * * pres01 = pres0 ; trepp01 = trepp0 ; * xlam2 = xlam1 * ((1. - xt0) * ( 'EXP' ( -1.* tau0 * succ0)) + xt0) ; exp0 = ( xlam1 - ktan0 ) / ( xlam2 - ktan0 ) ; pcs0 = p00 * ( ( pc0 / p00 ) ** exp0 ) ; * * Solution analytique * treps0 = -1. * treps0 ; p_test0 = xp1 * ( 'EXP' ( -1. / ktan0 * treps0 ) ) ; xlam2 = xlam1 * ((1. - xt0) * ( 'EXP' ( -1.* tau0 * succ0)) + xt0) ; rapp0 = ( xpc0 / p00 ) ** ( ( xlam1 - ktan0 ) / ( xlam2 - ktan0 ) ); rapp0 = rapp0 * p00 / xp1 ; 'SI' ( p_test0 '>' xpc0 ) ; trepp0 = ( ( treps0 / ktan0 ) + ( 'LOG' rapp0 ) ) ; trepp0 = trepp0 * ( xlam2 - ktan0 ) * ktan0 / xlam2 ; p_th0 = xp1 * ( 'EXP' ( -1. / ktan0 * ( treps0 - trepp0 ) ) ) ; 'SINON' ; trepp0 = 0. ; p_th0 = p_test0 ; 'FINSI' ; trepp0 = -1. * trepp0 ; trepp02 = trepp0 ; * * * Calcul des erreurs * 'SI' ( trepp01 '>' 1.E-6 ) ; err_t0 = ( 'ABS' ( trepp01 - trepp02 ) ) / ( 'ABS' trepp01 ) ; err_t0 = err_t0 * 100. ; 'SINON' ; err_t0 = 0. ; 'FINSI' ; err_p0 = ( 'ABS' ( pres01 - p_th0 ) ) / ( 'ABS' pres01 ) ; err_p0 = err_p0 * 100. ; 'SI' ecri0 ; 'MESS' ' Erreur sur la deformation en % ' err_t0 ; 'MESS' ' Erreur sur la pression en % ' err_p0 ; 'FINSI' ; * 'SI' ((err_t0 '>' xlim0) 'OU' (err_p0 '>' xlim0)) ; pb0 = 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' ; TAB = 'TABLE' ; TAB. 2 = 'MARQ CROI' ; TAB.'TITRE'='TABLE' ; 'TITR' ' Succion ' 'LEGE' TAB ; TAB = 'TABLE' ; TAB. 2 = 'MARQ CROI' ; TAB.'TITRE' = 'TABLE' ; 'TITR' ' Erreur en % ' 'LEGE' TAB ; 'FINSI' ; * 'FINSI' ; * 'SI' pb0 ; 'SINON' ; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales