* fichier : rupt16-weib.dgibi
*----------------------------------------------------------------------
*----------------------------------------------------------------
* *
* Test du critère de Weibull pour un cylindre *
* en traction modelisé en axisymétrique et en 3D *
* sigu constante ou évolution constante *
* *
*----------------------------------------------------------------
*----------------------------------------------------------------
* *
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 *
*****************************************************************
* *
* 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 ;
* *
mat1 = mate mod1 youn (503./0.0026) nu 0.3 tract tracevt
alpha 1.e-5 ;
* *
*****************************************************************
* 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.) ;
tab1.talpha_reference = 20. ;
* *
*****************************************************************
* 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 ;
© Cast3M 2003 - All rights reserved.
Disclaimer