* fichier :  rotor2.dgibi
************************************************************************
* Section : Mecanique Dynamique
************************************************************************

************************************************************************      
*                                                                      *
*  Mots-clés : Vibrations, calcul modal, machines tournantes,          *
*              poutre, modes complexes, reponse frequentielle          *
*                                                                      *
*                                                                      *
*  Test de GYROSCOPIQUE, CAMPBELL et BALOURD pour les elements de poutre*
*  Etude d'une machine tournante dans le repere inertiel (ou fixe)     *
*  Elements: TIMO                                                      *
*                                                                      *
*  Volant d'inertie sur 2 appuis simples                               *
*  et 1 appui élastique isotropes ou anisotropes                       *
*  Exemple Lalanne P.13 +  cas test 14 de ROTOR                        *
*                                                                      *
*  Auteur: Didier Combescure Avril 2003                                *
*                                                                      *                                                                         
************************************************************************      
*GRAPH = 'Y';
GRAPH = 'N';
*
*
* Caractéristiques de l'arbre et du volant d'inertie
*
Ltot = 0.40 ;  
L1 = Ltot/3.;
L2 = 2.*Ltot/3.;
L1 = 0.133;
L2 = 0.266;
*                                                        
Re1 = 0.01 ;
Ri2 = 0.01 ;
Ri2 = 0.0 ;
Re2 = 0.15 ;
hvol = 0.03;
*                                                             
E1 = 2.e+11 ;                                                           
Nu1 = 0.3 ;                                                             
Rho1 = 7800. ;
*
Sarbre = pi*(Re1**2);
Inxarb = pi*(Re1**4)/2.;
Inyarb = pi*(Re1**4)/4.;
*
Svolant = pi*((Re2**2) - (Ri2**2));
Inxvol = pi*((Re2**4) - (Ri2**4))/2.;
Inyvol = pi*((Re2**4) - (Ri2**4))/4.;
*
* Valeur Lalanne
*
*Mvol = Svolant*hvol*rho1;
*Inyvol = (Mvol/12.)*((3*(Re2**2)) - (3*(Ri2**2)) + (hvol**2));
*Inyvol = 0.09427/(hvol*rho1);
*
*
* Raideur et amortissement des supports
*
* Cas 1
*
*Ky = 0.;
*Kz = Ky;
*Cy = 0.;
*Cz = Cy;
*
* Cas 2
*
Ky = 500000.;
Kz = 0.;
Cy = 0.;
Cz = 0.;
*
* Cas 3
*
*bet= 0.0002;
bet= 0.015;
*bet= 0.026;
*Ky = 200000.;
*Kz = 500000.;
*Cy = 200000.*bet;
*Cz = 500000.*bet;
*                                                                       
OPTI 'DIME' 3 'ELEM' SEG2;                                                     
*
P0 = 0. 0. 0.;
P1volm = (L1 - (0.5*hvol))  0.  0. ;
P1 = (L1)  0.  0. ;
P1volp = (L1 + (0.5*hvol))  0.  0. ;
P1 = L1  0.  0. ;
P2 = L2  0.  0. ;
P3 = Ltot  0.  0. ;
GeoArbre = (D 20 P0 P1volm) et (D 20 P1volp P2) et (D 20 P2 P3); 
GeoVolan = (D 1 P1volm P1) et (D 1 P1 P1volp);
*
Geotot = GeoArbre et GeoVolan;
*
FacUnite = (2.*pi/60.);    
*
* Elément POUT
*    
*        
Mod1a = MODELI GeoArbre 'MECANIQUE' TIMO;                                          
Mat1a = MATE Mod1a 'YOUNG' E1 'NU' Nu1 'RHO' Rho1
        'SECT' Sarbre 'INRY' Inyarb 'INRZ' Inyarb 'TORS' Inxarb
        'OMEG' 1.;    
Mod1b = MODELI GeoVolan 'MECANIQUE' TIMO;                                          
Mat1b = MATE Mod1b 'YOUNG' E1 'NU' Nu1 'RHO' Rho1
        'SECT' Svolant 'INRY' Inyvol 'INRZ' Inyvol 'TORS' Inxvol
        'OMEG' 1.;    
*
mod1 = mod1a et mod1b;
mat1 = mat1a et mat1b;
*
SI (EGA GRAPH 'Y');
*
 TABR = TABLE;
 TABR. 'POUTRE' = TABLE;
 (TABR. 'POUTRE'). 'CIRCULAIRE' = VRAI;
 (TABR. 'POUTRE'). 'NCIRC' = 20;
 TABR. 'TUYAU' = TABLE;
 (TABR. 'TUYAU'). 'NCIRC' = 20;
 (TABR. 'TUYAU'). 'NEPAI' = 1;
*
 MESHVOL = POUT2MAS mod1 mat1 GAUSS TABR;
 trac meshvol cach;
 MESHVOL = POUT2MAS mod1 mat1 MASSIF  TABR;;
 elim 0.0001 MESHVOL;
 trac meshvol cach;                                                                
FINSI;
*                                                                      
* Cond. limites : 2 appuis 
*
Blo2 = (BLOQ DEPL P0);   
Blo3 = (BLOQ DEPL P3);                             
Blo1 = BLOQ 'RX' Geotot;  
*
Kxp= (APPUI UY KY p2);
Kyp= (APPUI UZ KZ p2);
Cxp= (APPUI UY CY p2);
Cyp= (APPUI UZ CZ p2);
*
Kappui = Kxp et Kyp;     
Cappui = Cxp et Cyp;                       
*                                                                      
MMass1 = MASS Mod1 (Mat1) ;                                   
MRigi1 = RIGI Mod1 (Mat1) ;   
*
*
* Matrice de couplage gyroscopique
*
 CG1 = GYROSCOPIQUE Mod1 Mat1;
*                                   
*                                                                       
TBasR1 = VIBR 'PROCHE' (prog 100.) (lect 2)
           (MRigi1 ET Kappui et Blo1 ET Blo2 et Blo3) 
             MMass1  ;
*
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 ;
*
 TABR = TABLE;
 TABR. 'POUTRE' = TABLE;
 (TABR. 'POUTRE'). 'CIRCULAIRE' = VRAI;
 (TABR. 'POUTRE'). 'NCIRC' = 20;
 TABR. 'TUYAU' = TABLE;
 (TABR. 'TUYAU'). 'NCIRC' = 20;
 (TABR. 'TUYAU'). 'NEPAI' = 1;
 TABR.'DEPLACEMENTS' = TABLE;
 (TABR.'DEPLACEMENTS'). 1 = (TMod1 . 1) . 'DEFORMEE_MODALE' ;
*
 MESHVOL = POUT2MAS mod1 mat1 GAUSS TABR;
 trac (defo MESHVOL ((TABR.'DEPLACEMENTS'). 1)) cach;
*
FINSI;
*
*-Projection des matrices assemblées sur la base réelle
*
  MMasP1 = PJBA TBasR1 MMass1 ;
  Cg1P = PJBA TBasR1 Cg1 ;
  MRigP1 = PJBA TBasR1  (MRigi1) ;
  KApp1p =  PJBA TBasR1 (Kappui et Blo1 ET Blo2 et Blo3);
  CApp1p =  PJBA TBasR1 Cappui;
*
* 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.'GYRO_PROJ' = FacUnite*Cg1P;
TAB1.'AMOR_PROJ' = CApp1p;
TAB1.'AFFICHAGE' = VRAI;
PRFREQ = (prog 0. pas 1. 120.)*100.;
CAMPBELL TAB1 PRFREQ;
*
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 = (TAB1. i1). 'FREQUENCE_REELLE' ;
      EVAMOT = (TAB1. i1). 'AMORTISSEMENT';
   sinon;
      EVTOT = EVTOT et 
               ((TAB1. i1). 'FREQUENCE_REELLE' );
      EVAMOT = EVAMOT et
               ((TAB1. i1). 'AMORTISSEMENT');
   finsi;
FIN lab1;
*
SI (EGA GRAPH 'Y');
 Titre 'Diagramme de Campbell';
 dess (evtot et
   (evol rouge manu (prog 0. 12000.) ((prog 0. 12000.)/60.))
 et (evol rouge manu (prog 0. 12000.) ((prog 0. 12000.)/120.)) )
     xbord 0. 12000.  ybord 0. 80. ;
 dess (EVAMOT)  xbord 0. 12000.;
FINSI;
*-----------------------------
*     Réponse à un balourd   *
*-----------------------------
md = 0.0001*(0.15);
FbalReel = FORCE ( 0. (md) 0. ) P1;
FbalImag = FORCE ( 0. 0. ((-1.)*md) ) P1;
prfreq = FacUnite*(prog 100. pas 100. 2500. pas 2. 3500 
    pas 100. 12000.);
*
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' = P1;
BALOURD TAB1 PRFREQ;
*
EvUYbal = ((TAB1.'REPONSE'). 1) . 'UY' ;
EvUZbal = ((TAB1.'REPONSE'). 1) . 'UZ' ;
EvGabal = ((TAB1.'REPONSE'). 1) . 'GAXE';
EvPabal = ((TAB1.'REPONSE'). 1) . 'PAXE' ;
*
SI (EGA GRAPH 'Y');
 DESS EvUYbal LOGY ybord 1.E-7 1E-3; 
 DESS EvUZbal LOGY ybord 1.E-7 1E-3; 
 dess (EvPabal et EvUYbal et EvUZbal et EvGabal) 
                        LOGY ybord 1.E-7 1.E-3; 
 dess  EvGabal LOGY ybord 1.E-7 1E-3; 
FINSI;
*
AmpBal=extr (ipol (prog 377.) (extr EvGabal absc) 
              (extr EvGabal ordo)) 1;
AmpBaTh = 7.07D-5;
SI (ABS((AmpBal - AmpBaTh)/AmpBaTh) < 5.D-2);
  ERRE 0;
SINON;
  ERRE 5;
FINSI;
*
FIN;
* 

 

 

 

 

 

