* fichier : rotor3.dgibi
******************************************************************
*
*
* Test de GYROSCOPIQUE, CAMPBELL et BALOURD
* pour les elements de poutre
* Etude d'une machine tournante
* dans le repere inertiel (ou fixe)
* Elements: POUT
*
*
*
* 3 Volants d'inertie sur 2 appuis anisotropes
*
* Exemple Lalanne P.68
*
* Didier Combescure Juillet 2003
*
******************************************************************
*
*GRAPH = 'Y';
GRAPH = 'N';
*
* Caractéristiques de l'arbre et du volant d'inertie
*
Ltot = 0.40 ;
L1 = 0.2;
L2 = 0.3 + L1;
L3 = 0.5 + L2;
L4 = 0.3 + L3;
*
ReRot = 0.05 ;
Re1 = 0.12 ;
Re2 = 0.20 ;
Re3 = 0.20 ;
h1 = 0.05;
h2 = 0.05;
h3 = 0.06;
*
E1 = 2.e+11 ;
Nu1 = 0.3 ;
Rho1 = 7800. ;
*
Sarbre = pi*(ReRot**2);
Inxarb = pi*(ReRot**4)/2.;
Inyarb = pi*(ReRot**4)/4.;
*
Svol1 = pi*(Re1**2);
Inxvol1 = pi*(Re1**4)/2.;
Inyvol1 = pi*(Re1**4)/4.;
*
Svol2 = pi*(Re2**2);
Inxvol2 = pi*(Re2**4)/2.;
Inyvol2 = pi*(Re2**4)/4.;
*
Svol3 = pi*(Re3**2);
Inxvol3 = pi*(Re3**4)/2.;
Inyvol3 = pi*(Re3**4)/4.;
*
* Raideur et amortissement des supports
*
Ky = 70000000.;
Kz = 50000000.;
Cy = 700.;
Cz = 500.;
*
* Maillage de poutre
*
OPTI 'DIME' 3 'ELEM' SEG2;
*
P0 = 0. 0. 0.;
P1volm = (L1 - (0.5*h1)) 0. 0. ;
P1 = (L1) 0. 0. ;
P1volp = (L1 + (0.5*h1)) 0. 0. ;
P1 = L1 0. 0. ;
P2volm = (L2 - (0.5*h2)) 0. 0. ;
P2 = L2 0. 0. ;
P2volp = (L2 + (0.5*h2)) 0. 0. ;
P3volm = (L3 - (0.5*h3)) 0. 0. ;
P3 = L3 0. 0. ;
P3volp = (L3 + (0.5*h3)) 0. 0. ;
P4 = L4 0. 0. ;
*
GeoArbre = (D 5 P0 P1volm) et (D 5 P1volp P2volm) et (D 5 P2volp P3volm)
et (D 5 P3volp P4);
GeoVol1 = (D 1 P1volm P1) et (D 1 P1 P1volp);
GeoVol2 = (D 1 P2volm P2) et (D 1 P2 P2volp);
GeoVol3 = (D 1 P3volm P3) et (D 1 P3 P3volp);
*
Geotot = GeoArbre et GeoVol1 et GeoVol2 et GeoVol3;
*
* Elément POUT
*
Mod1a = MODL GeoArbre 'MECANIQUE' POUT;
Mat1a = MATE Mod1a 'YOUNG' E1 'NU' Nu1 'RHO' Rho1
'SECT' Sarbre 'INRY' Inyarb 'INRZ' Inyarb 'TORS' Inxarb
'OMEG' 1.;
Mod1b = MODL GeoVol1 'MECANIQUE' POUT;
Mat1b = MATE Mod1b 'YOUNG' E1 'NU' Nu1 'RHO' Rho1
'SECT' Svol1 'INRY' Inyvol1 'INRZ' Inyvol1
'TORS' Inxvol1 'OMEG' 1.;
Mod1c = MODL GeoVol2 'MECANIQUE' POUT;
Mat1c = MATE Mod1c 'YOUNG' E1 'NU' Nu1 'RHO' Rho1
'SECT' Svol2 'INRY' Inyvol2 'INRZ' Inyvol2
'TORS' Inxvol2 'OMEG' 1.;
Mod1d = MODL GeoVol3 'MECANIQUE' POUT;
Mat1d = MATE Mod1d 'YOUNG' E1 'NU' Nu1 'RHO' Rho1
'SECT' Svol3 'INRY' Inyvol3 'INRZ' Inyvol3
'TORS' Inxvol3 'OMEG' 1.;
*
mod1 = mod1a et mod1b et mod1c et mod1d;
mat1 = mat1a et mat1b et mat1c et mat1d;
*
* Visualisation avec POUT2MAS
*
TAB1 =TABLE;
TAB1.'POUTRE' = table;
(TAB1.'POUTRE').'CIRCULAIRE' = VRAI ;
(TAB1.'POUTRE').'NCIRC' = 40 ;
*
SI (EGA GRAPH 'Y');
MESHVOL = POUT2MAS mod1 mat1 GAUSS TAB1;
trac MESHVOL cach;
MESHVOL = POUT2MAS mod1 mat1 MASSIF TAB1;
elim 0.0001 (MESHVOL);
trac MESHVOL cach;
FINSI;
*
* Cond. limites : 2 appuis
*
Blo1 = (BLOQ 'RX' Geotot) et (BLOQ 'UX' Geotot);
*
Kxp= (APPUI UY KY p0) et (APPUI UY KY p4);
Kyp= (APPUI UZ KZ p0) et (APPUI UZ KZ p4);
Cxp= (APPUI UY CY p0) et (APPUI UY CY p4);
Cyp= (APPUI UZ CZ p0) et (APPUI UZ CZ p4);
*
Kappui = Kxp et Kyp;
Cappui = Cxp et Cyp;
*
MMass1 = MASS Mod1 (Mat1) ;
MRigi1 = RIGI Mod1 (Mat1) ;
*
* Matrice de couplage gyroscopique
*
CG1 = GYROSCOPIQUE Mod1 Mat1;
*
* Calcul des modes propres réels
*
TBasR1 = VIBR 'PROCHE' (prog 100.) (lect 12)
(MRigi1 ET Blo1 et Kappui)
MMass1 'TBAS' ;
*
TMod1 = TBasR1 . 'MODES' ;
NbMod1 = (DIME TMod1) - 2 ;
TInd1 = INDEX (TMod1 . 1) ;
*
SI (EGA GRAPH 'Y');
oeil = 1. 10. 0. ;
REPETER bbb1 NbMod1 ;
i = &bbb1 ;
Frq1 = TMod1 . i . 'FREQUENCE' ;
Def1 = TMod1 . i . 'DEFORMEE_MODALE' ;
MESS 'Mode ' i ':' Frq1 'Hz' ;
TITRE Frq1 ;
trac oeil ((defo geotot def1) et (defo geotot def1 0.));
FIN bbb1 ;
*
TAB1 =TABLE;
TAB1.'POUTRE' = table;
(TAB1.'POUTRE').'CIRCULAIRE' = VRAI ;
(TAB1.'POUTRE').'NCIRC' = 40 ;
TAB1.'DEPLACEMENTS' = TABLE;
(TAB1.'DEPLACEMENTS'). 1 = (TMod1 . 4) . 'DEFORMEE_MODALE' ;
*
MESHVOL = POUT2MAS mod1 mat1 GAUSS TAB1;
trac (defo MESHVOL ((TAB1.'DEPLACEMENTS'). 1)) cach;
FINSI;
*
*-Projection des matrices assemblées sur la base réelle
*
MMasP1 = PJBA TBasR1 MMass1 ;
MRigP1 = PJBA TBasR1 MRigi1 ;
Cg1P = PJBA TBasR1 Cg1 ;
KApp1p = PJBA TBasR1 (Kappui et Blo1);
CApp1p = PJBA TBasR1 Cappui;
*
* Calcul des fréquences à 25000 tours/min
*
Omega1 = 25000.*2.*pi/60.;
BasCiB = VIBC MMasP1 (MRigP1 et KApp1p)
((Omega1*Cg1P) et CApp1p) TBasR1 ;
Repeter Lab0 (2*NbMod1);
i2 = &lab0;
si (i2 ega 1);
F25Reel = PROG (BasCiB.'MODES'. i2 . 'FREQUENCE_REELLE');
F25Imag = PROG (BasCiB.'MODES'. i2 . 'FREQUENCE_IMAGINAIRE');
F25Modul = PROG
((((BasCiB.'MODES'. i2 . 'FREQUENCE_REELLE')**2) +
((BasCiB.'MODES'. i2 . 'FREQUENCE_IMAGINAIRE')**2))**0.5);
Am25Val = PROG ((extr F25Imag 1)/(extr F25Modul 1));
sinon;
F25Reel = F25Reel et
(prog (BasCiB.'MODES'. i2 . 'FREQUENCE_REELLE'));
F25Imag = F25Imag et
(prog (BasCiB.'MODES'. i2 . 'FREQUENCE_IMAGINAIRE'));
F25Modul = F25Modul et (PROG
((((BasCiB.'MODES'. i2 . 'FREQUENCE_REELLE')**2) +
((BasCiB.'MODES'. i2 . 'FREQUENCE_IMAGINAIRE')**2))**0.5));
Am25Val = Am25Val et
(PROG ((extr F25Imag i2)/(extr F25Modul i2)));
finsi;
FIN lab0;
*
F25Reel = ORDONNER CROISSANT F25Reel;
F25Imag = ORDONNER CROISSANT F25Imag;
F25Modul = ORDONNER CROISSANT F25Modul;
Am25Val = ORDONNER CROISSANT Am25Val;
*-------------------------------------------------------*
*
* Calcul du diagramme de Campbell - Modèle 1 (POUTRE)
*
*-------------------------------------------------------*
TAB1 = TABLE;
TAB1.'BASE_MODALE' = TBasR1 ;
TAB1.'MASS_PROJ' = MMasP1;
TAB1.'RIGI_PROJ' = MRigP1 et KApp1p;
TAB1.'AMOR_PROJ' = CApp1p;
TAB1.'GYRO_PROJ' = Cg1P;
TAB1.'AFFICHAGE' = VRAI;
PRFREQ = ((35000./60.)*0.2*pi)*(prog 0. pas 10. 100.);
CAMPBELL TAB1 PRFREQ;
*
FacUnite = (60./(2.*pi));
*
TMod1 = (TAB1.'BASE_MODALE') . 'MODES' ;
NbModR = (DIME ((TAB1.'BASE_MODALE').'MODES')) - 2 ;
NbModC = 2*NbModR;
repeter lab1 NbModC;
i1= &lab1;
si (i1 ega 1);
EVTOT = EVOL MANU (FacUnite*PRFREQ )
((EXTR ((TAB1. i1). 'FREQUENCE_REELLE') ORDO)) ;
EVAMOT = EVOL MANU (FacUnite*PRFREQ )
((EXTR ((TAB1. i1). 'AMORTISSEMENT') ORDO)) ;
sinon;
EVTOT = EVTOT et
(EVOL MANU (FacUnite*PRFREQ )
((EXTR ((TAB1. i1). 'FREQUENCE_REELLE') ORDO)) );
EVAMOT = EVAMOT et
(EVOL MANU (FacUnite*PRFREQ )
((EXTR ((TAB1. i1). 'AMORTISSEMENT') ORDO)) );
finsi;
FIN lab1;
*
SI (EGA GRAPH 'Y');
Titre 'Diagramme de Campbell';
dess (evtot et
(evol rouge manu (prog 0. 35000.) ((prog 0. 35000.)/60.))
et (evol rouge manu (prog 0. 35000.) ((prog 0. 35000.)/120.)) )
xbord 0. 35000. ybord 0. 1200. ;
dess (EVAMOT) xbord 0. 35000.;
FINSI;
*---------------------------*
*
* Réponse à un balourd
*
*----------------------------*
md = 0.0002;
FbalReel = FORCE ( 0. (md) 0. ) P2;
FbalImag = FORCE ( 0. 0. ((-1.)*md) ) P2;
promeg = prog ((100./60.)*2.*pi) pas ((100./60.)*2.*pi)
((3200./60.)*2.*pi) pas ((2./60.)*2.*pi) ((4200./60.)*2.*pi)
pas ((100./60.)*2.*pi) ((35000./60.).*2.*pi);
*
TAB1 = TABLE;
TAB1.'BASE_MODALE' = TBasR1 ;
TAB1.'MASS_PROJ' = MMasP1;
TAB1.'RIGI_PROJ' = MRigP1 et KApp1p;
TAB1.'GYRO_PROJ' = Cg1P;
TAB1.'AMOR_PROJ' = CApp1p;
TAB1.'AFFICHAGE' = VRAI;
TAB1.'FBALOURD' = FbalReel;
*TAB1.'FBALREEL' = FbalReel;
*TAB1.'FBALIMAG' = FbalImag;
TAB1.'SAUVDEFO' = FAUX;
TAB1.'REPONSE' = TABLE;
(TAB1.'REPONSE'). 1 = TABLE;
((TAB1.'REPONSE'). 1 ). 'POINT' = P2;
BALOURD TAB1 promeg;
*
EvUYbal = EVOL MANU (60.*promeg/(2.*pi))
(extr (((TAB1.'REPONSE'). 1) . 'UY' ) ordo);
EvUZbal = EVOL MANU (60.*promeg/(2.*pi))
(extr (((TAB1.'REPONSE'). 1) . 'UZ' ) ordo);
EvGabal = EVOL MANU (60.*promeg/(2.*pi))
(extr (((TAB1.'REPONSE'). 1) . 'GAXE') ordo);
EvPabal = EVOL rouge MANU (60.*promeg/(2.*pi))
(extr (((TAB1.'REPONSE'). 1) . 'PAXE') ordo);
EvAngEl = EVOL MANU (60.*promeg/(2.*pi))
(extr (((TAB1.'REPONSE'). 1) . 'ANGLEGAXE') ordo);
*
SI (EGA GRAPH 'Y');
TITRE 'Amplitude suivant le grand axe';
DESS EvGabal LOGY xbord 0. 35000. ybord 1.E-7 1.E-1;
TITRE 'Amplitude suivant le grand et le petit axe';
DESS (EvGabal et EvPabal) LOGY xbord 0. 35000. ybord 1.E-7 1.E-1;
TITRE 'Amplitude suivant le grand axe - 1ere fréquence critique';
dess EvGabal LOGY xbord 0. 7000. ybord 1.E-7 1.E-1;
'DESS' (EvUYbal) LOGY xbord 0. 7000. ybord 1.E-7 1.E-1;
'DESS' (EvUZbal) LOGY xbord 0. 7000. ybord 1.E-7 1.E-1;
FINSI;
*
AmpBal=extr (ipol (prog 30000.) (extr EvGabal absc)
(extr EvGabal ordo)) 1;
AmpBaTh = 1.6736D-5;
SI (ABS((AmpBal - AmpBaTh)/AmpBaTh) < 5.D-2);
ERRE 0;
SINON;
ERRE 5;
FINSI;
*
FIN;
*
© Cast3M 2003 - All rights reserved.
Disclaimer