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

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