* fichier : rten.dgibi
*
* TEST RTEN.DGIBI
*
* CAS TEST DE L'OPERATEUR RTENS
*
OPTION ECHO 0;
GRAPH='N';
OPTI DIME 2 ELEM QUA8 MODE PLAN CONT ;
*
*
**
**
*** On définit la géométrie.
*
DENSITE 0.2 ;
*
** On définit d'abord le centre de rotation
** puis les points
Pc = 0. 0. ;
P1 = Pc MOINS (1. 0.) ;
P2 = P1 MOINS (1. 0.) ;
P3 = Pc PLUS (0. 1.) ;
P4 = P3 PLUS (0. 1.) ;
*
d1_2 = DROITE P1 P2 ;
d3_4 = DROITE P3 P4 ;
C1_3 = CERC P1 Pc P3 ;
C2_4 = CERC (NBEL c1_3) P2 Pc P4 ;
*
s = DALLER d1_2 c2_4 (INVE d3_4) (INVE c1_3) ;
*
*** On a fini le maillage
*** On passe aux conditions aux limites
*
*** condition de symetrie sur les deux morceaux de face
*
clsym = (SYMT DEPL P1 P2 d1_2) ET (SYMT DEPL P3 P4 d3_4) ;
*
******* On définit le matériau ;
*
*** On définit le modèle de calcul en othotrope
*
mo = MODELE s 'MECANIQUE' 'ELASTIQUE' 'ORTHOTROPE' QUA8 ;
*
*** Propriétés matérielles
*
y1 = 30392.D6 ;
y2 = 8817.D6 ;
y3 = 8817.D6 ;
nu1_2 = 0.2 ;
nu2_3 = 0.2 ;
nu1_3 = 0.2 ;
g1_2 = 3082.D6 ;
*
*** la première direction d'orthotropie est tangente à la sphère
*** la seconde est donc radiale
*
ma = MATERIAU mo 'RADIAL' Pc 'PERPENDICULAIRE'
'YG1' y1 'YG2' y2 'YG3' y3 'NU12' nu1_2
'NU23' nu2_3 'NU13' nu1_3 'G12' g1_2 'DIM3' 1.D-2 ;
*
*** Assemblage des raideurs
*
rig = (RIGI mo ma) ET clsym ;
*
****** On passe au chargement. Juste une pression interne.
*
pint = PRESSION mo MASSIF c1_3 1. ;
*
*** On peut résoudre le système
*
dep = RESOU rig pint ;
*
* on calcule les contraintes en élastique
*
sig = SIGMA mo ma dep ;
*
*** première méthode pour exprimer les contraintes dans le repère
*** d'orthotropie. On utilise RTENS
*
sigo = RTENS sig mo ma ;
*
SI(NEG GRAPH 'N');
TRACE sigo mo ;
FINSI;
*
**** Deuxième méthode, on écrit soi meme le changement de base
*
xel = COOR 1 sigo ;
yel = COOR 2 sigo ;
rayel = ((xel * xel) + (yel * yel))** 0.5 ;
cosel = xel * (rayel ** -1) ;
sinel = yel * (rayel ** -1) ;
** on veut la direction perpendiculaire au rayon. On fait donc pivoter
** de Pi/2. ;
cosbase = sinel ;
sinbase = -1. * cosel ;
*
*** on controle la direction pour voir si on n'a pas fait de bétises
**basevec = (EXCO 'SCAL' cosbase 'VX') ET (EXCO 'SCAL' sinbase 'VY') ;
**
**vc = VECT (CHAN CHPO basevec mo) 'VX' 'VY' 1.D-4 vert ;
*
cos2 = cosbase * cosbase ;
sin2 = sinbase * sinbase ;
cosin = cosbase * sinbase ;
sigx = EXCO SMXX sig 'SCAL' ;
sigy = EXCO SMYY sig 'SCAL' ;
sigxy = EXCO 'SMXY' sig 'SCAL' ;
*
*
sig11 = (cos2 * sigx) + (2. * cosin * sigxy) + (sin2 * sigy) ;
sig11 = EXCO SCAL sig11 'SI11' ;
*
sig12 = (cosin * ( sigy- sigx )) + ((cos2 - sin2) * sigxy) ;
sig12 = EXCO SCAL sig12 'SI12' ;
*
sig22 = (cos2 * sigy) - (2. * cosin * sigxy) + (sin2 * sigx) ;
sig22 = EXCO SCAL sig22 'SI22' ;
*
sibase = sig11 ET sig22 ET sig12 ;
*
SI(NEG GRAPH 'N');
TRACE sibase mo;
FINSI;
*
MAR1 = (MAXI (EXCO SMXX sigo)) ;
MAM1 = (MAXI (EXCO SI11 sibase)) ;
MESS 'Max Sig1 avec Rtens' MAR1 ;
MESS ' à la main' MAM1 ;
MIR1 = (MINI (EXCO SMXX sigo)) ;
MIM1 = (MINI (EXCO SI11 sibase)) ;
MESS 'Mini Sig1 avec Rtens' MIR1 ;
MESS ' à la main' MIM1 ;
MESS ' ' ;
MAR2 = (MAXI (EXCO SMYY sigo)) ;
MAM2 = (MAXI (EXCO SI22 sibase)) ;
MESS 'Max Sig2 avec Rtens' MAR2 ;
MESS ' à la main' MAM2 ;
MIR2 = (MINI (EXCO SMYY sigo)) ;
MIM2 = (MINI (EXCO SI22 sibase)) ;
MESS 'Mini Sig2 avec Rtens' MIR2 ;
MESS ' à la main' MIM2 ;
MESS ' ' ;
MAR3 = (MAXI (EXCO SMXY sigo)) ;
MAM3 = (MAXI (EXCO SI12 sibase)) ;
MESS 'Max Sig12 avec Rtens' MAR3 ;
MESS ' à la main' MAM3 ;
MIR3 = (MINI (EXCO SMXY sigo)) ;
MIM3 = (MINI (EXCO SI12 sibase)) ;
MESS 'Mini Sig12 avec Rtens' MIR3 ;
MESS ' à la main' MIM3 ;
TEMPS ;
* CODE FONCTIONNEMENT
DIFMA = (ABS ( MAR1 - MAM1 ))
+ (ABS ( MAR2 - MAM2 )) + (ABS ( MAR3 - MAM3 )) ;
DIFMI = (ABS ( MIR1 - MIM1 ))
+ (ABS ( MIR2 - MIM2 )) + (ABS ( MIR3 - MIM3 )) ;
SOM = DIFMA + DIFMI ;
SI(SOM <EG 5E-5);
MESS ' RESULTATS CORRECTS DIFF = ' SOM;
SINON;
ERRE 5;
FINSI;
FIN;
© Cast3M 2003 - All rights reserved.
Disclaimer