* fichier : ortho-coq4.dgibi
*------------------------------------------------------------------
*
* TEST ORTHOTROPIE : PLAQUE EN FLEXION
* Michel BULIK (inspiré d'un test d'Alain MOAL (octobre 1996))
*
* Il s'agit d'une plaque carrée, encastrée sur les bords et
* soumise à une pression uniforme. On modélise succésivement
* les cas suivants :
*
* 1. 1er axe d'orthotropie = Ox
* E_1 = 2.e+5
* E_2 = 2.e+4
*
* 2. 1er axe d'orthotropie = Oy
* E_1 = 2.e+4
* E_2 = 2.e+5
*
* A cause de la symétrie du problème ces 2 cas sont équivalents
* aux 2 cas suivants :
*
* 3. 1er axe d'orthotropie = Oy
* E_1 = 2.e+5
* E_2 = 2.e+4
*
* 4. 1er axe d'orthotropie = Ox
* E_1 = 2.e+4
* E_2 = 2.e+5
*
* Le test porte sur l'égalité des flèches au centre de la plaque
* dans les quatre cas.
*
*------------------------------------------------------------------
opti dime 3 mode trid elem qua4 ;
opti trac x ;
graph = faux ;
*---- maillage
p1 = -1.e3 -1.e3 0. ;
p2 = 1.e3 -1.e3 0. ;
p3 = 1.e3 1.e3 0. ;
p4 = -1.e3 1.e3 0. ;
n1 = 4 ;
n2 = 4 ;
l1 = p1 d n1 p2 ;
l2 = p2 d n2 p3 ;
l3 = p3 d n1 p4 ;
l4 = p4 d n2 p1 ;
s0 = daller l1 l2 l3 l4 plan ;
*---- calcul
*---- cas 1
youn1 = 200000. ;
youn2 = 20000. ;
youn0 = (youn1 + youn2)/2.;
gcis0 = youn0 /(2.*(1.+0.3)) ;
valnu12 = 0.3 ; comm '=> valnu21 = 0.03' ;
mod0 = modl s0 mecanique elastique orthotrope coq4 ;
mat0 = matr mod0 direction (1. 0. 0.) parallele
YG1 youn1 YG2 youn2
NU12 valnu12
G12 gcis0
G23 gcis0
G13 gcis0
RHO 8.e-6 EPAI 50. ;
pres0 = pres coqu mod0 0.5 (0. 0. -1.) ;
rig0 = (rigi mod0 mat0) et
(bloq depl rota (l1 et l2 et l3 et l4)) ;
dep0 = reso rig0 pres0 ;
*---- depouillement
defo0 = defo s0 dep0 1. roug ;
depz0 = exco uz dep0 ;
fle1 = extr depz0 scal (s0 poin proc (0. 0. 0.)) ;
mess 'fleche = ' fle1 ;
titre 'Deplacement en z et deformee (fleche 1 = 'fle1' mm)';
si graph ;
trace cach (1.e8 1.e8 1.e8) depz0 defo0 ;
finsi ;
*---- cas 2
youn1 = 20000. ;
youn2 = 200000. ;
youn0 = (youn1 + youn2)/2.;
gcis0 = youn0 /(2.*(1.+0.3)) ;
valnu12 = 0.03 ; comm '=> valnu21 = 0.3' ;
mat0 = matr mod0 direction (1. 0. 0.) parallele
YG1 youn1 YG2 youn2
NU12 valnu12
G12 gcis0
G23 gcis0
G13 gcis0
RHO 8.e-6 EPAI 50. ;
rig0 = (rigi mod0 mat0) et
(bloq depl rota (l1 et l2 et l3 et l4)) ;
dep0 = reso rig0 pres0 ;
*---- depouillement
defo0 = defo s0 dep0 1. roug ;
depz0 = exco uz dep0 ;
fle2 = extr depz0 scal (s0 poin proc (0. 0. 0.)) ;
mess 'fleche = ' fle2 ;
titre 'Deplacement en z et deformee (fleche 2 = 'fle2' mm)';
si graph ;
trace cach (1.e8 1.e8 1.e8) depz0 defo0 ;
finsi ;
*---- cas 3
youn1 = 200000. ;
youn2 = 20000. ;
youn0 = (youn1 + youn2)/2.;
gcis0 = youn0 /(2.*(1.+0.3)) ;
valnu12 = 0.3 ; comm '=> valnu21 = 0.03' ;
mat0 = matr mod0 direction (0. 1. 0.) parallele
YG1 youn1 YG2 youn2
NU12 valnu12
G12 gcis0
G23 gcis0
G13 gcis0
RHO 8.e-6 EPAI 50. ;
rig0 = (rigi mod0 mat0) et
(bloq depl rota (l1 et l2 et l3 et l4)) ;
dep0 = reso rig0 pres0 ;
*---- depouillement
defo0 = defo s0 dep0 1. roug ;
depz0 = exco uz dep0 ;
fle3 = extr depz0 scal (s0 poin proc (0. 0. 0.)) ;
mess 'fleche = ' fle3 ;
titre 'Deplacement en z et deformee (fleche 3 = 'fle3' mm)';
si graph ;
trace cach (1.e8 1.e8 1.e8) depz0 defo0 ;
finsi ;
*---- cas 4
youn1 = 20000. ;
youn2 = 200000. ;
youn0 = (youn1 + youn2)/2.;
gcis0 = youn0 /(2.*(1.+0.3)) ;
valnu12 = 0.03 ; comm '=> valnu21 = 0.3' ;
mat0 = matr mod0 direction (0. 1. 0.) parallele
YG1 youn1 YG2 youn2
NU12 valnu12
G12 gcis0
G23 gcis0
G13 gcis0
RHO 8.e-6 EPAI 50. ;
rig0 = (rigi mod0 mat0) et
(bloq depl rota (l1 et l2 et l3 et l4)) ;
dep0 = reso rig0 pres0 ;
*---- depouillement
defo0 = defo s0 dep0 1. roug ;
depz0 = exco uz dep0 ;
fle4 = extr depz0 scal (s0 poin proc (0. 0. 0.)) ;
mess 'fleche = ' fle4 ;
titre 'Deplacement en z et deformee (fleche 4 = 'fle4' mm)';
si graph ;
trace cach (1.e8 1.e8 1.e8) depz0 defo0 ;
finsi ;
*--------- test si c'est ok
opti echo 0 ;
saut 1 lign ;
diff12 = abs(fle2 - fle1) ;
mess 'Différence entre les résultats 1 et 2 =' diff12 ;
diff23 = abs(fle3 - fle2) ;
mess 'Différence entre les résultats 2 et 3 =' diff23 ;
diff34 = abs(fle4 - fle3) ;
mess 'Différence entre les résultats 3 et 4 =' diff34 ;
epsilo = 1.e-10 ;
testok = (diff12 < epsilo) ET (diff23 < epsilo) ET (diff34 < epsilo) ;
si (non testok) ;
erre 5 ;
finsi ;
fin ;
© Cast3M 2003 - All rights reserved.
Disclaimer