* fichier : rupt16-weib.dgibi ************************************************************************ * Section : Mecanique Endommagement ************************************************************************ *---------------------------------------------------------------------- *---------------------------------------------------------------- * * * Test du critère de Weibull pour un cylindre * * en traction modelisé en axisymétrique * * sigu constante ou évolution constante * * * *---------------------------------------------------------------- *---------------------------------------------------------------- * * graph = faux ; opti echo 1 ; * paramètres pour calculer la contrainte de Weibull * m = 22. ; v0 = 0.000125 ; ic = 1. ; n = 2. ; *sigu = cste * sigu1 = 2530. ; *sigu = evol_cste * lte1 = prog -1000. 1000. ; lsigu = prog 2530. 2530. ; sigu2 = evol manu 'temper' lte1 'sigu' lsigu ; * * ***************************************************************** * * * MODELE AXISYMETRIQUE * * * ***************************************************************** * ***************************************************************** * Maillage * ***************************************************************** opti elem qua8 dime 2 mode axis ; * * * densites utilisees * l1 = 0.25 ;d1 = 50e-3 ; d2 = 120e-3 ; d11 = d1/10. ; * * * coordonnees des points * po = 0. 0. ; pb = l1 0. ; pc = 0. d1 ; pd = 0. l1 ; pa = d1 0. ; * * * definition des lignes * ligoa = droi po pa 1 ; ligab = droi pa pb 'DINI' 0.08 'DFIN' 0.12 ; ligob = ligoa et ligab ; surf1 = ligob tran 1 pc ; * lig1 = cote 3 surf1 ; * * * création de la surface * surf3 = lig1 tran 'DINI' 0.08 'DFIN' 0.12 (0. (l1-d1)) ; surf2 = surf1 et surf3 ; * * * extraction des lignes * lib = cote 1 surf2 ; lic = cote 3 surf2 ; * * elim surf2 1e-3 ; * * ***************************************************************** * création du modéle * ***************************************************************** mod1 = mode surf2 mecanique elastique plastique ; * * ***************************************************************** * définition du matériau * ***************************************************************** * * * young : ym1 = 503./0.0026 ; * courbe de traction * peps = prog 0. 0.0026 0.0027 0.0030 0.0035 0.0045 0.0065 0.0085 0.0105 0.0125 0.0176 0.0227 0.0329 ; psig = prog 0. 503. 503. 503. 503. 503. 503. 503. 503. 516. 538. 557. 594. ; tracevt = evol manu 'eps' peps 'sig' psig ; lsm1 = psig enle 1 ; lep1 = (peps enle 1) - (lsm1 / ym1) ; evec = evol vert manu eps lep1 sig lsm1 ; si graph ; dess (tracevt et evec) titr ' Courbes de traction et d ecrouissage (vert)' ; fins ; * * mat1 = mate mod1 youn ym1 nu 0.3 ecro evec alpha 1.e-5 talp 20. tref 100. ; * * ***************************************************************** * rigidité * ***************************************************************** cdl0 = bloq uz lib ; cdl2 = bloq uz lic ; dep1 = depi cdl2 4e-3 ; forcevt = evol manu abs (prog 0. 1.) ord (prog 0. 1.) ; char1 = char 'DIMP' dep1 forcevt ; * * tabtps = table ; tabtps. 0 = 0. ; tabtps. 1 = 1. ; tabT = table ; tabT. 0 = manu 'CHPO' surf2 1 'T' 100. ; tabT. 1 = manu 'CHPO' surf2 1 'T' -100. ; char2 = CHAR 'T' tabtps tabT ; ***************************************************************** * definition de la table d'entree * ***************************************************************** tab1 = table ; tab1.caracteristiques = mat1 ; tab1.modele = mod1 ; tab1.blocages_mecaniques = cdl0 et cdl2 ; tab1.chargement = char1 et char2 ; tab1.temps_calcules = (prog 0. pas 0.5 1.) ; * * ***************************************************************** * procedure de calcul * ***************************************************************** TMASAU=table; tab1 . 'MES_SAUVEGARDES'=TMASAU; TMASAU .'DEFTO'=VRAI; TMASAU .'DEFIN'=VRAI; pasapas tab1 ; * * ***************************************************************** * Calcul de la contrainte de Weibull axi * ***************************************************************** *sigu est une constante * * * zone du critere * surfcrit = elem surf2 1 ; zone1 = redu mod1 surfcrit; * * enttab1 = table ; enttab1.'XMULT' = 2. ; enttab1.'OBJMO' = zone1 ; enttab1.'WEIBULL' = vrai ; enttab1.'TNONL' = tab1 ; enttab1.'M' = m ; enttab1.'V0' = v0 ; enttab1.'SIGU' = sigu1 ; enttab1.'IC' = ic ; enttab1.'N' = n ; enttab1.'TEMPER'= 0 ; * * sortab1 = critloc enttab1; * * sigw1 = (sortab1.'SIGW').1. ; * * ***************************************************************** * Calcul de la contrainte de Weibull axi * ***************************************************************** *sigu est une evolution constante * * * zone du critere * surfcrit = elem surf2 1 ; zone1 = redu mod1 surfcrit; * * enttab2 = table ; enttab2.'XMULT' = 2. ; enttab2.'OBJMO' = zone1 ; enttab2.'WEIBULL' = vrai ; enttab2.'TNONL' = tab1 ; enttab2.'M' = m ; enttab2.'V0' = v0 ; enttab2.'SIGU' = sigu2 ; enttab2.'IC' = ic ; enttab2.'N' = n ; enttab2.'TEMPER'= 1 ; enttab2.'TEREF'= 150. ; * * sortab2 = critloc enttab2; * * sigw2 = (sortab2.'SIGW').1. ; * * ***************************************************************** * Test d'erreur * ***************************************************************** ecart = ( abs(sigw1-sigw2) ) / sigw1 ; mess 'ecart relatif : ' (ecart*100.) '%' ; si (ecart < 0.1 ) ; erre 0 ; sinon ; erre 5 ; finsi ; * * fin ;