* 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