* fichier : rotor5.dgibi ************************************************************************ ************************************************************************ * ****************************************************************** * * * Mots-cl�s : Vibrations, calcul modal, machines tournantes, * * poutre, condensation statique, dynamique * * reconstruction 3D, modes complexes * * * * Etude d'une machine tournante dans le repere inertiel (fixe) * * Elements: POUT et volant d inertie * * * * Etude d'un arbre lors d'une rupture d'aube * * * * 1- Calcul des inerties et des forces de balourd a l aide * * d un modele 3D massif * * 2- Etude de la reponse a une rupture accidentelle d'aube * * * * Auteur: Didier Combescure Juillet 2003 * * Modif : Benoit Prabel, 06/2014 ajout test DSPR et TFR * * * ****************************************************************** *COMPLET = VRAI; COMPLET = FAUX; *GRAPH = VRAI; opti trac PSC EPTR 6 POTR HELVETICA_16; GRAPH = FAUX; FLAVS = faux; FLVTK = faux; * ****************************************************************** * * Mod�lisation (maillage, modeles, matrices ...) * ****************************************************************** * * Caract�ristique de l'arbre * L1 = 10.0; Re1 = 0.2 ; Re1S = 0.22 ; E1 = 2.e+11 ; Nu1 = 0.2 ; Rho1 = 7800. ; RhoFl = 1000.; *amortissement faible? Visc1 = E1/(10000.); *amortissement eleve? *Visc1 = E1/(100.); Sarbre = pi*(Re1**2); Inxarb = pi*(Re1**4)/2.; Inyarb = pi*(Re1**4)/4.; * P0 = 0. 0. 0.; P1 = (0.75*L1) 0. 0. ; P2 = L1 0. 0. ; * Pb0 = 0. 0. 0.; Pb2 = L1 0. 0.; GeoRot = (D 75 P0 P1) et (D 25 P1 P2); * * G�om�trie de la turbine * * Re2 = 1.0; Ep2 = 0.05; vh2 = Ep2 0. 0.; * * * * Lig2 = (CER3 4 PM1 PM2 PM3) ET (CER3 4 PM3 PM4 PM1); * Sur2 = SURF LIG2 'PLANE'; * Vol2 = (VOLU Sur2 TRAN (0.5*VH2)) et (VOLU Sur2 TRAN ((-0.5)*VH2)); * elim 0.00001 Vol2; * * PM11e = d 2 PM1 PM1e; VOL3 = Vol3a et Vol3b et Vol3c et Vol3d; VOL3Bal = Vol3a et Vol3b et Vol3c; * * Modele de l'arbre * Mod1 = MODELI GEOROT 'MECANIQUE' POUT; Mat1 = MATE Mod1 'YOUN' E1 'NU ' Nu1 'RHO ' Rho1 'SECT' Sarbre 'INRY' Inyarb 'INRZ' Inyarb * 'TORS' Inxarb 'OMEG' (1.0) 'VISQ' (Visc1); 'TORS' Inxarb 'VISQ' (Visc1); * SI (GRAPH); OEIL3d = 100. 100. 100.; Titre 'Maillage poutre'; trac OEIL3d MESH3D CACH; Titre 'Maillage poutre + volant'; oeilx = 100. 0. 0.; Titre 'Volant'; trac oeilx VOL3 cach; trac oeilx VOL3Bal cach; FINSI; * * Modele de la turbine * Mod2 = MODELI Vol3 'MECANIQUE' 'ELASTIQUE' ; * Mod2B = MODELI Vol3Bal 'MECANIQUE' 'ELASTIQUE' ; * * * * Matrice de masse * * * Condensation de la matrice de masse du volant d'inertie sur 1 point * * SupK2 = SUPER 'RIGIDITE' 'NOMU' MRigi2 P1; SupM2 = SUPER 'MASSE' SupK2 MMass2; * * * MMassT = MMass1 et SupM2; * 0. 0. (InyVol) 0. ((-1.)*InyVol) 0.); * * Matrice de couplage gyroscopique de l'arbre * CG1 = GYROSCOPIQUE Mod1 Mat1; CGTOT = CG1 et CG2; * * Matrice d'amortissement * * * * Calcul des forces de balourd (pour une vitesse de rotation de 1 tour/s) * * D�finition du champs d'acceleration centrifuge * * 'UZ' (0.); * * Calcul avec la matrice de raideur centrifuge * OmegRot = 1.0; Vrota = OmegRot 0. 0.; FCENT2 = KCE2*(XYZ - XYZ0); * * Calcul avec la matrice de masse * FCENT = (OmegRot**2)*MMass2*(XYZ - XYZ0); * SI (GRAPH); FINSI; * * Condensation des forces centrifuges pour le calcul du balourd * Fbalourd = SUPER 'CHARGE' SupK2 FCENT; FbalR = Fbalourd; mess 'FbalR'; list FbalR; RX 1. RY 0. RZ 0.; ****************************************************************** * * Calcul des modes propres * ****************************************************************** (MRigi1 ET Blo1 ET Blo2 et Blo3) MMassT ; * TMod1 = TBasR1 . 'MODES' ; TInd1 = INDEX (TMod1 . 1) ; * SI (GRAPH); REPETER bbb1 NbMod1 ; i = &bbb1 ; Frq1 = TMod1 . i . 'FREQUENCE' ; Def1 = TMod1 . i . 'DEFORMEE_MODALE' ; TITRE Frq1 ; FIN bbb1 ; FINSI; Frq1 = TMod1 . 1 . 'FREQUENCE' ; mess Frq1; * * MAmor1 = CDAM1; * *-Projection des matrices assembl�es sur la base r�elle * * MRigP1 = PJBA TBasR1 (MRigi1 ET Blo1 ET Blo2 et Blo3) ; * ****************************************************************** * * Calcul des modes complexes avec VIBC * ****************************************************************** * * Vitesse de rotation (10 Hz) * * Omeg1Hz = 0.; Omeg1Hz = 10.; Omeg1 =Omeg1Hz*2.*pi; * (MAmoP1 et (Omeg1*Cg1P)) TBasR1 ; * ModBasC = BasCi1.'MODES'; * FRQR = TABLE; FRQI = TABLE; FRQ = TABLE; * mess '__________________________________________________'; * 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 ; FIN bbb2; mess '__________________________________________________'; * ****************************************************************** * * Calcul du diagramme de Campbell * ****************************************************************** TAB1 = TABLE; TAB1.'BASE_MODALE' = TBasR1; TAB1.'MASS_PROJ' = MMasP1; TAB1.'RIGI_PROJ' = MRigP1; TAB1.'GYRO_PROJ' = 2.*pi*Cg1P; TAB1.'AMOR_PROJ' = MAmoP1; TAB1.'KROT_PROJ' = (2.*pi*MAmHP1); TAB1.'AFFICHAGE' = VRAI; CAMPBELL TAB1 PRFREQ; * * * SI (GRAPH); 'TITX' '\W (Tr/s)' POSX CENT 'TITY' 'f (Hz)' POSY CENT YBOR 0. 20. 'TITX' '\W (Tr/s)' POSX CENT 'TITY' '\z' POSY CENT finsi; mess wr50F wr50B ; ****************************************************************** * * Calcul de la reponse stationnaire au balourd * ****************************************************************** SI COMPLET; SINON; FINSI; * TAB2 = TABLE; TAB2.'BASE_MODALE' = TBasR1 ; TAB2.'MASS_PROJ' = MMasP1; TAB2.'RIGI_PROJ' = MRigP1; TAB2.'GYRO_PROJ' = Cg1P; TAB2.'AMOR_PROJ' = (MAmoP1); TAB2.'KROT_PROJ' = (MAmHP1); TAB2.'AFFICHAGE' = VRAI; TAB2.'FBALOURD' = Fbalourd; TAB2.'SAUVDEFO' = FAUX; TAB2.'REPONSE' = TABLE; TAB2.'REPONSE' . 1 = TABLE; TAB2.'REPONSE' . 1 . 'POINT' = P1; BALOURD TAB2 promeg; * * SI (EGA GRAPH 'Y'); GRIL 'POIN' GRIS TITY '|u|' LOGY POSY CENT TITX '\W (tr/s)' POSX CENT XBORD 0. 50.; FINSI; mess uybal5 uzbal5; ******************************************************* * * Calculs transitoires * ******************************************************* * vitesse de rotation en Hz fr1 = 5.0; Tperiod = 1./fr1; * nombre de periodes SI COMPLET; Nperiod = 20; SINON; Nperiod = 7; FINSI; ******************************************************* * * DYNAMIC * ******************************************************* dt = (1./(50.*fr1)); tdebut = (20.*dt); * tduree = Nperiod * 30. * dt; tduree = Nperiod * Tperiod - tdebut; * cahrgement de balourd ((prcos*prcren)*((2.*pi*fr1)**2)); ( (((-1.)*prsin*prcren)*((2.*pi*fr1)**2))); * Chabal = Chabal1 et Chabal2; * LIS1 = prtimef; TAB3in = TABLE ; et (0.*CDAH1*2.*pi*fr1); TAB3in.'FREQ' = (1./dt); TAB3in.'INST' = LIS1 ; * I = 0 ; REPE BB1 NTT ; I = I + 1 ; Time = Time ET T_I; * sortie paraview si (FLAVS); mess ficsort; fins; * sortie paraview si (FLVTK); mess ficsort; fins; FIN BB1; * opti donn 5; * * SI (GRAPH); TITY 'U' POSY CENT TITX '\W (tr/s)' POSX CENT 'TITR' tit1 tdess1 LEGE NO; DESS EvUYUZ1 TITY 'UZ' POSY CENT TITX 'UY' POSX CENT 'CARRE' 'TITR' tit1 ; FINSI; *** calcul de la DSP *** *... via l'operateur DSPR nduree = (tdebut+tduree) / dt ; nduree = enti ((log nduree) / (log 2)); SI (GRAPH); GRIL POIN GRIS XBOR 0 50. TITX 'f(Hz)' POSX CENT LOGY TITY 'DSP(U)' POSY CENT FINSI; *... via la Transformee de Fourier Rapide de l'evolution S_UY1 = (2./Tduree) * ((prUY1R**2) + (prUY1I**2)); *comparaison mess DSP_som S_som; ********************************************************** * * DYNE * ********************************************************** TRIG = TABLE 'RAIDEUR_ET_MASSE'; TRIG.'RAIDEUR' = MRigP1; TRIG.'MASSE' = MMasP1; * TAMOR = TABLE 'AMORTISSEMENT'; TAMOR . 'AMORTISSEMENT' = MAmoP1; * * * FLPLEIN = vrai ; si (FLPLEIN); * Couplage gyroscopique => mis au 1er membre * TAMOR . 'AMORTISSEMENT' = MAmoP1 et CGP; sinon; * Couplage gyroscopique => mis au second membre * TLIAI = TABLE 'LIAISON' ; TTLA = TABLE 'LIAISON_A' ; TLIAI.'LIAISON_A' = TTLA ; * I=0; Iliai = 0; REPETER BLOC1 Nmode; I=I+1; J=0; REPETER BLOC2 Nmode; J=J+1; Iliai = Iliai + 1; * PtI = ((TBASR1.'MODES'). I). 'POINT_REPERE'; PtJ = ((TBASR1.'MODES'). J). 'POINT_REPERE'; * CHPOM1 = CGP*Vunit; list CoefCG1; TLIAI.'LIAISON_A'.Iliai=TABLE 'LIAISON_ELEMENTAIRE'; TLIAI.'LIAISON_A'.Iliai.'SUPPORT'=PtJ; TLIAI.'LIAISON_A'.Iliai.'ORIGINE'=PtI; TLIAI.'LIAISON_A'.Iliai.'COEFFICIENT'= (-1.)*CoefCG1; * FIN BLOC2; FIN BLOC1; * finsi; TCHAR = TABLE 'CHARGEMENT' ; TCHAR.'BASE_A' = CHAP1; * TSORT = TABLE 'SORTIE' ; TSORV = TABLE 'VARIABLE' ; TSORT.'VARIABLE' = TSORV ; TSORV.'VITESSE' = VRAI; TSORV.'DEPLACEMENT' = VRAI ; TSORV.'ACCELERATION'= VRAI ; * bp: * DTEX = DT/2; si (FLPLEIN); TRESU = DYNE DE_VOGELAERE TBasR1 TAMOR TCHAR (NTT*2) DTEX TSORT ; sinon; TRESU = DYNE DE_VOGELAERE TBasR1 TAMOR TCHAR TLIAI (NTT*2) DTEX TSORT ; finsi; ****************************************************************** * TRACE DES DEPLACEMENTS EN FONCTION DU TEMPS ****************************************************************** * SI (GRAPH); TITY 'U' POSY CENT TITX '\W (tr/s)' POSX CENT 'TITR' tit1 tdess1 LEGE NO; TITY 'UZ' POSY CENT TITX 'UY' POSX CENT 'CARRE' 'TITR' tit1 tdess2 LEGE NO; FINSI; * mess UyMa Uy2Ma; *** calcul de la DSP *** NTT2 = enti ((log (NTT*2)) / (log 2)); mess DSP_som S_som DSP_som2; SI (GRAPH); GRIL POIN GRIS XBOR 0 50. TITX 'f(Hz)' POSX CENT LOGY TITY 'DSP(U)' POSY CENT FINSI; *** On va vérifier que EVOL RECO avec un maillage fonctionne aussi *** *test * on recommence avec le point suivant iP1next = iP1 + 1; *test ****************************************************************** * Test de bon fonctionnement * ****************************************************************** *** valeurs theoriques *** *mode au repos (1ere frequence) FR1Th = 7.496; *campbell (frequence a 50Hz) wr50Fth = 7.3838; wr50Bth = 7.6115; *balourd stationnaire a 5Hz uy5th = 1.34618E-02 ; uz5th = 1.37074E-02; *transitoire : comparaison DYNAMIC, DYNE UyTh = 1.902E-02; Uy2Th = 1.820E-02; *verif DSP entre 2.5 et 10Hz DSPth = 1.E-04; *** ecarts relatif et test d'erreur *** TEST1 = (ABS (Frq1 - FR1Th)) >eg (0.01*FR1Th); TEST2 = ( (ABS (wr50F - wr50Fth)) >eg (0.01*wr50Fth) ) ou ( (ABS (wr50B - wr50Bth)) >eg (0.01*wr50Bth) ); TEST3 = ( (ABS (uybal5 - uy5th)) >eg (0.01*uy5th) ) ou ( (ABS (uzbal5 - uz5th)) >eg (0.01*uz5th) ); TEST4 = ( (ABS (UyMa - UyTh )) >eg (0.01*UyTh ) ) ou ( (ABS (Uy2Ma - Uy2Th)) >eg (0.01*Uy2Th) ); si (COMPLET); TEST5 = ( (ABS (DSP_som - S_som)) >eg (0.0001*DSPth) ); sino; TEST5 = ( (ABS (DSP_som - S_som)) >eg (0.0001*DSPth) ) ou ( (ABS (DSP_som - DSPth)) >eg (0.10*DSPth) ) ou ( (ABS (DSP_som2 - DSPth)) >eg (0.10*DSPth) ); finsi; * opti donn 5 trac X; SI (TEST1 ou TEST2 ou TEST3 ou TEST4 ou TEST5); SINON; FINSI; * *opti donn 5 trac X; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales