Download drx_grd_defo_cisail_elas.dgibi
* fichier : drx_grd_defo_cisail_elas.dgibi
*
* CAS TEST POUR LES GRANDES DÉFORMATIONS
*
* on considère un test de traction sur un rectangle
* en 2D deformation planes
*
* comparaison avec plexus
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 ;
mod1 = mode su1 mecanique elastique isotrope ;
mat1 = mate mod1 'YOUN' youn1 'NU' nu1 'RHO' 1.d0;
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 ;
lt = prog 0. pas 10. 100. ;
* L'acceleration des blocages est nulle
evt = evol manu lt (lt * 0.) ;
char1 = char 'MECA' evt fblo2 ;
tab1 = table ;
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 . 'GRANDES_DEFORMATIONS' = vrai ;
tab1 . 'PAS_TEMPS' = 10. ;
tab1 . 'NPASMAX' = 100;
tab1 . 'TEMPS_SORTIE' = lt * 0.99999 ;
DREXUS tab1 ;
* sortie deformation - force suivant x
geom0 = form ;
lpx = prog ;
lpy = prog ;
i = 0 ;
repeter bloc1 ( dime tab1 . deplacements) ;
dep1 = tab1 . deplacements . i ;
form dep1 ;
sig1 = tab1 . contraintes . i ;
ftot = bsigm sig1 mod1 ;
fl2 = redu ftot l3 ;
fl2 = resu fl2 ;
pi = point 1 (extr fl2 mail ) ;
px = extr fl2 pi 'FX' ;
*px = intg sig1 mod1 'SMXY' ;
py = intg sig1 mod1 'SMXX' ;
lpx = lpx et (prog px ) ;
lpy = lpy et (prog py ) ;
i = i+1 ;
form geom0 ;
fin bloc1 ;
evfepsx = evol rouge manu 'defo' lt 'force' lpx ;
evfepsy = evol rouge manu 'defo' lt 'force' lpy ;
* solution analytique avec la derivée de Trusdell
panax = y1 * youn1 / (1. + nu1) * lt / 200. ;
panay = y1 * youn1 / (1. + nu1) * lt * lt / 100. / 100. / 2. ;
evpanax = evol bleu manu lt panax ;
evpanay = evol bleu manu lt panay ;
*opti donn 5;
tabgraf = table ;
tabgraf . 1 = 'MARQ CROI ' ;
tabgraf . 2 = 'MARQ CROI TIRR REGU ' ;
tabgraf . 3 = 'MARQ ETOI ' ;
tabgraf . 4 = 'MARQ ETOI TIRR REGU ' ;
tabgraf .'TITRE' = table ;
tabgraf .'TITRE'. 1 = mot 'sxy_grd_defo' ;
tabgraf .'TITRE'. 2 = mot 'sxy_ana_trusdell' ;
tabgraf .'TITRE'. 3 = mot 'sxx_grd_defo' ;
tabgraf .'TITRE'. 4 = mot 'sxx_ana_trusdell' ;
si graph ;
dess (evfepsx et evpanax et evfepsy et evpanay) tabgraf lege ;
finsi;
* Le premier indice vaut 0.
lpx2 = 'ENLEVER' lpx 1 ; panax2 = 'ENLEVER' panax 1 ;
lerrx1 = abs ( lpx2 - panax2 / panax2 ) ;
lt1 = enleve lt 1 ;
everrx1 = evol rouge manu 'defo' lt1 'erreur' ( lerrx1 * 100. ) ;
* Le premier indice vaut 0.
lpy2 = 'ENLEVER' lpy 1 ; panay2 = 'ENLEVER' panay 1 ;
lerry1 = abs ( lpy2 - panay2 / panay2 ) ;
lt1 = enleve lt 1 ;
everry1 = evol rouge manu 'defo' lt1 'erreur' ( lerry1 * 100. ) ;
'TITR' 'Erreur relatives sur la force de cisaillement' ;
tabgraf . 1 = 'MARQ CROI ' ;
tabgraf . 3 = 'MARQ CROI ' ;
tabgraf .'TITRE'. 1 = mot 'grd_defo' ;
tabgraf .'TITRE'. 3 = mot 'grd_defo' ;
si graph ;
dess ( everrx1 et everry1 ) tabgraf lege ;
finsi;
* code de bon fonctionnement
err1 = maxi lerrx1 ;
err2 = maxi lerry1 ;
'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 ;
© Cast3M 2003 - All rights reserved.
Disclaimer