* fichier : gdep5.dgibi ************************************************************************ * Section : Mecanique Elastique Grands_deplacements ************************************************************************ * Description : * Traction simple en deplacement impose. * Eprouvette en forme de pave droit, 3 elements * Calcul lineaire elastique en Grands deplacements, * option Lagrangien Reactualise. * * Validation : * La courbe contrainte-deformation issue du calcul doit etre egale a * celle fourunie dans les caracteristiques du modele. * ************************************************************************ ** Options generales OPTI 'DIME' 3 'ELEM' 'CUB8' ; * Mettre igraph a VRAI pour visualiser igraph = faux ; ** Courbe de traction conventionnelle ym1 = 210.e9 ; nu1 = 0.3 ; ht1 = 1.e9 ; lec = PROG 0. 2.e-3 0.2 ; lsc = prog 0. (ym1*2.e-3) ((0.2-2.e-3)*ht1+(ym1*2.e-3)) ; cc = EVOL 'TURQ' 'MANU' lec lsc ; ** Courbe de traction rationnelle ler = LOG (1. + lec) ; lsr = lsc * (1 + lec) ; cr = EVOL 'VERT' 'MANU' ler lsr ; lsr = lsr enle 1 ; lep = (ler enle 1) - (lsr / ym1) born mini 0. ; ecr = evol roug manu eps lep sig lsr ; si igraph ; tl = TABL ; tl . 'TITRE' = TABL ; tl . 'TITRE' . 1 = 'Courbe conventionnelle ' ; tl . 'TITRE' . 2 = 'Courbe rationnelle ' ; tl . 1 = mot 'MARQ CARR TIRR' ; tl . 2 = mot 'MARQ TRIA TIRR' ; dess (cc et cr) lege tl titr ' Courbes traction conventionnelle et rationnelle' ; tl . 'TITRE' . 1 = 'Courbe de traction rationnelle' ; tl . 'TITRE' . 2 = 'Courbe d ecrouissage ' ; dess (cr et ecr) lege tl titr ' Courbes de traction et d ecrouissage (roug)' ; fins ; ** Maillage p1 = 0. 0. 0. ; p2 = 1. 0. 0. ; l12 = DROI 1 p1 p2 ; s1 = l12 TRAN 1 (0. 1. 0.) ; v1 = s1 VOLU 'TRAN' 3 (0. 0. 3.) ; s2 = v1 FACE 2 ; si igraph ; trac qual V1 titr ' Traction simple : deplacement bloque-impose sur S1-S2 ' ; fins ; ** Modele et materiau (plasticite isotrope avc courbe de traction) yor = (EXTR lsr 1) / (EXTR ler 2) ; mo1 = MODE v1 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'ISOTROPE' ; ma1 = MATE mo1 'YOUN' yor 'NU' 0.3 'ECRO' ecr ; ** Blocages et chargement (deplacement UZ de la face sup.) bl1 = BLOQ 'UZ' s2 ; bl2 = (BLOQ 'UZ' s1) ET (BLOQ 'UX' 'UY' p1) ET (BLOQ 'UY' p2) ; bl = bl1 ET bl2 ; ev1 = EVOL 'MANU' (PROG 0. 1.) (PROG 0. 1.) ; * Avec un deplacement de 3., on a un dL/L de 100 % au temps 1 f1 = DEPI bl1 3. ; cha = CHAR 'DIMP' f1 ev1 ; ** Resolution : lagrangien reactualise avec materiau courbe rationnelle t1 = TABL 'PASAPAS' ; t1 . 'MODELE' = mo1 ; t1 . 'CARACTERISTIQUES' = ma1 ; t1 . 'BLOCAGES_MECANIQUES' = bl ; t1 . 'CHARGEMENT' = cha ; t1 . 'MES_SAUVEGARDES' = TABL ; t1 . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ; t1 . 'GRANDS_DEPLACEMENTS' = VRAI ; t1 . 'LAGRANGIEN' = MOT 'REACTUALISE' ; t1 . 'TEMPS_CALCULES' = PROG 0. pas 2.e-3 0.2 ; PASAPAS t1 ; ** Post traitement (courbe contrainte / deformation) * On reconstruit la courbe Svmis Vs. Eeq et F(U) : ntps1 = dime t1.temps - 1 ; leeq1 = prog 0 ; lsvm1 = prog 0 ; luz1 = prog 0 ; lfz1 = prog 0 ; repe bp1 ntps1 ; sigi1 = t1.contraintes.&bp1 ; epsi1 = elas mo1 ma1 sigi1 ; eeqi1 = t1.variables_internes.&bp1 exco epse epzz ; eeqi1 = eeqi1 + epsi1 ; leeq1 = leeq1 et (prog (maxi abs eeqi1)) ; lsvm1 = lsvm1 et (prog (maxi abs (vmis mo1 sigi1))) ; fzi1 = (((t1.reactions.&bp1 redu s2) resu) exco fz fz) maxi abs ; lfz1 = lfz1 et (prog fzi1) ; uzi1 = (t1.deplacements.&bp1 redu s2 exco uz) maxi abs ; luz1 = luz1 et (prog uzi1) ; fin bp1 ; evr = EVOL 'ROSE' 'MANU' leeq1 lsvm1 ; * On construit la courbe rationnelle a partir de la reponse F(U) lepzz1 = luz1 / (mesu V1 / (mesu S1)) ; lun1 = prog (dime lepzz1)*1. ; lepzz1 = log (lun1 + lepzz1) ; lfz1 = lfz1 * (lun1 + lepzz1) / (mesu S1) ; evr2 = EVOL 'ORAN' 'MANU' lepzz1 lfz1 ; si igraph ; tl = TABL ; tl . 'TITRE' = TABL ; tl . 'TITRE' . 1 = 'Courbe fournie ' ; tl . 'TITRE' . 2 = 'Szz(Ezz) PASAPAS ' ; tl . 'TITRE' . 3 = 'Szz(Ezz) de F(U) ' ; tl . 1 = mot 'TIRR MARQ TRIA' ; tl . 2 = mot 'TIRL' ; tl . 3 = mot 'TIRC' ; DESS (cr ET evr et evr2) 'LEGE' tl titr ' Comparaison courbes calculees-fournie ' ; fins ; ** Validation : * Erreur sur la contrainte : lepc1 = extr evr absc ; lsmc1 = extr evr ordo ; lsmr1 = ipol cr lepc1 ; err1 = maxi abs (lsmc1 - lsmr1) / (maxi abs lsmr1) ; * * Erreur sur l'integrale sous la courbe : evrr1 = evol manu lepc1 lsmr1 ; err2 = intg (evrr1 - evr) / (intg cr) abs ; err0 = prog err1 err2 maxi ; ** Message / Sortie en erreur : opti echo 0 ; mess ' ' ; mess ' RESULTATS ' ; mess ' --------- ' ; mess ' *** Erreur relative max. sur la contrainte : ' (100.* err1) ' %'; mess ' *** Erreur relative max. sur l energie : ' (100.* err2) ' %'; mess ' ' ; opti echo 1 ; * si (err0 > 1.e-2) ; opti echo 0 ; mess ' ' ; mess ' > TEST ECHOUE :( ' ; mess ' ' ; opti echo 1 ; erre 5 ; sino ; opti echo 0 ; mess ' ' ; mess ' > TEST REUSSI :) ' ; mess ' ' ; opti echo 1 ; fins ; * FIN ;