Download dragon.dgibi

Back to the list

* fichier :  dragon.dgibi
*
*----------------------------------------------- 
* 
*  Modèle de comportement : DRAGON 
*  
*  'MODE' maillage 'ELASTIQUE' 'ISOTROPE' 
*         'PLASTIQUE_ENDOM' 'DRAGON' ;  
*  
*  Validation en traction et en compression 
*      sur un élément  
* 
*----------------------------------------------- 
*   
opti echo 0 dime 3 elem cub8 ;
* 
*-----------------------------------------------
*  Comportement en traction  
*---------------------------------------------- 
* 
l1 = 1. ; 
p1 = 0. 0. 0. ; 
p2 = l1 0. 0. ; 
p3 = l1 l1 0. ; 
p4 = 0. l1 0. ; 
d1 = d p1 1 p2 ; 
d2 = d p2 1 p3 ; 
d3 = d p3 1 p4 ; 
d4 = d p4 1 p1 ; 
sur1 = 'SURF' ( d1 'ET' d2 'ET' d3 'ET' d4 ) 'PLAN' ; 
p5 = 0. 0. l1 ; 
p6 = l1 0. l1 ; 
p7 = l1 l1 l1 ; 
p8 = 0. l1 l1 ; 
d5 = d p5 1 p6 ; 
d6 = d p6 1 p7 ; 
d7 = d p7 1 p8 ; 
d8 = d p8 1 p5 ; 
sur2 = 'SURF' ( d5 'ET' d6 'ET' d7 'ET' d8 ) 'PLAN' ;   
mail0 = 'VOLU' sur1 1 sur2 ; 
'TITR' ' Maillage ' ; 
*'TRAC' mail0 ; 
* 
* Modèle   
* 
youn0 = .45E5 ; 
nu0 = .32 ; 
g0 = -0.10800E+03 ; 
alfa0 = 0.20000E+04 ; 
beta0 = -0.16513E+05 ; 
c00 = 0.00009E+01 ; 
c10 = 0.54000E+00 ; 
b0 = 0.00000E+00 ;  
mod0 = 'MODE' mail0 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 
                   'PLASTIQUE_ENDOM' 'DRAGON' ; 
mat0 = 'MATE' mod0 'YOUN' youn0 'NU' nu0 'g' g0 'ALFA' alfa0 
                   'BETA' beta0 'C0' c00 'C1' c10 'B' b0 ; 
* 
*  Temps du calcul 
* 
tfin0 = 100. ; 
dt0 = 10. ; 
*  
*  Condition aux limites 
* 
cl1 = 'BLOQ' sur1 'UZ' ; 
cl2 = 'BLOQ' sur2 'UZ' ; 
cl3 = 'BLOQ' ( p1 'ET' p4 'ET' p5 'ET' p8 ) 'UX' ; 
cl4 = 'BLOQ' ( p1 'ET' p2 'ET' p5 'ET' p6 ) 'UY' ;
cl0 = cl1 'ET' cl2 'ET' cl3 'ET' cl4 ; 
* 
*  Chargement ( déplacement imposé ) 
* 
depmax0 = 1.E-3 ; 
dep0 = 'DEPI' cl2 depmax0 ; 
ev0 = 'EVOL' 'MANU' temps ( 'PROG' 0. tfin0 ) y ( 'PROG' 0. 1. ) ;
cha0 = 'CHAR' 'DIMP' dep0 ev0 ;
* 
*  Appel à PASAPAS 
* 
ta1 = 'TABLE' ;
ta1 .'MODELE' = mod0 ;
ta1 .'CARACTERISTIQUES' = mat0 ;
ta1 .'BLOCAGES_MECANIQUES' = cl0 ;
ta1 .'CHARGEMENT' = cha0 ;
ta1 .'TEMPS_CALCULES' = 'PROG' 0. 'PAS' dt0 tfin0 ;
*
TMASAU=table;
ta1 . 'MES_SAUVEGARDES'=TMASAU;
ta1 . 'PRECISION'=1e-12;
ta1 . 'PRECISINTER'=1e-12;
TMASAU .'DEFTO'=VRAI;
TMASAU .'DEFIN'=VRAI;
PASAPAS ta1 ;
* 
*  Post traitement 
*  
dim0 = ( 'DIME' ( ta1 .'TEMPS' ) ) - 1 ; 
sigm0 = ta1 .'CONTRAINTES'.dim0 ; 
var0 = ta1. 'VARIABLES_INTERNES'.dim0 ; 
eps0 = ta1. 'DEFORMATIONS_INELASTIQUES'.dim0 ; 
depl0 = ta1 .'DEPLACEMENTS'.dim0 ; 
eps1 = 'EPSI' depl0 mod0 ;  
*
*  Erreur  
* 
err0 = 1.E-3 ; 
smxx1 = 'MAXI' ( 'EXCO' sigm0 'SMXX' ) ; 
smyy1 = 'MAXI' ( 'EXCO' sigm0 'SMYY' ) ; 
smzz1 = 'MAXI' ( 'EXCO' sigm0 'SMZZ' ) ; 
smxy1 = 'MAXI' ( 'EXCO' sigm0 'SMXY' ) ; 
smxz1 = 'MAXI' ( 'EXCO' sigm0 'SMXZ' ) ; 
smyz1 = 'MAXI' ( 'EXCO' sigm0 'SMYZ' ) ; 
* 
end0 = 'MAXI' ( 'EXCO' var0 'EPSE' ) ;
end1 = 'MAXI' ( 'EXCO' var0 'END1' ) ;
end2 = 'MAXI' ( 'EXCO' var0 'END2' ) ;
end3 = 'MAXI' ( 'EXCO' var0 'END3' ) ;
end4 = 'MAXI' ( 'EXCO' var0 'END4' ) ;
end5 = 'MAXI' ( 'EXCO' var0 'END5' ) ;
end6 = 'MAXI' ( 'EXCO' var0 'END6' ) ; 
* 
epxx1 = 'MAXI' ( 'EXCO' eps0 'EIXX' ) ;
epyy1 = 'MAXI' ( 'EXCO' eps0 'EIYY' ) ;
epzz1 = 'MAXI' ( 'EXCO' eps0 'EIZZ' ) ;
epxy1 = 'MAXI' ( 'EXCO' eps0 'GIXY' ) ;
epxz1 = 'MAXI' ( 'EXCO' eps0 'GIXZ' ) ;
epyz1 = 'MAXI' ( 'EXCO' eps0 'GIYZ' ) ; 
* 
err1 = 'ABS' ( smxx1 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ; 
err1 = 'ABS' ( smyy1 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ; 
err1 = 'ABS' ( smzz1 - 20.875 ) ; 
'SI' ( err1 '>' ( err0 * 20.875 ) ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( smxy1 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( smxz1 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( smyz1 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end0 - 0.1398 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( end1 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end2 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end3 - 0.1398 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end4 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end5 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end6 - 0.0 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epxx1 + 3.23E-4 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epyy1 + 3.23E-4 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epzz1 - 1.E-3 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epxy1 - 0.0 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epxz1 - 0.0 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epyz1 - 0.0 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
*
* 
*-----------------------------------------------
*  Comportement en compression  
*-----------------------------------------------
*  
*  Chargement ( déplacement imposé ) 
* 
depmax0 = -1.E-3 ; 
dep0 = 'DEPI' cl2 depmax0 ; 
ev0 = 'EVOL' 'MANU' temps ( 'PROG' 0. tfin0 ) y ( 'PROG' 0. 1. ) ;
cha0 = 'CHAR' 'DIMP' dep0 ev0 ;
* 
*  Appel à PASAPAS 
* 
ta1 = 'TABLE' ;
ta1 .'MODELE' = mod0 ;
ta1 .'CARACTERISTIQUES' = mat0 ;
ta1 .'BLOCAGES_MECANIQUES' = cl0 ;
ta1 .'CHARGEMENT' = cha0 ;
ta1 .'TEMPS_CALCULES' = 'PROG' 0. 'PAS' dt0 tfin0 ;
*
TMASAU=table;
ta1 . 'MES_SAUVEGARDES'=TMASAU;
ta1 . 'PRECISION'=1e-12;
ta1 . 'PRECISINTER'=1e-12;
TMASAU .'DEFTO'=VRAI;
TMASAU .'DEFIN'=VRAI;
PASAPAS ta1 ;
* 
*  Post traitement 
*  
dim0 = ( 'DIME' ( ta1 .'TEMPS' ) ) - 1 ; 
sigm0 = ta1 .'CONTRAINTES'.dim0 ; 
var0 = ta1. 'VARIABLES_INTERNES'.dim0 ; 
eps0 = ta1. 'DEFORMATIONS_INELASTIQUES'.dim0 ; 
depl0 = ta1 .'DEPLACEMENTS'.dim0 ; 
eps1 = 'EPSI' depl0 mod0 ;  
*
*  Erreur  
* 
err0 = 1.E-3 ; 
smxx1 = 'MAXI' ( 'EXCO' sigm0 'SMXX' ) ; 
smyy1 = 'MAXI' ( 'EXCO' sigm0 'SMYY' ) ; 
smzz1 = 'MAXI' ( 'EXCO' sigm0 'SMZZ' ) ; 
smxy1 = 'MAXI' ( 'EXCO' sigm0 'SMXY' ) ; 
smxz1 = 'MAXI' ( 'EXCO' sigm0 'SMXZ' ) ; 
smyz1 = 'MAXI' ( 'EXCO' sigm0 'SMYZ' ) ; 
* 
end0 = 'MAXI' ( 'EXCO' var0 'EPSE' ) ;
end1 = 'MAXI' ( 'EXCO' var0 'END1' ) ;
end2 = 'MAXI' ( 'EXCO' var0 'END2' ) ;
end3 = 'MAXI' ( 'EXCO' var0 'END3' ) ;
end4 = 'MAXI' ( 'EXCO' var0 'END4' ) ;
end5 = 'MAXI' ( 'EXCO' var0 'END5' ) ;
end6 = 'MAXI' ( 'EXCO' var0 'END6' ) ; 
* 
epxx1 = 'MAXI' ( 'EXCO' eps0 'EIXX' ) ;
epyy1 = 'MAXI' ( 'EXCO' eps0 'EIYY' ) ;
epzz1 = 'MAXI' ( 'EXCO' eps0 'EIZZ' ) ;
epxy1 = 'MAXI' ( 'EXCO' eps0 'GIXY' ) ;
epxz1 = 'MAXI' ( 'EXCO' eps0 'GIXZ' ) ;
epyz1 = 'MAXI' ( 'EXCO' eps0 'GIYZ' ) ; 
* 
err1 = 'ABS' ( smxx1 + 0.0       ) ;
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ; 
err1 = 'ABS' ( smyy1 + 0.0      ) ;
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ; 
err1 = 'ABS' ( smzz1 + 4.19E1 ) ; 
'SI' ( err1 '>' ( err0 * 41.9 ) ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( smxy1 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( smxz1 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( smyz1 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end0 - 7.23E-2 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( end1 - 3.619E-2 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end2 - 3.619E-2 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end3 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end4 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end5 - 0.0 ) ; 
'SI' ( err1 '>' err0 ) ; 
   'ERRE' 5 ; 
'FINSI' ;
err1 = 'ABS' ( end6 - 0.0 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epxx1 - 3.702E-4 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epyy1 - 3.702E-4 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epzz1 + 1.E-3 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epxy1 - 0.0 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epxz1 - 0.0 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
err1 = 'ABS' ( epyz1 - 0.0 ) ;
'SI' ( err1 '>' err0 ) ;
   'ERRE' 5 ;
'FINSI' ;
*
'FIN' ;
 

 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer