* fichier : fluage_fibre_norton_2.dgibi ************************************************************************ * Comparaison du modele de fluage de Norton : * * - modele poutre a fibre VS modele massif * * - chargement uniaxial, traction puis compression * * - en force imposee * ************************************************************************ ** Options generales OPTI 'DIME' 3 'ELEM' 'CU20' 'ECHO' 0 ; itrac = FAUX ; ** Parametres geometrie (poutre a section rectangulaire) a = 0.05 ; b = 0.02 ; l = 1. ; se = a * b ; ** Nombres d'elements nea = 1 ; neb = 1 ; nel = 1 ; ** Parametres materiau yo = 1.E8 ; nu = 0.3 ; af1 = 3.E-13 ; af2 = 1.2 ; af3 = 1.4 ; ** Parametres chargement ftrac = 10000. ; tl = 200. ; ** Maillage et modele volumique p0 = 0. 0. 0. ; p1 = 0. a 0. ; l1 = DROI nea p0 p1 ; s1 = l1 TRAN neb (0. 0. b) ; p2 = s1 POIN 'PROC' (0. 0. b) ; v1 = s1 VOLU 'TRAN' nel (l 0. 0.) ; env1 = ENVE v1 ; are1 = ARET v1 ; p3 = v1 POIN 'PROC' (l 0. 0.) ; s2 = v1 FACE 2 ; mov = MODE v1 'MECANIQUE' 'ELASTIQUE' 'FLUAGE' 'NORTON' ; mav = MATE mov 'YOUN' yo 'NU' nu 'SMAX' 0. 'AF1' af1 'AF2' af2 'AF3' af3 ; ** Maillage et modele de section OPTI 'ELEM' 'CUB8' ; lig1 = DROI nea ((-0.5 * a) (-0.5 * b) 0.) ((0.5 * a) (-0.5 * b) 0.) ; s3 = lig1 TRAN neb (0. b 0.) ; s3 = SURF (CONT s3) 'PLAN' ; mos = MODE s3 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'NORTON' 'QUAS' 'TRIS' ; mas = MATE mos 'YOUN' yo 'NU' nu 'AF1' af1 'AF2' af2 'AF3' af3 'SMAX' (yo / 1000.) 'ALPY' 0.66 'ALPZ' 0.66 ; ** Maillage et modele de poutre TIMO lf = DROI nel p0 p3 ; mop = MODE lf 'MECANIQUE' 'ELASTIQUE' 'SECTION' 'PLASTIQUE' 'SECTION' 'TIMO' ; map = MATE mop 'MODS' mos 'MATS' mas 'VECT' (0. 1. 0.) ; ** Conditions aux limites tl0 = 1.E-5 ; tl2 = 2. * tl ; tl3 = 3. * tl ; tl4 = 4. * tl ; evcha = EVOL 'MANU' (PROG 0. tl0 tl (tl + tl0) tl2 (tl2 + tl0) tl3 (tl3 + tl0) tl4) (PROG 0. 0.999 1. 0.001 0. -0.999 -1. -0.001 0.) ; * pour le modele volumique * encastrement bl1 = (BLOQ 'UX' s1) ET (BLOQ 'UY' 'UZ' p0) ET (BLOQ 'UZ' p1) ; * force imposee ft = FSUR 'MASS' mov s2 ((ftrac / se) 0. 0.) ; chaft = CHAR 'MECA' ft evcha ; * pour le modele TIMO * encastrement bl1p = BLOQ 'DEPL' 'ROTA' p0 ; * force imposee ftp = FORC (ftrac 0. 0.) p3 ; chaftp = CHAR 'MECA' ftp evcha ; ** Resolution xpas = tl / 20. ; ltc = PROG tl0 'PAS' xpas tl (tl + tl0) 'PAS' xpas tl2 (tl2 + tl0) 'PAS' xpas tl3 (tl3 + tl0) 'PAS' xpas tl4 ; tv = TABL ; tv . 'MODELE' = mov ; tv . 'CARACTERISTIQUES' = mav ; tv . 'BLOCAGES_MECANIQUES' = bl1 ; tv . 'CHARGEMENT' = chaft ; tv . 'TEMPS_CALCULES' = ltc ; TEMP 'ZERO' ; PASAPAS tv ; itp1 = TEMP 'HORL' ; tp = TABL ; tp . 'MODELE' = mop ; tp . 'CARACTERISTIQUES' = map ; chmsg0 = ZERO mos 'CONTRAIN' ; chmvi0 = ZERO mos 'VARINTER' ; tp . 'VARIABLES_INTERNES' = TABL ; tp . 'VARIABLES_INTERNES' . 0 = MANU 'CHML' mop 'VONS' chmsg0 'VAIS' chmvi0 'TYPE' 'VARIABLES INTERNES' 'STRESSES' ; tp . 'BLOCAGES_MECANIQUES' = bl1p ; tp . 'CHARGEMENT' = chaftp ; tp . 'TEMPS_CALCULES' = ltc ; TEMP 'ZERO' ; PASAPAS tp ; itp11 = TEMP 'HORL' ; MESS 'Temps horloge : ' ; MESS (CHAI '- modele massif :' ' ' itp1) ; MESS (CHAI '- modele poutre :' ' ' itp11) ; ** Post traitement n1 = DIME (tv . 'TEMPS') ; ltps = PROG ; * deplacements de l'extremite luv = EXTR (EVOL 'TEMP' tv 'DEPLACEMENTS' 'UX' p3) 'ORDO' ; lup = EXTR (EVOL 'TEMP' tp 'DEPLACEMENTS' 'UX' p3) 'ORDO' ; * force de reaction a l'encastrement lfv = PROG ; REPE b1 n1 ; i1 = &b1 - 1 ; ltps = ltps ET (tv . 'TEMPS' . i1) ; fv = 0. ; SI (NEG i1 0) ; fv = MAXI (EXCO 'FX' (RESU (REDU (tv . 'REACTIONS' . i1) s1))) ; FINSI ; lfv = lfv ET fv ; FIN b1 ; lfp = EXTR (EVOL 'TEMP' tp 'REACTIONS' 'FX' p0) 'ORDO' ; * defomration inelastique lev = PROG ; lep = PROG ; vol1 = MESU v1 ; REPE b1 n1 ; i1 = &b1 - 1 ; tps1 = tv . 'TEMPS' . i1 ; lev = lev ET ((INTG mov (tv . 'VARIABLES_INTERNES' . i1) 'EPSE') / vol1) ; uv = tv . 'DEPLACEMENTS' . i1 ; up = tp . 'DEPLACEMENTS' . i1 ; tabv = TABL ; tabv . 'DEPLACEMENTS' = TABL ; tabv . 'DEPLACEMENTS' . 1 = up ; tabv . 'VONS' = TABL ; tabv . 'VONS' . 1 = EXCO (tp . 'VARIABLES_INTERNES' . i1) 'VONS' ; tabv . 'VAIS' = TABL ; tabv . 'VAIS' . 1 = EXCO (tp . 'VARIABLES_INTERNES' . i1) 'VAIS' ; mail1 = POUT2MAS mop map 'GAUSS' tabv ; vips = tabv . 'VAIS_3D' . 1 ; mobid = MODE mail1 'MECANIQUE' ; cham1 = CHAN 'CHAM' mobid vips ; epsep = (INTG mobid cham1 'EPSE') * l / (NBEL lf) / se ; lep = lep ET epsep ; FIN b1 ; ** Analyse/trace des resultats tleg = TABL ; tleg . 1 = MOT 'MARQ LOSA NOLI' ; tleg . 2 = MOT 'MARQ ROND NOLI' ; tleg . 'TITRE' = TABL ; tleg . 'TITRE' . 1 = 'Modele 3D massif' ; tleg . 'TITRE' . 2 = 'Modele poutre fibre' ; MESS 'Ecart relatif max.' ; evuv = EVOL 'VERT' 'MANU' 'Temps' ltps 'Deplacement' luv ; evup = EVOL 'ROUG' 'MANU' 'Temps' ltps 'Deplacement' lup ; difu = (MAXI (ABS (lup - luv))) / (MAXI (ABS luv)) ; MESS '-- deplacement :' difu ; SI itrac ; DESS (evuv ET evup) 'TITR' 'Deplacement vs. Temps' 'LEGE' tleg ; FINSI ; evfv = EVOL 'VERT' 'MANU' 'Temps' ltps 'Force' lfv ; evfp = EVOL 'ROUG' 'MANU' 'Temps' ltps 'Force' lfp ; diff = (MAXI (ABS (lfp - lfv))) / (MAXI (ABS lfv)) ; MESS '-- effort :' diff ; SI itrac ; DESS (evfv ET evfp) 'TITR' 'Force vs. Temps' 'LEGE' tleg ; FINSI ; evev = EVOL 'VERT' 'MANU' 'TEMPS' ltps 'EPSE' lev ; evep = EVOL 'ROUG' 'MANU' 'TEMPS' ltps 'ESPE' lep ; dife = (MAXI (ABS (lep - lev))) / (MAXI (ABS lev)) ; MESS '-- def. fluage :' dife ; SI itrac ; DESS (evev ET evep) 'TITR' 'Deformation non lin. (EPSE) vs Temps' 'LEGE' tleg ; FINSI ; ** Erreur si l'ecart relatif est trop eleve lerr = PROG difu diff dife ; errmax = MAXI lerr ; MESS ; SI (errmax > 6000.) ; MESS 'Echec du cas test !' ; ERRE 5 ; SINON ; MESS 'Succes du cas test !' ; FINSI ; FIN ;