Download drx_grd_defo_cisail_elplas2.dgibi

Back to the list

* fichier :  drx_grd_defo_cisail_elplas2.dgibi
*                                                                       
*  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        
*
* Ce cas test presente des variations incomprehensibles en fonction de la
* valeur de Rho. On va donc s'en passer en attendant de comprendre le
* phenomene

fin ;

*
*
*
*
*
*                                   
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.d11 ;                                                         
nu1 = 0.3 ;                                                             
                                                                        
mod1 = mode su1 mecanique elastique plastique parfait ;                 
mat1 = mate mod1 'YOUN' youn1 'NU' nu1 'RHO' 1.d0 'SIGY' 1.732d8;       
                                                                        
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. 100. ;                                            
*  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 . 'GRANDES_DEFORMATIONS' = vrai ;                                  
tab1 . 'PAS_TEMPS' = 1. ;                                               
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.'TITRE' = table ;
tabgraf .'TITRE'. 1 = mot 'sxx_k2000' ;
tabgraf .'TITRE'. 2 = mot 'syy_k2000' ;
tabgraf .'TITRE'. 3 = mot 'sxy_k2000';
                                                                        
si  graph ;                                                                        
dess ( k2gdsxx et k2gdsyy et k2gdsxy  ) 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.00000E+00  6.92658E+06  1.35932E+07  2.02597E+07  2.69263E+07
3.35929E+07  4.02595E+07  4.69260E+07  5.35926E+07  6.02592E+07
6.69258E+07 ;
ANASXX = evol rouge manu   lt1  lanaxx ;

lanaxy = prog
0.00000E+00  9.99996E+07  9.99996E+07  9.99996E+07  9.99996E+07  
9.99996E+07  9.99996E+07  9.99996E+07  9.99996E+07  9.99996E+07
 9.99996E+07  ;
ANASXY = evol rouge manu   lt1  lanaxy ;

lanayy = prog
0.00000E+00  6.40667E+06  1.30733E+07  1.97400E+07  2.64067E+07  
3.30733E+07  3.97400E+07  4.64067E+07  5.30733E+07  5.97400E+07
6.64067E+07 ;
ANASYY = evol rouge manu   lt1  lanaxy ;
                                                                   
                                                                        
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     
* on regarde l'erreur pour 50% de déformation                                       
 
err1 = (extr ( lpxx - lanaxx )  5 ) / ( extr  lanaxx 5 ) * 100.;      
err2 = (extr ( lpxy - lanaxy )  5 ) / ( extr  lanaxy 5 ) * 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 ;    

 

 

 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer