Télécharger rotor5.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : rotor5.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. ******************************************************************
  6. * *
  7. * Mots-clés : Vibrations, calcul modal, machines tournantes, *
  8. * poutre, condensation statique, dynamique *
  9. * reconstruction 3D, modes complexes *
  10. * *
  11. * Etude d'une machine tournante dans le repere inertiel (fixe) *
  12. * Elements: POUT et volant d inertie *
  13. * *
  14. * Etude d'un arbre lors d'une rupture d'aube *
  15. * *
  16. * 1- Calcul des inerties et des forces de balourd a l aide *
  17. * d un modele 3D massif *
  18. * 2- Etude de la reponse a une rupture accidentelle d'aube *
  19. * *
  20. * Auteur: Didier Combescure Juillet 2003 *
  21. * Modif : Benoit Prabel, 06/2014 ajout test DSPR et TFR *
  22. * *
  23. ******************************************************************
  24. *COMPLET = VRAI;
  25. COMPLET = FAUX;
  26. *GRAPH = VRAI; opti trac PSC EPTR 6 POTR HELVETICA_16;
  27. GRAPH = FAUX;
  28. FLAVS = faux;
  29. FLVTK = faux;
  30. *
  31. OPTI 'DIME' 3 'ELEM' SEG2;
  32. OPTI EPSI LINEAIRE;
  33.  
  34. ******************************************************************
  35. *
  36. * Modélisation (maillage, modeles, matrices ...)
  37. *
  38. ******************************************************************
  39. *
  40. * Caractéristique de l'arbre
  41. *
  42. L1 = 10.0;
  43. Re1 = 0.2 ;
  44. Re1S = 0.22 ;
  45. E1 = 2.e+11 ;
  46. Nu1 = 0.2 ;
  47. Rho1 = 7800. ;
  48. RhoFl = 1000.;
  49. *amortissement faible?
  50. Visc1 = E1/(10000.);
  51. *amortissement eleve?
  52. *Visc1 = E1/(100.);
  53. Sarbre = pi*(Re1**2);
  54. Inxarb = pi*(Re1**4)/2.;
  55. Inyarb = pi*(Re1**4)/4.;
  56. *
  57. P0 = 0. 0. 0.;
  58. P1 = (0.75*L1) 0. 0. ;
  59. P2 = L1 0. 0. ;
  60. *
  61. Pb0 = 0. 0. 0.;
  62. Pb2 = L1 0. 0.;
  63. GeoRot = (D 75 P0 P1) et (D 25 P1 P2);
  64. *
  65. * Géométrie de la turbine
  66. *
  67. OPTI 'DIME' 3 ELEM CU20;
  68. *
  69. Re2 = 1.0;
  70. Ep2 = 0.05;
  71. vh2 = Ep2 0. 0.;
  72. *
  73. PM1= P1 plus (0. Re1 0.);
  74. PM2 = P1 plus (0. 0. Re1);
  75. PM3= P1 plus (0. ((-1.)*Re1) 0.);
  76. PM4 = P1 plus (0. 0. ((-1.)*Re1));
  77. PMrot = P1 plus (0. Re1 Re1);
  78. *
  79. PM1e= P1 plus (0. Re2 0.);
  80. PM2e = P1 plus (0. 0. Re2);
  81. PM3e= P1 plus (0. ((-1.)*Re2) 0.);
  82. PM4e = P1 plus (0. 0. ((-1.)*Re2));
  83. *
  84. * Lig2 = (CER3 4 PM1 PM2 PM3) ET (CER3 4 PM3 PM4 PM1);
  85. * Sur2 = SURF LIG2 'PLANE';
  86. * Vol2 = (VOLU Sur2 TRAN (0.5*VH2)) et (VOLU Sur2 TRAN ((-0.5)*VH2));
  87. * elim 0.00001 Vol2;
  88. *
  89. *
  90. PM11e = d 2 PM1 PM1e;
  91. Sur3a = PM11e ROTA 2 90. P0 P2;
  92. Vol3a = (VOLU 1 Sur3a TRAN (0.5*VH2))
  93. et (VOLU 1 Sur3a TRAN ((-0.5)*VH2));
  94. DEPL Vol3a TOUR 25. P1 PMrot;
  95. elim 0.001 Vol3a;
  96. Vol3b = Vol3a TOUR 90. P0 P2;
  97. Vol3c = Vol3b TOUR 90. P0 P2;
  98. Vol3d = Vol3c TOUR 90. P0 P2;
  99. VOL3 = Vol3a et Vol3b et Vol3c et Vol3d;
  100. VOL3Bal = Vol3a et Vol3b et Vol3c;
  101. *
  102. * Modele de l'arbre
  103. *
  104. Mod1 = MODELI GEOROT 'MECANIQUE' POUT;
  105. Mat1 = MATE Mod1 'YOUN' E1 'NU ' Nu1 'RHO ' Rho1
  106. 'SECT' Sarbre 'INRY' Inyarb 'INRZ' Inyarb
  107. * 'TORS' Inxarb 'OMEG' (1.0) 'VISQ' (Visc1);
  108. 'TORS' Inxarb 'VISQ' (Visc1);
  109. *
  110. MESH3D = POUT2MAS Mod1 Mat1 'MASSIF';
  111. SI (GRAPH);
  112. OEIL3d = 100. 100. 100.;
  113. ELIM 0.0001 MESH3D;
  114. Titre 'Maillage poutre';
  115. trac OEIL3d MESH3D CACH;
  116. trac OEIL3d (MESH3D et GeoRot);
  117. Titre 'Maillage poutre + volant';
  118. trac OEIL3d (MESH3D et VOL3) CACH;
  119. oeilx = 100. 0. 0.;
  120. Titre 'Volant';
  121. trac oeilx VOL3 cach;
  122. trac oeilx VOL3Bal cach;
  123. FINSI;
  124. *
  125. * Modele de la turbine
  126. *
  127. Mod2 = MODELI Vol3 'MECANIQUE' 'ELASTIQUE' ;
  128. Mat2 = MATE Mod2 'YOUN' E1 'NU ' Nu1 'RHO ' Rho1;
  129. *
  130. Mod2B = MODELI Vol3Bal 'MECANIQUE' 'ELASTIQUE' ;
  131. Mat2B = MATE Mod2B 'YOUN' E1 'NU ' Nu1 'RHO ' Rho1;
  132. *
  133. *
  134. Blo2 = (BLOQ 'UZ' P0) ET
  135. (BLOQ 'UY' P0) ET
  136. (BLOQ 'UX' P0);
  137.  
  138. Blo3 = (BLOQ 'UZ' P2) ET
  139. (BLOQ 'UY' P2) ET
  140. (BLOQ 'UX' P2);
  141. Blo1 = BLOQ 'RX' Georot;
  142. *
  143. * Matrice de masse
  144. *
  145. MMass1 = MASS Mod1 Mat1 ;
  146. MRigi1 = RIGI Mod1 Mat1 ;
  147. *
  148. * Condensation de la matrice de masse du volant d'inertie sur 1 point
  149. *
  150. MMass2 = MASS Mod2 Mat2 ;
  151. MRigi2 = RELA CORI DEPL ROTA (P1 et Vol3);
  152. *
  153. SupK2 = SUPER 'RIGIDITE' 'NOMU' MRigi2 P1;
  154. SupM2 = SUPER 'MASSE' SupK2 MMass2;
  155. *
  156. InxVol = EXTR (PSCAL (SupM2 *(MANU CHPO P1 1 RX 1.))
  157. (MANU CHPO P1 1 RX 1.) (MOTS MX) (MOTS RX)) 'SCAL' P1;
  158. InyVol = EXTR (PSCAL (SupM2 *(MANU CHPO P1 1 RY 1.))
  159. (MANU CHPO P1 1 RY 1.) (MOTS MY) (MOTS RY)) 'SCAL' P1;
  160. *
  161. *
  162. MMassT = MMass1 et SupM2;
  163. *
  164. Geovolan = MANU POI1 P1;
  165. CG2 = MANU RIGI 'TYPE' 'AMORTISSEMENT' Geovolan
  166. ('MOTS' 'RX ' 'RY ' 'RZ ') 'QUEL'
  167. (prog 0. 0. 0.
  168. 0. 0. (InyVol)
  169. 0. ((-1.)*InyVol) 0.);
  170. *
  171. * Matrice de couplage gyroscopique de l'arbre
  172. *
  173. CG1 = GYROSCOPIQUE Mod1 Mat1;
  174. CGTOT = CG1 et CG2;
  175. *
  176. * Matrice d'amortissement
  177. *
  178. CDAM1 CDAH1 = 'AMOR' Mod1 Mat1 'COROTATIF';
  179. *
  180. *
  181. * Calcul des forces de balourd (pour une vitesse de rotation de 1 tour/s)
  182. *
  183. * Définition du champs d'acceleration centrifuge
  184. *
  185. XYZ = (0.*(CHAN COMP (COOR 1 Vol3Bal) 'UX')) ET
  186. (CHAN COMP (COOR 2 Vol3Bal) 'UY') ET
  187. ((CHAN COMP (COOR 3 Vol3Bal) 'UZ'));
  188. *
  189. XYZ0 = MANU CHPO Vol3Bal 3 'UX' (0.) 'UY' (0.)
  190. 'UZ' (0.);
  191. *
  192. * Calcul avec la matrice de raideur centrifuge
  193. *
  194. OmegRot = 1.0;
  195. Vrota = OmegRot 0. 0.;
  196. KCE2 ='KENT' 'CENTRIFUGE' Mod2b Mat2b Vrota;
  197. FCENT2 = KCE2*(XYZ - XYZ0);
  198. *
  199. * Calcul avec la matrice de masse
  200. *
  201. FCENT = (OmegRot**2)*MMass2*(XYZ - XYZ0);
  202. *
  203. SI (GRAPH);
  204. TRAC oeilx Vol3Bal (vecteur FCENT FX FY FZ 0.01);
  205. FINSI;
  206. *
  207. * Condensation des forces centrifuges pour le calcul du balourd
  208. *
  209. Fbalourd = SUPER 'CHARGE' SupK2 FCENT;
  210. FbalR = Fbalourd;
  211. mess 'FbalR';
  212. list FbalR;
  213. Vecrot = MANU CHPO (extr FbalR mail) 3
  214. RX 1. RY 0. RZ 0.;
  215. FbalI = (FbalR '*'VecRot ('MOTS' FY FZ FX)
  216. ('MOTS' RZ RX RY) ('MOTS' FX FY FZ))
  217. - (FbalR '*'VecRot ('MOTS' FZ FX FY)
  218. ('MOTS' RY RZ RX) ('MOTS' FX FY FZ));
  219. FbalI = CHAN ATTRIBUT FbalI NATURE DISCRET;
  220.  
  221. ******************************************************************
  222. *
  223. * Calcul des modes propres
  224. *
  225. ******************************************************************
  226. TBasR1 = VIBR 'PROCHE' (prog 10.) (lect 2)
  227. (MRigi1 ET Blo1 ET Blo2 et Blo3)
  228. MMassT ;
  229. *
  230. TMod1 = TBasR1 . 'MODES' ;
  231. NbMod1 = (DIME TMod1) - 2 ;
  232. TInd1 = INDEX (TMod1 . 1) ;
  233. *
  234. SI (GRAPH);
  235. REPETER bbb1 NbMod1 ;
  236. i = &bbb1 ;
  237. Frq1 = TMod1 . i . 'FREQUENCE' ;
  238. Def1 = TMod1 . i . 'DEFORMEE_MODALE' ;
  239. TITRE Frq1 ;
  240. trac oeil3d (defo 0.5 georot def1);
  241. FIN bbb1 ;
  242. FINSI;
  243. Frq1 = TMod1 . 1 . 'FREQUENCE' ;
  244. mess Frq1;
  245. *
  246. *
  247. MAmor1 = CDAM1;
  248. *
  249. *-Projection des matrices assemblées sur la base réelle
  250. *
  251. MMasP1 = PJBA TBasR1 MMassT ;
  252. * MRigP1 = PJBA TBasR1 (MRigi1 ET Blo1 ET Blo2 et Blo3) ;
  253. MRigP1 = PJBA TBasR1 MRigi1 ;
  254. MAmoP1 = PJBA TBasR1 MAmor1 ;
  255. MAmHP1 = PJBA TBasR1 CDAH1;
  256. Cg1P = PJBA TBasR1 CgTot ;
  257. *
  258. ******************************************************************
  259. *
  260. * Calcul des modes complexes avec VIBC
  261. *
  262. ******************************************************************
  263. *
  264. * Vitesse de rotation (10 Hz)
  265. *
  266. * Omeg1Hz = 0.;
  267. Omeg1Hz = 10.;
  268. Omeg1 =Omeg1Hz*2.*pi;
  269. *
  270. BasCi1 = VIBC MMasP1 (MRigP1 et (Omeg1*MAmHP1))
  271. (MAmoP1 et (Omeg1*Cg1P)) TBasR1 ;
  272. *
  273. ModBasC = BasCi1.'MODES';
  274. NbMod1 = (DIME ModBasC) - 2;
  275. *
  276. FRQR = TABLE;
  277. FRQI = TABLE;
  278. FRQ = TABLE;
  279. AMOR= TABLE;
  280. *
  281. mess 'Frequences et amortissement a ''Hz';
  282. mess '__________________________________________________';
  283. mess 'mode | w_R | w_I | xi';
  284. *
  285. REPETER bbb2 NbMod1 ;
  286. i2 = &bbb2 ;
  287. FrqR1 = BasCi1.'MODES'.i2.'FREQUENCE_REELLE' ;
  288. FrqI1 = BasCi1.'MODES'.i2.'FREQUENCE_IMAGINAIRE' ;
  289. DefR1 = BasCi1.'MODES'.i2.'DEFORMEE_MODALE_REELLE';
  290. DefI1 = BasCi1.'MODES'.i2.'DEFORMEE_MODALE_IMAGINAIRE';
  291. FRQR.i2 = FrqR1;
  292. FRQI.i2 = FrqI1;
  293. FRQ.i2 = ((FrqR1 ** 2) + (FrqI1 ** 2)) ** 0.5 ;
  294. AMOR.i2 = FrqI1 /(FRQ.i2 );
  295. mess i2 (FrqR.i2) (FrqI.i2) (AMOR.i2);
  296. FIN bbb2;
  297. mess '__________________________________________________';
  298. *
  299.  
  300.  
  301. ******************************************************************
  302. *
  303. * Calcul du diagramme de Campbell
  304. *
  305. ******************************************************************
  306.  
  307. TAB1 = TABLE;
  308. TAB1.'BASE_MODALE' = TBasR1;
  309. TAB1.'MASS_PROJ' = MMasP1;
  310. TAB1.'RIGI_PROJ' = MRigP1;
  311. TAB1.'GYRO_PROJ' = 2.*pi*Cg1P;
  312. TAB1.'AMOR_PROJ' = MAmoP1;
  313. TAB1.'KROT_PROJ' = (2.*pi*MAmHP1);
  314. TAB1.'AFFICHAGE' = VRAI;
  315.  
  316. PRFREQ = prog 0. 0.1 0.5 1. pas 1. 50.;
  317.  
  318. CAMPBELL TAB1 PRFREQ;
  319. *
  320. EVFRb1 = (TAB1. 1). 'FREQUENCE_REELLE' coul TURQ;
  321. EVFRb2 = (TAB1. 2). 'FREQUENCE_REELLE' coul ROSE;
  322. EVFRb3 = (TAB1. 3). 'FREQUENCE_REELLE' coul BLEU;
  323. EVFRb4 = (TAB1. 4). 'FREQUENCE_REELLE' coul ROUG;
  324.  
  325. EVAMb1 = (TAB1. 1). 'AMORTISSEMENT' coul TURQ;
  326. EVAMb2 = (TAB1. 2). 'AMORTISSEMENT' coul ROSE;
  327. EVAMb3 = (TAB1. 3). 'AMORTISSEMENT' coul BLEU;;
  328. EVAMb4 = (TAB1. 4). 'AMORTISSEMENT' coul ROUG;
  329. *
  330. EvFreOme = evol manu (prog 0. 50.) (prog 0. (50.));
  331. EvFreZer = evol manu (prog 0. 50.) (prog 0. 0.);
  332. *
  333. SI (GRAPH);
  334. DESS (EVFRb1 et EVFRb2 et EVFRb3 et EVFRb4 et EvFreOme)
  335. 'TITX' '\W (Tr/s)' POSX CENT
  336. 'TITY' 'f (Hz)' POSY CENT YBOR 0. 20.
  337. 'TITR' 'Campbell diagram (red:Forward - blue:Backward)';
  338. DESS (EVAMb1 et EVAMb2 et EVAMb3 et EVAMb4 et EvFreZer)
  339. 'TITX' '\W (Tr/s)' POSX CENT
  340. 'TITY' '\z' POSY CENT
  341. 'TITR' 'Campbell diagram (red:Forward - blue:Backward)';
  342. finsi;
  343.  
  344. wr50F = ipol 50. EVFRb3;
  345. wr50B = ipol 50. EVFRb4;
  346. mess wr50F wr50B ;
  347.  
  348. ******************************************************************
  349. *
  350. * Calcul de la reponse stationnaire au balourd
  351. *
  352. ******************************************************************
  353.  
  354. SI COMPLET;
  355. promeg = (2.*pi) * (prog 1. pas 0.1 50.);
  356. SINON;
  357. promeg = (2.*pi) * (prog 1. pas 1. 6 pas 0.2 10 pas 1. 50.);
  358. FINSI;
  359. *
  360. TAB2 = TABLE;
  361. TAB2.'BASE_MODALE' = TBasR1 ;
  362. TAB2.'MASS_PROJ' = MMasP1;
  363. TAB2.'RIGI_PROJ' = MRigP1;
  364. TAB2.'GYRO_PROJ' = Cg1P;
  365. TAB2.'AMOR_PROJ' = (MAmoP1);
  366. TAB2.'KROT_PROJ' = (MAmHP1);
  367. TAB2.'AFFICHAGE' = VRAI;
  368. TAB2.'FBALOURD' = Fbalourd;
  369. TAB2.'SAUVDEFO' = FAUX;
  370. TAB2.'REPONSE' = TABLE;
  371. TAB2.'REPONSE' . 1 = TABLE;
  372. TAB2.'REPONSE' . 1 . 'POINT' = P1;
  373.  
  374. BALOURD TAB2 promeg;
  375. *
  376. EvUYbal = EVOL VIOL MANU (promeg/(2.*pi))
  377. (extr (((TAB2.'REPONSE'). 1) . 'UY' ) ordo);
  378. EvUZbal = EVOL BLEU MANU (promeg/(2.*pi))
  379. (extr (((TAB2.'REPONSE'). 1) . 'UZ' ) ordo);
  380. EvGabal = EVOL MANU (promeg/(2.*pi))
  381. (extr (((TAB2.'REPONSE'). 1) . 'GAXE') ordo);
  382. EvPabal = EVOL MANU (promeg/(2.*pi))
  383. (extr (((TAB2.'REPONSE'). 1) . 'PAXE') ordo);
  384. EvAngEl = EVOL MANU (promeg/(2.*pi))
  385. (extr (((TAB2.'REPONSE'). 1) . 'ANGLEGAXE') ordo);
  386. *
  387. SI (EGA GRAPH 'Y');
  388. DESS (EvUYbal et EvUZbal)
  389. GRIL 'POIN' GRIS
  390. TITY '|u|' LOGY POSY CENT
  391. TITX '\W (tr/s)' POSX CENT
  392. XBORD 0. 50.;
  393. FINSI;
  394.  
  395. uybal5 = ipol 5. EvUYbal;
  396. uzbal5 = ipol 5. EvUZbal;
  397. mess uybal5 uzbal5;
  398.  
  399.  
  400. *******************************************************
  401. *
  402. * Calculs transitoires
  403. *
  404. *******************************************************
  405.  
  406. * vitesse de rotation en Hz
  407. fr1 = 5.0;
  408. Tperiod = 1./fr1;
  409. * nombre de periodes
  410. SI COMPLET; Nperiod = 20;
  411. SINON; Nperiod = 7;
  412. FINSI;
  413.  
  414. *******************************************************
  415. *
  416. * DYNAMIC
  417. *
  418. *******************************************************
  419. dt = (1./(50.*fr1));
  420. tdebut = (20.*dt);
  421. * tduree = Nperiod * 30. * dt;
  422. tduree = Nperiod * Tperiod - tdebut;
  423.  
  424. prtime2 = prog 0. pas dt (tduree + (100.*dt));
  425. prtime = (prog 0.) et
  426. (prtime2 + (prog (dime prtime2)*tdebut));
  427. prcren = (prog 0.) et (prog (dime prtime2)*1.);
  428. prcos = (prog 0. ) et (cos (fr1*prtime2*360.));
  429. prsin = (prog 0. ) et (sin (fr1*prtime2*360.));
  430. prtimef = prog 0. pas dt (tdebut+tduree);
  431.  
  432. * cahrgement de balourd
  433. EvReel = evol manu prtime
  434. ((prcos*prcren)*((2.*pi*fr1)**2));
  435. EvImag = evol manu prtime
  436. ( (((-1.)*prsin*prcren)*((2.*pi*fr1)**2)));
  437. *
  438. ChaBal1 = (CHAR FbalR EvReel);
  439. Chabal2 = (CHAR FbalI EvImag);
  440. Chabal = Chabal1 et Chabal2;
  441. *
  442. LIS1 = prtimef;
  443. NTT = ((dime prtimef) - 5);
  444. TAB3in = TABLE ;
  445. TAB3in.'CHAR' = ChaBal ;
  446. TAB3in.'DEPL' = MANU CHPO GEOROT 3 UX 0. UY 0. UZ 0. ;
  447. TAB3in.'VITE' = MANU CHPO GEOROT 3 UX 0. UY 0. UZ 0. ;
  448. TAB3in.'RIGI' = (MRigi1 ET Blo1 ET Blo2 et Blo3)
  449. et (0.*CDAH1*2.*pi*fr1);
  450. TAB3in.'MASS' = MMassT;
  451. TAB3in.'AMOR' = MAmor1 et (CgTot*2.*pi*fr1);
  452. TAB3in.'FREQ' = (1./dt);
  453. TAB3in.'INST' = LIS1 ;
  454. TAB3 = DYNAMIC TAB3in ;
  455. *
  456. Time = PROG ;
  457. PRUY1 = PROG ;
  458. PRUZ1 = PROG ;
  459. I = 0 ;
  460. REPE BB1 NTT ;
  461. I = I + 1 ;
  462. T_I = TAB3 . I . 'TEMP' ;
  463. Time = Time ET T_I;
  464. DEP1 = (TAB3 . I . 'DEPL') exco (mots 'UX' 'UY' 'UZ') ;
  465. PRUY1 = PRUY1 ET( PROG (EXTR DEP1 UY P1) );
  466. PRUZ1 = PRUZ1 ET( PROG (EXTR DEP1 UZ P1) );
  467. * sortie paraview
  468. si (FLAVS);
  469. ficsort = chai 'AVS/rotor5_DYNAMIC_' I '.inp';
  470. OPTI SORT ficsort;
  471. mess ficsort;
  472. SORT 'AVS' GEOROT DEP1 'TEMP' T_I;
  473. fins;
  474. * sortie paraview
  475. si (FLVTK);
  476. mess 'I=' I ' T_I=' T_I;
  477. ficsort = chai 'AVS/rotor5_DYNAMIC' ;
  478. OPTI SORT ficsort;
  479. mess ficsort;
  480. SORT 'VTK' GEOROT DEP1 'TEMP' T_I;
  481. fins;
  482. FIN BB1;
  483. * opti donn 5;
  484. *
  485. EvUY1 = evol VIOL manu Time PRUY1;
  486. EvUZ1 = evol BLEU manu Time PRUZ1;
  487. EvUYUZ1 = EVOL BLEU MANU PRUY1 PRUZ1;
  488. *
  489. SI (GRAPH);
  490. tit1 = mot 'transitoire DYNAMIC';
  491. tdess1 = tabl;
  492. tdess1 . 1 = mot 'MARQ PLUS REGU';
  493. tdess1 . 2 = mot 'TIRR MARQ CARR REGU';
  494. tdess1 . 3 = mot 'MARQ CROI REGU';
  495. tdess1 . 4 = mot 'TIRR MARQ ROND REGU';
  496. tdess1 . 'TITRE' = tabl;
  497. tdess1 . 'TITRE' . 1 = mot 'UY (implicit)';
  498. tdess1 . 'TITRE' . 2 = mot 'UZ (implicit)';
  499. tdess1 . 'TITRE' . 3 = mot 'UY (explicit)';
  500. tdess1 . 'TITRE' . 4 = mot 'UZ (explicit)';
  501. DESS (EvUY1 et EvUZ1)
  502. TITY 'U' POSY CENT
  503. TITX '\W (tr/s)' POSX CENT
  504. 'TITR' tit1 tdess1 LEGE NO;
  505. DESS EvUYUZ1
  506. TITY 'UZ' POSY CENT
  507. TITX 'UY' POSX CENT
  508. 'CARRE' 'TITR' tit1 ;
  509. FINSI;
  510.  
  511.  
  512. *** calcul de la DSP ***
  513.  
  514. *... via l'operateur DSPR
  515. nduree = (tdebut+tduree) / dt ;
  516. nduree = enti ((log nduree) / (log 2));
  517. DSP_UY1 = DSPR nduree EvUY1 'VIOL';
  518. DSP_UZ1 = DSPR nduree EvUZ1 'BLEU';
  519.  
  520. SI (GRAPH);
  521. dess (DSP_UY1 et DSP_UZ1)
  522. GRIL POIN GRIS
  523. XBOR 0 50. TITX 'f(Hz)' POSX CENT
  524. LOGY TITY 'DSP(U)' POSY CENT
  525. TITR 'Implicit + physical base' tdess1 LEGE NE;
  526. FINSI;
  527.  
  528. *... via la Transformee de Fourier Rapide de l'evolution
  529. Tduree = dt * (2**nduree); mess Tduree;
  530. TF_UY1 = TFR nduree EvUY1 'REIM' 'VIOL';
  531. prfreq = TF_UY1 EXTR 'ABSC' ;
  532. prUY1R = TF_UY1 EXTR 'PART REEL' ;
  533. prUY1I = TF_UY1 EXTR 'PART IMAG' ;
  534. S_UY1 = (2./Tduree) * ((prUY1R**2) + (prUY1I**2));
  535. S_UY1 = EVOL 'VIOL' 'MANU' 'Hz' prfreq '|UY|^{2}' S_UY1;
  536.  
  537. *comparaison
  538. DSP_som = extr (INTG ((DSP_UY1 extr 'AVAN' 10.) extr 'APRE' 2.5)) 1;
  539. S_som = extr (INTG ((S_UY1 extr 'AVAN' 10.) extr 'APRE' 2.5)) 1;
  540. mess DSP_som S_som;
  541.  
  542.  
  543. **********************************************************
  544. *
  545. * DYNE
  546. *
  547. **********************************************************
  548. TRIG = TABLE 'RAIDEUR_ET_MASSE';
  549. TRIG.'RAIDEUR' = MRigP1;
  550. TRIG.'MASSE' = MMasP1;
  551. *
  552. TAMOR = TABLE 'AMORTISSEMENT';
  553. TAMOR . 'AMORTISSEMENT' = MAmoP1;
  554. *
  555. *
  556. CGP = (PJBA TBasR1 (CgTot*2.*pi*fr1));
  557. *
  558. FLPLEIN = vrai ;
  559. si (FLPLEIN);
  560.  
  561. * Couplage gyroscopique => mis au 1er membre
  562. *
  563. TAMOR . 'AMORTISSEMENT' = MAmoP1 et CGP;
  564. TAMOR . 'NATURE' = mot 'PLEINE';
  565.  
  566.  
  567. sinon;
  568.  
  569. * Couplage gyroscopique => mis au second membre
  570. *
  571. TLIAI = TABLE 'LIAISON' ;
  572. TTLA = TABLE 'LIAISON_A' ;
  573. TLIAI.'LIAISON_A' = TTLA ;
  574. *
  575. Nmode = (DIME (TBASR1.'MODES')) - 2;
  576. I=0;
  577. Iliai = 0;
  578. REPETER BLOC1 Nmode;
  579. I=I+1;
  580. J=0;
  581. REPETER BLOC2 Nmode;
  582. J=J+1;
  583. Iliai = Iliai + 1;
  584. *
  585. PtI = ((TBASR1.'MODES'). I). 'POINT_REPERE';
  586. PtJ = ((TBASR1.'MODES'). J). 'POINT_REPERE';
  587. *
  588. Vunit = MANU CHPO PtI 1 'ALFA' 1.;
  589. CHPOM1 = CGP*Vunit;
  590. CoefCG1 = EXTR CHPOM1 'FALF' PtJ;
  591. list CoefCG1;
  592. TLIAI.'LIAISON_A'.Iliai=TABLE 'LIAISON_ELEMENTAIRE';
  593. TLIAI.'LIAISON_A'.Iliai.'TYPE_LIAISON'= MOT 'COUPLAGE_VITESSE';
  594. TLIAI.'LIAISON_A'.Iliai.'SUPPORT'=PtJ;
  595. TLIAI.'LIAISON_A'.Iliai.'ORIGINE'=PtI;
  596. TLIAI.'LIAISON_A'.Iliai.'COEFFICIENT'= (-1.)*CoefCG1;
  597. *
  598. FIN BLOC2;
  599. FIN BLOC1;
  600. *
  601. finsi;
  602.  
  603. TCHAR = TABLE 'CHARGEMENT' ;
  604. CHAP1 = PJBA TBasR1 ChaBal;
  605. TCHAR.'BASE_A' = CHAP1;
  606. *
  607. TSORT = TABLE 'SORTIE' ;
  608. TSORV = TABLE 'VARIABLE' ;
  609. TSORT.'VARIABLE' = TSORV ;
  610. TSORV.'VITESSE' = VRAI;
  611. TSORV.'DEPLACEMENT' = VRAI ;
  612. TSORV.'ACCELERATION'= VRAI ;
  613. *
  614. DTEX = DT/2;
  615. si (FLPLEIN);
  616. TRESU = DYNE DE_VOGELAERE TBasR1 TAMOR TCHAR
  617. (NTT*2) DTEX TSORT ;
  618. sinon;
  619. TRESU = DYNE DE_VOGELAERE TBasR1 TAMOR TCHAR TLIAI
  620. (NTT*2) DTEX TSORT ;
  621. finsi;
  622.  
  623. ******************************************************************
  624. * TRACE DES DEPLACEMENTS EN FONCTION DU TEMPS
  625. ******************************************************************
  626.  
  627. Ev2UY1 = EVOL ROSE RECO TRESU TBasR1 'DEPL' P1 UY ;
  628. Ev2UZ1 = EVOL ROUG RECO TRESU TBasR1 'DEPL' P1 UZ ;
  629. Ev2UYUZ1 = EVOL ROUG MANU (extr Ev2UY1 ordo) (extr Ev2UZ1 ordo);
  630. *
  631. SI (GRAPH);
  632. tit2 = mot 'transitoire DYNAMIC-DYNE';
  633. tdess2 = tabl;
  634. tdess2 . 1 = mot 'MARQ PLUS REGU';
  635. tdess2 . 2 = mot 'TIRR MARQ CROI REGU';
  636. tdess2 . 'TITRE' = tabl;
  637. tdess2 . 'TITRE' . 1 = mot 'DYNAMIC (implicit)';
  638. tdess2 . 'TITRE' . 2 = mot 'DYNE (explicit)';
  639. DESS (EvUY1 et EvUZ1 et Ev2UY1 et Ev2UZ1)
  640. TITY 'U' POSY CENT
  641. TITX '\W (tr/s)' POSX CENT
  642. 'TITR' tit1 tdess1 LEGE NO;
  643. DESS (EvUYUZ1 et Ev2UYUZ1)
  644. TITY 'UZ' POSY CENT
  645. TITX 'UY' POSX CENT
  646. 'CARRE' 'TITR' tit1 tdess2 LEGE NO;
  647. FINSI;
  648. *
  649. UyMa= maxi (extr EvUY1 ordo) abs;
  650. Uy2Ma= maxi (extr Ev2UY1 ordo) abs;
  651. mess UyMa Uy2Ma;
  652.  
  653. *** calcul de la DSP ***
  654.  
  655. NTT2 = enti ((log (NTT*2)) / (log 2));
  656. DSP_UY2 = DSPR NTT2 Ev2UY1 'ROUG';
  657. DSP_UZ2 = DSPR NTT2 Ev2UZ1 'ROSE';
  658. DSP_som2 = extr (INTG ((DSP_UY2 extr 'AVAN' 10.) extr 'APRE' 2.5)) 1;
  659. mess DSP_som S_som DSP_som2;
  660.  
  661. tdess3 = tabl;
  662. tdess3 . 'TITRE' = tabl;
  663. tdess3 . 'TITRE' . 1 = mot 'UY (explicit)';
  664. tdess3 . 'TITRE' . 2 = mot 'UZ (explicit)';
  665.  
  666. SI (GRAPH);
  667. dess (DSP_UY2 et DSP_UZ2)
  668. GRIL POIN GRIS
  669. XBOR 0 50. TITX 'f(Hz)' POSX CENT
  670. LOGY TITY 'DSP(U)' POSY CENT
  671. TITR 'Explicite base modale' tdess3 LEGE NE;
  672. FINSI;
  673.  
  674.  
  675. ******************************************************************
  676. * Test de bon fonctionnement *
  677. ******************************************************************
  678.  
  679. *** valeurs theoriques ***
  680.  
  681. *mode au repos (1ere frequence)
  682. FR1Th = 7.496;
  683. *campbell (frequence a 50Hz)
  684. wr50Fth = 7.3838; wr50Bth = 7.6115;
  685. *balourd stationnaire a 5Hz
  686. uy5th = 1.34618E-02 ; uz5th = 1.37074E-02;
  687. *transitoire : comparaison DYNAMIC, DYNE
  688. UyTh = 1.902E-02; Uy2Th = 1.820E-02;
  689. *verif DSP entre 2.5 et 10Hz
  690. DSPth = 1.E-04;
  691.  
  692. *** ecarts relatif et test d'erreur ***
  693. TEST1 = (ABS (Frq1 - FR1Th)) >eg (0.01*FR1Th);
  694. TEST2 = ( (ABS (wr50F - wr50Fth)) >eg (0.01*wr50Fth) )
  695. ou ( (ABS (wr50B - wr50Bth)) >eg (0.01*wr50Bth) );
  696. TEST3 = ( (ABS (uybal5 - uy5th)) >eg (0.01*uy5th) )
  697. ou ( (ABS (uzbal5 - uz5th)) >eg (0.01*uz5th) );
  698. TEST4 = ( (ABS (UyMa - UyTh )) >eg (0.01*UyTh ) )
  699. ou ( (ABS (Uy2Ma - Uy2Th)) >eg (0.01*Uy2Th) );
  700. si (COMPLET);
  701. TEST5 = ( (ABS (DSP_som - S_som)) >eg (0.0001*DSPth) );
  702. sino;
  703. TEST5 = ( (ABS (DSP_som - S_som)) >eg (0.0001*DSPth) )
  704. ou ( (ABS (DSP_som - DSPth)) >eg (0.10*DSPth) )
  705. ou ( (ABS (DSP_som2 - DSPth)) >eg (0.10*DSPth) );
  706. finsi;
  707.  
  708. * opti donn 5 trac X;
  709. SI (TEST1 ou TEST2 ou TEST3 ou TEST4 ou TEST5);
  710. ERRE 5;
  711. SINON;
  712. ERRE 0;
  713. FINSI;
  714. *
  715.  
  716.  
  717. *opti donn 5 trac X;
  718.  
  719. FIN ;
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales