* fichier : drx_grd_defo_cisail_elplas.dgibi ************************************************************************ * Section : Mecanique Plastique ************************************************************************ * * CAS TEST POUR LES GRANDES DÉFORMATIONS * * * ref Rapport DMT 96/359 A de Gayffier * "Les lois de comportement des matériaux solides * en grandes déformations dans Castem2000 et Plexus" * * on considère un test de traction sur un rectangle * en 2D deformation planes * * comparaison avec une solution analytique compar = vrai ; graph = faux; * opti dime 2 elem seg2 mode plan defo ; y1 = 1. ; y2 = 1. ; p1 = 0. 0. ; p2 = y1 0. ; p3 = y1 y2 ; p4 = 0. y2 ; n = 1 ; l1 = d n p1 p2 ; l2 = d n p2 p3 ; l3 = d n p3 p4 ; l4 = d n p4 p1 ; opti elem qua4 ; su1 = dall l1 l2 l3 l4 plan ; youn1 = 1.d0 ; nu1 = 0.3 ; h = 0.1 ; evtrac = evol manu ( prog 0. 1.732 11.732 ) ( prog 0. 1.732 2.641 ) ; lx1 = extr evtrac absc ; ly1 = extr evtrac ordo ; ly1 = ly1 enle 1 ; lx1 = (lx1 enle 1) - (ly1 / youn1) ; evecro = evol vert manu 'EPS' lx1 'SIG' ly1 ; si graph ; dess (evtrac et evecro) titr ' Courbes de traction et d ecrouissage (vert)' ; fins ; mod1 = mode su1 mecanique elastique plastique isotrope ; mat1 = mate mod1 'YOUN' youn1 'NU' nu1 'RHO' 1.d0 'ECRO' evecro ; blo1 = bloq l1 'UY' 'UX' ; blox3 = bloq l3 'UX' ; bloy3 = bloq l3 'UY' ; blo2 = bloq l2 'UY' ; blo4 = bloq l4 'UY' ; * le chargement unité correspond à 100% de defo suivant x fblo2 = depi blox3 y1 ; lt1 = prog 0. pas 10. 400. ; * L'acceleration des blocages est nulle evt = evol manu lt1 (lt1 * 0.) ; char1 = char 'MECA' evt fblo2 ; tab1 = table 'DYNEXPLX' ; tab1 . 'VITESSE_INITIALE' = ('MANU' 'CHPO' su1 2 'UX' 0. 'UY' 0. 'NATURE' 'DIFFUS') + ( 'MANU' 'CHPO' ( P3 ET P4 ) 1 'UX' 0.01) ; tab1 . 'MODELE' = mod1 ; tab1 . 'CARACTERISTIQUES' = mat1 ; tab1 . 'CHARGEMENT'= char1 ; tab1 . 'LIAISONS' = blo1 et blox3 et bloy3 ; tab1 . 'MASSE_CONSISTANTE' = faux ; tab1 . 'GRANDES_DEFORMATIONS' = vrai ; tab1 . 'PAS_TEMPS' = 5. ; tab1 . 'NPASMAX' = 10000 ; tab1 . 'TEMPS_SORTIE' = lt1 * 0.99999 ; DREXUS tab1 ; * sortie deformation - force suivant x lpxx = prog ; lpyy = prog ; lpxy = prog ; lpp = prog ; lepxy = prog ; i=0 ; repeter bloc1 ( dime tab1 . deplacements ) ; dep1 = tab1 . deplacements . i ; sig1 = tab1 . contraintes . i ; var1 = tab1 . variables_internes . i ; def1 = tab1 . deformations_inelastiques . i ; pxx = intg sig1 mod1 'SMXX'; pyy = intg sig1 mod1 'SMYY'; pxy = intg sig1 mod1 'SMXY'; p = ( intg var1 mod1 'EPSE' ) ; epsxy = ( intg def1 mod1 'GAXY' ) / 2.; lpxx = lpxx et (prog pxx ) ; lpyy = lpyy et (prog pyy ) ; lpxy = lpxy et (prog pxy ) ; lpp = lpp et ( prog p ) ; lepxy = lepxy et ( prog epsxy ) ; i = i+1 ; fin bloc1 ; k2gdsxx = evol bleu manu 'defo' lt1 lpxx ; k2gdsyy = evol bleu manu 'defo' lt1 lpyy ; k2gdsxy = evol bleu manu 'defo' lt1 lpxy ; k2gdhp = evol bleu manu 'defo' lt1 lpp ; k2gdepxy = evol bleu manu 'defo' lt1 lepxy ; tabgraf = table ; tabgraf . 1 = 'MARQ CROI ' ; tabgraf . 2 = 'MARQ ETOI ' ; tabgraf . 3 = 'MARQ TRIA '; tabgraf . 4 = 'MARQ PLUS ' ; tabgraf.'TITRE' = table ; tabgraf .'TITRE'. 1 = mot 'sxx_k2000' ; tabgraf .'TITRE'. 2 = mot 'syy_k2000' ; tabgraf .'TITRE'. 3 = mot 'sxy_k2000'; tabgraf .'TITRE'. 4 = mot 'Hp_k2000' ; 'TITR' 'Solution numérique avec DREXUS' ; si graph ; dess (k2gdsxx et k2gdsyy et k2gdsxy et k2gdepxy) tabgraf lege ; finsi; * Solution analytique avec la derivée de Truesdell * Cette solution a été obtenue par intégration d'un système * d'équation réduit avec un algorithme de Runge Kutta. * cf referénce page 37 lanaxx = prog 0.0E+00 8.63882E-03 2.06581E-02 3.62831E-02 6.75331E-02 9.87831E-02 .14325 .19373 .24782 .31753 .38724 .47018 .55912 .65167 .75984 .86801 .98941 1.1168 1.2462 1.3185 1.3846 1.4465 1.5049 1.5605 1.6139 1.6655 1.7157 1.7649 1.8135 1.8617 1.9097 1.9578 2.0062 2.0551 2.1046 2.1549 2.2062 2.2586 2.3121 2.3671 2.4233 ; ANASXX = evol rouge manu lt1 lanaxx ; lanaxy = prog 0.00000E+00 3.84615E-02 7.69231E-02 .11538 .15385 .19231 .23077 .26923 .30769 .34615 .38462 .42308 .46154 .50000 .53846 .57692 .61538 .65385 .69231 .67975 .66974 .66312 .65967 .65914 .66130 .66591 .67280 .68169 .69235 .70464 .71834 .73330 .74935 .76638 .78423 .80281 .82201 .84176 .86195 .88258 .90354 ; ANASXY = evol rouge manu lt1 lanaxy ; lanayy = prog 0.0E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.0E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.0E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.00E+00 3.24362E-02 6.68313E-02 .10251 .13941 .17752 .21683 .25737 .29919 .34228 .38668 .43244 .47957 .52809 .57801 .62937 .68213 .73631 .79192 .84894 .90729 .96713 1.0282 ; ANASYY = evol rouge manu lt1 lanayy ; tabgraf = table ; tabgraf . 1 = 'MARQ CROI REGU ' ; tabgraf . 2 = 'MARQ ETOI REGU ' ; tabgraf . 3 = 'MARQ TRIA REGU ' ; tabgraf . 4 = 'MARQ CROI REGU ' ; tabgraf . 5 = 'MARQ ETOI REGU ' ; tabgraf . 6 = 'MARQ TRIA REGU ' ; tabgraf.'TITRE' = table ; tabgraf .'TITRE'. 1 = mot 'sxx_ana' ; tabgraf .'TITRE'. 2 = mot 'syy_ana' ; tabgraf .'TITRE'. 3 = mot 'sxy_ana' ; tabgraf .'TITRE'. 4 = mot 'sxx_k2000' ; tabgraf .'TITRE'. 5 = mot 'syy_k2000' ; tabgraf .'TITRE'. 6 = mot 'sxy_k2000' ; titr 'Test de Cisaillement elasto-plastique - H = 0' ; si graph ; dess ( anasxx et anasyy et anasxy et k2gdsxx et k2gdsyy et k2gdsxy ) tabgraf LEGE ; finsi; * code de bon fonctionnement err1 = (maxi abs ( lpxx - lanaxx )) / ( maxi abs lanaxx ) * 100.; err2 = (maxi abs ( lpxy - lanaxy )) / ( maxi abs lanaxy ) * 100.; 'OPTI' 'ECHO' 0 ; 'SAUTER' 1 LIGNE ; 'MESS' 'Erreur sur SMXX' err1 '% ' 'Erreur sur SMXY' err2 '%'; 'SAUTER' 1 LIGNE ; 'OPTI' 'ECHO' 1 ; si ( ( err1 '>EG' 5. ) 'OU' ( err2 '>EG' 5. ) ) ; erreur 5 ; finsi ; fin ;