* fichier : rotor4.dgibi ************************************************************************ * Section : Mecanique Dynamique ************************************************************************ * ************************************************************************ * * * Mots-clés : Vibrations, calcul modal, machines tournantes, * * poutre, modes complexes * * * * * * Test de GYROSCOPIQUE, AMOR, CAMPBELL pour les elements de poutre * * Etude d'une machine tournante dans le repere inertiel (ou fixe) * * Elements: TUYAU et SECTION (fibre) * * POUT, TIMO en exemple * * * * 1-Influence des déformations de cisaillement * * 2-Etude de la stabilité avec un amortissement corotatif * * * * Modélisation d'un tube * * * * Auteur: Didier Combescure Juillet 2003 * * * ************************************************************************ *GRAPH = 'Y'; GRAPH = 'N'; * *L1 = 0.50 ; L1 = 1.20; Re1 = 0.1 ; epa1 = 0.0012; E1 = 2.e+11 ; Nu1 = 0.2 ; Rho1 = 1600. ; Visc1 = 0.00001*E1; *Visc1 = 0.0*E1; * * Description de la section * OPTI 'DIME' 2 'ELEM' QUA4; P0S = 0. 0.; P1S = (Re1 - (0.5*epa1)) 0.; P2S = (Re1 + (0.5*epa1)) 0.; * P12S = D 1 P1S P2S; SURS = P12S ROTA 50 360. P0S; ELIM 0.0001 SURS; * OPTI 'DIME' 3 'ELEM' SEG2; * * P0 = 0. 0. 0.; P1 = L1 0. 0. ; GeoRot = D 100 P0 P1; * * OMEG=1 * On donne une vitesse de rotation de 1 rad/s * * MODELE SECTION * kappa = 0.52; *kappa = 1.0; *kappB = 1.00; * MOSEC1 = MODE SURS MECANIQUE ELASTIQUE QUAS; MASEC1 = MATE MOSEC1 'YOUNG' E1 'NU' Nu1 'RHO' Rho1 ALPY kappa ALPZ kappa 'VISQ' Visc1; * * * Elément TIMO - FIBRE * Mod1 = MODE GEOROT 'MECANIQUE' ELASTIQUE SECTION TIMO; Mat1 = MATE Mod1 'MODS' MOSEC1 'MATS' MASEC1 'OMEG' (2.*pi) VECT (0. 0. 1.) ; * * * Elément TUYAU * * Mod2 = MODE GEOROT 'MECANIQUE' TUYA; Mat2 = MATE Mod2 'YOUNG' E1 'NU' Nu1 'RHO' Rho1 'RAYO' Re1 'EPAI' EPA1 'OMEG' (2.*pi) 'VISQ' Visc1; * * Elément POUT * * Mod3 = MODE GEOROT 'MECANIQUE' POUT; Mat3 = MATE Mod3 'YOUNG' E1 'NU' Nu1 'RHO' Rho1 'SECT' (pi * ((Re1 ** 2)-((Re1 - epa1)**2)) ) 'INRY' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/4.) 'INRZ' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/4.) 'TORS' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/2.) 'OMEG' (2.*pi) 'VISQ' Visc1; * * * Timoshenko * Mod4 = MODE GEOROT 'MECANIQUE' TIMO; Car4 = CARA Mod4 'SECT' (pi * ((Re1 ** 2)-((Re1 - epa1)**2)) ) 'INRY' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/4.) 'INRZ' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/4.) 'TORS' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/2.) 'SECY' (kappa*(pi * ((Re1 ** 2)-((Re1 - epa1)**2))) ) 'SECZ' (kappa*(pi * ((Re1 ** 2)-((Re1 - epa1)**2))) ) 'OMEG' (2.*pi); * * Mat4 = MATE Mod4 'YOUNG' E1 'NU' Nu1 'RHO' Rho1 'VISQ' Visc1; Mat4 = Mat4 et Car4; * MESH3D = POUT2MAS Mod1 Mat1 'GAUSS'; SI (EGA GRAPH 'Y'); OEIL = 10. 10. 10.; ELIM 0.0001 MESH3D; Titre 'Maillage poutre avec section fibre'; trac OEIL MESH3D CACH; trac OEIL (MESH3D et GeoRot); FINSI; * * * Cond. limites : 2 appuis * * Blo2 = (BLOQ 'UZ' P0) ET (BLOQ 'UY' P0) ET (BLOQ 'UX' P0); Blo3 = (BLOQ 'UZ' P1) ET (BLOQ 'UY' P1) ET (BLOQ 'UX' P1); Blo1 = BLOQ 'RX' Georot; * MMass1 = MASS Mod1 (Mat1) ; MRigi1 = RIGI Mod1 (Mat1) ; * MMass2 = MASS Mod2 (Mat2) ; MRigi2 = RIGI Mod2 (Mat2) ; * MMass3 = MASS Mod3 (Mat3) ; MRigi3 = RIGI Mod3 (Mat3) ; * MMass4 = MASS Mod4 (Mat4) ; MRigi4 = RIGI Mod4 (Mat4) ; * * Matrice de couplage gyroscopique * CG1 = GYROSCOPIQUE Mod1 Mat1; CG2 = GYROSCOPIQUE Mod2 Mat2; CG3 = GYROSCOPIQUE Mod3 Mat3; CG4 = GYROSCOPIQUE Mod4 Mat4; * CDAM1 CDAH1 = 'AMOR' Mod1 Mat1 'COROTATIF'; CDAM2 CDAH2 = 'AMOR' Mod2 Mat2 'COROTATIF'; CDAM3 CDAH3 = 'AMOR' Mod3 Mat3 'COROTATIF'; CDAM4 CDAH4 = 'AMOR' Mod4 Mat4 'COROTATIF'; * TBasR1 = VIBR 'PROCHE' (prog 100.) (lect 2) (MRigi1 ET Blo1 ET Blo2 et Blo3) MMass1 ; TBasR2 = VIBR 'PROCHE' (prog 100.) (lect 2) (MRigi2 ET Blo1 ET Blo2 et Blo3) MMass2 ; TBasR3 = VIBR 'PROCHE' (prog 100.) (lect 2) (MRigi3 ET Blo1 ET Blo2 et Blo3) MMass3 ; TBasR4 = VIBR 'PROCHE' (prog 100.) (lect 2) (MRigi4 ET Blo1 ET Blo2 et Blo3) MMass4 ; * TMod1 = TBasR1 . 'MODES' ; TMod2 = TBasR2 . 'MODES' ; TMod3 = TBasR3 . 'MODES' ; TMod4 = TBasR4 . 'MODES' ; NbMod3 = (DIME TMod3) - 2 ; TInd3 = INDEX (TMod3 . 1) ; * SI (EGA GRAPH 'Y'); oeil = 100. 1. 0. ; REPETER bbb1 NbMod3 ; i = &bbb1 ; Frq1 = TMod1 . i . 'FREQUENCE' ; Def1 = TMod1 . i . 'DEFORMEE_MODALE' ; Frq2 = TMod2 . i . 'FREQUENCE' ; Def2 = TMod2 . i . 'DEFORMEE_MODALE' ; Frq3 = TMod3 . i . 'FREQUENCE' ; Def3 = TMod3 . i . 'DEFORMEE_MODALE' ; Frq4 = TMod4 . i . 'FREQUENCE' ; Def4 = TMod4 . i . 'DEFORMEE_MODALE' ; TITRE Frq1 ; trac oeil (defo georot def1); TITRE Frq2 ; trac oeil (defo georot def2); TITRE Frq3 ; trac oeil (defo georot def3); TITRE Frq4 ; trac oeil (defo georot def4); FIN bbb1 ; FINSI; * * On teste pour le modele a fibre * MAmor1 = CDAM1; MAmor2 = CDAM2; MAmor3 = CDAM3; MAmor4 = CDAM4; * *-Projection des matrices assemblées sur la base réelle * MMasP1 = PJBA TBasR1 MMass1 ; MRigP1 = PJBA TBasR1 MRigi1 ; MAmoP1 = PJBA TBasR1 MAmor1 ; MAmHP1 = PJBA TBasR1 CDAH1; Cg1P = PJBA TBasR1 Cg1 ; * MMasP2 = PJBA TBasR2 MMass2 ; MRigP2 = PJBA TBasR2 MRigi2 ; MAmoP2 = PJBA TBasR2 MAmor2 ; MAmHP2 = PJBA TBasR2 CDAH2; Cg2P = PJBA TBasR2 Cg2 ; * MMasP3 = PJBA TBasR3 MMass3 ; MRigP3 = PJBA TBasR3 MRigi3 ; MAmoP3 = PJBA TBasR3 MAmor3 ; MAmHP3 = PJBA TBasR3 CDAH3; Cg3P = PJBA TBasR3 Cg3 ; * MMasP4 = PJBA TBasR4 MMass4 ; MRigP4 = PJBA TBasR4 MRigi4 ; MAmoP4 = PJBA TBasR4 MAmor4 ; MAmHP4 = PJBA TBasR4 CDAH4; Cg4P = PJBA TBasR4 Cg4 ; * * Vitesse de rotation (0 Hz) * Omeg1 =0.; * * Calcul des modes complexes avec VIBC - Bernoulli * BasCi1 = VIBC MMasP4 (MRigP4 et (Omeg1*MAmHP4)) (MAmoP4 et (Omeg1*Cg4P)) TBasR4 ; * ModBasC = BasCi1.'MODES'; NbMod1 = (DIME ModBasC) - 2; * FRQR = TABLE; FRQI = TABLE; FRQ = TABLE; AMOR= TABLE; * mess 'Frequences et amortissement au repos'; * REPETER bbb2 NbMod1 ; i2 = &bbb2 ; FrqR1 = BasCi1.'MODES'.i2.'FREQUENCE_REELLE' ; FrqI1 = BasCi1.'MODES'.i2.'FREQUENCE_IMAGINAIRE' ; DefR1 = BasCi1.'MODES'.i2.'DEFORMEE_MODALE_REELLE'; DefI1 = BasCi1.'MODES'.i2.'DEFORMEE_MODALE_IMAGINAIRE'; FRQR.i2 = FrqR1; FRQI.i2 = FrqI1; FRQ.i2 = ((FrqR1 ** 2) + (FrqI1 ** 2)) ** 0.5 ; AMOR.i2 = FrqI1 /(FRQ.i2 ); mess 'Valeur propre réelle'; list (FrqR.i2); mess 'Valeur propre imaginaire'; list (FrqI.i2); mess 'Fréquence'; list (FRQ.i2); mess 'Amortissement'; list (AMOR.i2); FIN bbb2; * * * Vitesse de rotation (1000 Hz) * Omeg1 =1000.; * * Calcul des modes complexes avec VIBC - Timoshenko * BasCi1 = VIBC MMasP4 (MRigP4 et (Omeg1*MAmHP4)) (MAmoP4 et (Omeg1*Cg4P)) TBasR4; * ModBasC = BasCi1.'MODES'; NbMod1 = (DIME ModBasC) - 2; * FRQR = TABLE; FRQI = TABLE; FRQ = TABLE; AMOR= TABLE; * mess 'Frequences et amortissement a 1000 Hz'; * REPETER bbb2 NbMod1 ; i2 = &bbb2 ; FrqR1 = BasCi1.'MODES'.i2.'FREQUENCE_REELLE' ; FrqI1 = BasCi1.'MODES'.i2.'FREQUENCE_IMAGINAIRE' ; DefR1 = BasCi1.'MODES'.i2.'DEFORMEE_MODALE_REELLE'; DefI1 = BasCi1.'MODES'.i2.'DEFORMEE_MODALE_IMAGINAIRE'; FRQR.i2 = FrqR1; FRQI.i2 = FrqI1; FRQ.i2 = ((FrqR1 ** 2) + (FrqI1 ** 2)) ** 0.5 ; AMOR.i2 = FrqI1 /(FRQ.i2); mess 'Valeur propre réelle'; list (FrqR.i2); mess 'Valeur propre imaginaire'; list (FrqI.i2); mess 'Fréquence'; list (FRQ.i2); mess 'Amortissement'; list (AMOR.i2); FIN bbb2; * * Calcul du diagramme de Campbell - Bernoulli * TAB1 = TABLE; TAB1.'BASE_MODALE' = TBasR3; TAB1.'MASS_PROJ' = MMasP3; TAB1.'RIGI_PROJ' = MRigP3; TAB1.'GYRO_PROJ' = Cg3P; TAB1.'AMOR_PROJ' = MAmoP3; TAB1.'KROT_PROJ' = MAmHP3; TAB1.'AFFICHAGE' = VRAI; *PRFREQ = (prog 0. pas 2.5 100.)*100/(2.*pi); PRFREQ = (prog 0. pas 25 100.)*100/(2.*pi); CAMPBELL TAB1 PRFREQ; * EVFRb1 = (TAB1. 1). 'FREQUENCE_MODULE' ; EVFRb2 = (TAB1. 4). 'FREQUENCE_MODULE' ; EVAMb1 = (TAB1. 1). 'AMORTISSEMENT' ; EVAMb2 = (TAB1. 4). 'AMORTISSEMENT' ; * SI (EGA GRAPH 'Y'); dess (EVFRb1 et EVFRb2 ); dess (EVAMb1 et EVAMb2); FINSI; * * Calcul du diagramme de Campbell - Timoshenko * TAB1 = TABLE; TAB1.'BASE_MODALE' = TBasR4 ; TAB1.'MASS_PROJ' = MMasP4; TAB1.'RIGI_PROJ' = MRigP4; TAB1.'GYRO_PROJ' = Cg4P; TAB1.'AMOR_PROJ' = MAmoP4; TAB1.'KROT_PROJ' = MAmHP4; TAB1.'AFFICHAGE' = VRAI; *PRFREQ = (prog 0. pas 2.5 100.)*100/(2.*pi); PRFREQ = (prog 0. pas 25. 100.)*100/(2.*pi); CAMPBELL TAB1 PRFREQ; * EVFRT1 = ((TAB1. 1). 'FREQUENCE_MODULE') COUL rouge ; EVFRT2 = ((TAB1. 4). 'FREQUENCE_MODULE') COUL rouge ; EVAMT1 = ((TAB1. 1). 'AMORTISSEMENT') COUL rouge ; EVAMT2 = ((TAB1. 4). 'AMORTISSEMENT') COUL rouge ; * EvFreOme = evol manu (prog 0. 1600.) (prog 0. (1600.)); EvFreZer = evol manu (prog 0. 1600.) (prog 0. 0.); * SI (EGA GRAPH 'Y'); 'DESS' (EVFRT1 et EVFRT2 et EvFreOme) 'TITR' 'Frequences' 'TITX' 'Freq rot (Tour/s)' 'TITY' 'Frequences (Hz)'; 'DESS' (EVFRT1 et EVFRT2) 'TITR' 'Frequences' 'TITX' 'Freq rot (Tour/s)' 'TITY' 'Frequences (Hz)'; 'DESS' (EVAMT1 et EVAMT2 et EvFreZer) 'TITR' 'Amortissement' 'TITX' 'Freq rot (Tour/s)' 'TITY' 'Amortissement (%)'; * dess (EVFRT1 et EVFRT2 et EVFRB1 et EVFRB2 et EvFreOme); dess (EVAMT1 et EVAMT2 et EVAMB1 et EVAMB2); * finsi; * mess 'Frequences à 0 Hz et 1000 Hz'; mess 'Poutre de Bernoulli'; FR1b = extr (IPOL (prog 0.01 1000.) (extr EVFRB1 absc) (extr EVFRB2 ordo)) 1; AM1b = extr (IPOL (prog 0.01 1000.) (extr EVAMB1 absc) (extr EVAMB1 ordo)) 1; FR2b = extr (IPOL (prog 0.01 1000.) (extr EVFRB1 absc) (extr EVFRB2 ordo)) 2; AM2b = extr (IPOL (prog 0.01 1000.) (extr EVAMB1 absc) (extr EVAMB1 ordo)) 2; mess 'Poutre de Timoshenko'; FR1T = extr (IPOL (prog 0.01 1000.) (extr EVFRT1 absc) (extr EVFRT2 ordo)) 1; AM1T = extr (IPOL (prog 0.01 1000.) (extr EVAMT1 absc) (extr EVAMT1 ordo)) 1; FR2T = extr (IPOL (prog 0.01 1000.) (extr EVFRT1 absc) (extr EVFRT2 ordo)) 2; AM2T = extr (IPOL (prog 0.01 1000.) (extr EVAMT1 absc) (extr EVAMT1 ordo)) 2; * * On norme * EVFRb1N = EVOL MANU (extr EVFRb1 absc) ((extr EVFRb1 ordo)/FR1b ); EVFRb2N = EVOL MANU (extr EVFRb1 absc) ((extr EVFRb2 ordo)/FR1b ); EVFRT1N = EVOL MANU (extr EVFRT1 absc) ((extr EVFRT1 ordo)/FR1T ); EVFRT2N = EVOL MANU (extr EVFRT1 absc) ((extr EVFRT2 ordo)/FR1T ); * SI (EGA GRAPH 'Y'); TA= table; ta.1 = 'TIRR'; ta.2 = 'TIRR'; titre 'Diagramme de Campbell (Frequence = f(Fréquence rotation en Hz)'; DESS (EVFRb1 et EVFRb2 et EVFRT1 et EVFRT2) ta ybord 0. 4000.; DESS (EVFRb1 et EVFRb2 et EVFRT1 et EVFRT2) ta ; titre 'Diagramme de Campbell (F/F0 = f(Fréquence rotation en Hz)'; DESS (EVFRb1N et EVFRb2N et EVFRT1N et EVFRT2N) ta ybord 0. 2.; DESS (EVFRb1N et EVFRb2N et EVFRT1N et EVFRT2N) ta; FINSI; * * FR1Th = 787.3; FR2Th = 812.7; AM1Th = 2.48E-02; AM2Th = -0.559E-02; Errfrq = 0.01*FR1Th; Erramo = 0.01*AM1Th; * SI ((ABS(FR1T - FR1Th) > Errfrq ) OU (ABS(FR2T - FR2Th) > Errfrq ) OU (ABS(AM1T - AM1Th) > Erramo ) OU (ABS(AM2T - AM2Th) > Erramo )); ERRE 5; SINON; ERRE 0; FINSI; * FIN; *