Download rotor1.dgibi

Back to the list

* fichier :  rotor1.dgibi
******************************************************************      
*
*
*           Test de GYROSCOPIQUE et CAMPBELL
*            pour les elements de poutre
*           Etude d'une machine tournante
*            dans le repere inertiel (ou fixe)
*           Elements: POUT, TIMO et TUYAU 
*
*
*         Volant d'inertie sur 2 appuis isotropes et anisotropes
*
*                 Exemple Axisa Tome 4 P.92
*
*                 Didier Combescure Août 2003           
*                                                                          
******************************************************************      
*GRAPH = 'Y';
GRAPH = 'N';
*
* Caractéristiques de l'arbre et du volant d'inertie
*
L1 = 1.5 ;  
L2 = L1;    
*                                                        
Re1 = 0.5 ;
Lvol = 0.20 ;                                                             
E1 = 2.e+11 ;                                                           
Nu1 = 0.3 ;                                                             
Rho1 = 7800. ;
*
S0 = pi*(Re1**2);
Mtot = rho1 * S0 * Lvol; 
Inx = pi*(Re1**4)/2.;
Iny = pi*(Re1**4)/4.;
*
InXtot = Inx*Lvol*Rho1; 
*
* Raideur et amortissement des supports
*
Ky = 100000.;
Kz = 1.00*Ky;
Cy = 100.;
Cz = Cy;
*                                                                       
OPTI 'DIME' 3 'ELEM' SEG2;                                                                     
*
* Volant et arbre avec même section mais masse différente
*                                                         
*
P0 = 0. 0. 0.;
P1 = (L1-(0.5*Lvol))  0.  0. ;
P2 = (L1+(0.5*Lvol))  0.  0. ;
P3 = (L1+L2)  0.  0. ;
GeoArbre = (D 1 P0 P1) et  (D 1 P2 P3); 
GeoVolan = (D 1 P1 P2);
*
Geotot = GeoArbre et GeoVolan;
*
*
* Elément POUT
*    
*        
Mod1a = MODL GeoArbre 'MECANIQUE' POUT;                                          
Mat1a = MATE Mod1a 'YOUNG' E1 'NU  ' Nu1 'RHO' 0.
        'SECT' S0 'INRY' Iny 'INRZ' Iny 'TORS' Inx
        'OMEG'  (2.*pi);
Mod1b = MODL GeoVolan 'MECANIQUE' POUT;                                          
Mat1b = MATE Mod1b 'YOUNG' E1 'NU  ' Nu1 'RHO' Rho1
        'SECT' S0 'INRY' Iny 'INRZ' Iny 'TORS' Inx
        'OMEG'  (2.*pi);
*
mod1 = mod1a et mod1b;
mat1 = mat1a et mat1b;
*                                                                      
* Cond. limites : 2 appuis 
*
Blo2 = (BLOQ 'UX' P0);   
Blo3 = (BLOQ 'UX' P3);                             
Blo1 = BLOQ 'RX' Geotot;  
*
Kxp= (APPUI UY KY p0) et (APPUI UY KY p3);
Kyp= (APPUI UZ KZ p0) et (APPUI UZ KZ p3);
Cxp= (APPUI UY CY p0) et (APPUI UY CY p3);
Cyp= (APPUI UZ CZ p0) et (APPUI UZ CZ p3);
*
Kappui = Kxp et Kyp;     
Cappui = Cxp et Cyp;                       
*                                                                      
MMass1 = MASS Mod1 (Mat1) ;                                   
MRigi1 = RIGI Mod1 (Mat1) ;   
*
* Matrice de couplage gyroscopique
*
 CG1 = GYROSCOPIQUE Mod1 Mat1;
* 
* Si on voulait créer une matrice de couplage gyroscopique 
* d'un volant d'inertie, on ferait :
*
* GeoVolan= MANU POI1 Pvol;
* CG1 = MANU RIGI 'TYPE' AMORTISSEMENT  GeoVolan
*        (MOTS 'RX  '  'RY  '  'RZ  ')
*        (prog 0. 0.  0. 
*              0. 0. (2.*pi*InxTot) 
*              0.  ((-2.)*pi.*InxTot) 0.);                              
*                                                                       
TBasR1 = VIBR 'PROCHE' (prog 12.) (lect 4)
           (MRigi1 ET Kappui et Blo1 ET Blo2 et Blo3) 
             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 ;
*
 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 ;
  MRigP1 = PJBA TBasR1 MRigi1 ;
  Cg1P = PJBA TBasR1 Cg1 ;
  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.'AMOR_PROJ' = CApp1p;
TAB1.'GYRO_PROJ' = Cg1P;
*TAB1.'AFFICHAGE' = VRAI;
PRFREQ = ((prog 0. pas 1. 100.)**2)*(0.01);
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');
  dess (evtot et (evol rouge manu (prog 0. 25.)  (prog 0. 25.) ))
      xbord 0. 25. ybord 0. 60.
      TITRE 'Diagramme de Campbell';
  dess  EVAMOT xbord 0. 100. ;
FINSI;
*
EVTOT1 = extr evtot cour 8; 
EVAMOT1 = extr evamot cour 8; 
FR1 = extr (IPOL  (prog 0. 25.) (extr EVTOT1 absc)
                                (extr EVTOT1 ordo)) 1; 
AM1 = extr (IPOL  (prog 0. 25.) (extr EVAMOT1  absc)
                                (extr EVAMOT1  ordo)) 1; 
FR2 = extr (IPOL  (prog 0. 25.) (extr EVTOT1 absc)
                                (extr EVTOT1 ordo)) 2; 
AM2 = extr (IPOL  (prog 0. 25.) (extr EVAMOT1  absc)
                                (extr EVAMOT1  ordo)) 2; 
*
FR1Th = 11.879;
FR2Th = 50.278;
AM1Th = 3.73456E-02;
AM2Th = 1.67227E-02;
Errfrq = 0.01*FR1Th;
Erramo = 0.01*AM1Th;
*
SI ((ABS(FR1 - FR1Th) > Errfrq ) OU
    (ABS(FR2 - FR2Th) > Errfrq ) OU
    (ABS(AM1 - AM1Th) > Erramo ) OU
    (ABS(AM2 - AM2Th) > Erramo ));
   ERRE 5
SINON;
   ERRE 0; 
FINSI;
*
FIN;
* 

© Cast3M 2003 - All rights reserved.
Disclaimer