Download drx_grd_defo_cisail_elas.dgibi

Back to the list

* 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