Télécharger dy_dev11.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : dy_dev11.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ******************************************************************
  5. *
  6. * Cas-Test de la liaison palier de l'operateur DYNE
  7. *
  8. * Masse ponctuelle sur 1 palier a 3 lobes
  9. * Chargement statique des paliers Fz = -784 N
  10. *
  11. * Auteur : Inconnu
  12. * Modifs : - BP, 2015-01-23 : on reecrit le cas-test
  13. *
  14. ******************************************************************
  15. *
  16. OPTI 'DIME' 3 'ELEM' SEG2 ;
  17. COMPLET = FAUX;
  18. * COMPLET = VRAI;
  19. GRAPH = FAUX;
  20. *GRAPH = VRAI; OPTI 'TRAC' 'PSC' 'POTR' 'HELVETICA_16' 'EPTR' 6;
  21. *
  22. * Nombre de pas de temps, pas de temps
  23. si (COMPLET); NPas1 = 5000 ; PTps1 = 1.E-5;
  24. sinon; NPas1 = 2000 ; PTps1 = 1.E-5;
  25. finsi;
  26. * Sortie tous les NSor1 pas de temps
  27. NSor1 = 10 ;
  28. NbMod1 = 2;
  29. *
  30. * donnees du palier :
  31. Lpalier = 0.05;
  32. Rarbre = 0.06;
  33. mu = 0.017;
  34. rhofl = 840.;
  35. OMEGHZ = 2500./60.;
  36. Wcharg = 784.;
  37. * donnees des 3 lobes :
  38. xjeu = 0.25E-3; xjeum1 = 1./ xjeu;
  39. apchrg = 0.6*xjeu;
  40. psi1 = 85.; psi2 = 205.; psi3 = 325.;
  41. beta = 110.;
  42. teta1 = 30.; teta2 = 150.; teta3 =270.;
  43. Rcou = Rarbre + xjeu;
  44. Rlob = Rcou + apchrg;
  45.  
  46. **** tracé des lobes ****
  47. si (GRAPH);
  48. dtet = 1.;
  49. Xampl = 1.;
  50. Xa = Xampl * apchrg;
  51. * coussinet
  52. t1 = prog -180. PAS dtet 180.;
  53. y1 = sin t1; z1 = -1.* (cos t1);
  54. evarb = evol 'ORAN' 'MANU' (Rarbre*y1) (Rarbre*z1);
  55. evcou = evol 'JAUN' 'MANU' (Rcou*y1) (Rcou*z1);
  56. * lobe 1 :
  57. az1 = -1.* Xa * (cos psi1);
  58. ay1 = Xa * (sin psi1);
  59. tlob1 = prog teta1 PAS dtet (teta1 + beta);
  60. zlob1 = az1 + (Rlob * (cos tlob1));
  61. ylob1 = ay1 - (Rlob * (sin tlob1));
  62. evlob1 = evol 'BLEU' 'MANU' ylob1 zlob1;
  63. * lobe 2 :
  64. az2 = -1.* Xa * (cos psi2);
  65. ay2 = Xa * (sin psi2);
  66. tlob2 = prog teta2 PAS dtet (teta2 + beta);
  67. zlob2 = az2 + (Rlob * (cos tlob2));
  68. ylob2 = ay2 - (Rlob * (sin tlob2));
  69. evlob2 = evol 'TURQ' 'MANU' ylob2 zlob2;
  70. * lobe 3 :
  71. az3 = -1.* Xa * (cos psi3);
  72. ay3 = Xa * (sin psi3);
  73. tlob3 = prog teta3 PAS dtet (teta3 + beta);
  74. zlob3 = az3 + (Rlob * (cos tlob3));
  75. ylob3 = ay3 - (Rlob * (sin tlob3));
  76. evlob3 = evol 'OCEA' 'MANU' ylob3 zlob3;
  77.  
  78. * dess (evarb et evcou et evlob1 et evlob2 et evlob3) 'CARR' ;
  79. dess (evlob1 et evlob2 et evlob3) 'CARR' ;
  80. * dess (evarb et evlob1 et evlob2 et evlob3) 'CARR' ;
  81.  
  82. finsi;
  83.  
  84. *
  85. P1 = 0. 0. 0. ;
  86. Mail1 = MANU 'POI1' P1;
  87. *
  88. moprim = mots 'UY' 'UZ';
  89. M1 = 1.;
  90. * M1 = 0.1;
  91. MMass1 = MANU 'RIGIDITE' 'TYPE' 'MASSE' Mail1 moprim (prog M1 0 0 M1);
  92. MRigi1 = MANU 'RIGIDITE' 'TYPE' 'RIGIDITE' Mail1 moprim (prog 0 0 0 0);
  93. *
  94. chpuy = manu 'CHPO' Mail1 2 'UY' 1. 'UZ' 0. 'NATURE' 'DIFFUS';
  95. chpuz = manu 'CHPO' Mail1 2 'UY' 0. 'UZ' 1. 'NATURE' 'DIFFUS';
  96. lchp = SUIT chpuy chpuz;
  97.  
  98. TBasR1 = VIBR 'PROC' (prog -0.1) (lect NbMod1)
  99. MRigi1 MMass1 lchp;
  100.  
  101. mess 'mode 1 : f=' TBasR1 . 'MODES' . 1 . 'FREQUENCE'
  102. 'M=' TBasR1 . 'MODES' . 1 . 'MASSE_GENERALISEE';
  103. mess 'mode 2 : f=' TBasR1 . 'MODES' . 2 . 'FREQUENCE'
  104. 'M*=' TBasR1 . 'MODES' . 2 . 'MASSE_GENERALISEE';
  105.  
  106. *
  107. * Creation de la table des CONDITIONS INITIALES
  108. ************************************************
  109. TInit1 = TABLE 'INITIAL' ;
  110. *
  111. *UY0 = 0. ; UZ0 = -1.e-6 ;
  112. UY0 = 0. ; UZ0 = 0. ;
  113. Dep0 = MANU 'CHPO' Mail1 2 'UY' UY0 'UZ' UZ0 NATURE DIFFUS ;
  114. *
  115. REPE bb1 NbMod1 ;
  116. i1 = &bb1 ;
  117. Def1 = TBasR1 . 'MODES' . i1 . 'DEFORMEE_MODALE' ;
  118. M_G1 = TBasR1 . 'MODES' . i1 . 'MASSE_GENERALISEE' ;
  119. P_R1 = TBasR1 . 'MODES' . i1 . 'POINT_REPERE' ;
  120. qi1 = (YTMX Def1 MMass1 Dep0) / M_G1 ;
  121. f_r1 = TBasR1 . 'MODES' . i1 . 'FREQUENCE';
  122. mess 'Mode' i1 'f=' f_r1 ' M*=' qi1;
  123. SI (EGA i1 1) ;
  124. TInit1.'DEPLACEMENT' = MANU 'CHPO' P_R1 1 'ALFA' qi1 NATURE DIFFUS ;
  125. TInit1.'VITESSE' = MANU 'CHPO' P_R1 1 'ALFA' 0. NATURE DIFFUS ;
  126. SINON ;
  127. TInit1.'DEPLACEMENT' = TInit1.'DEPLACEMENT' ET
  128. (MANU 'CHPO' P_R1 1 'ALFA' qi1 NATURE DIFFUS) ;
  129. TInit1.'VITESSE' = TInit1.'VITESSE' ET
  130. (MANU 'CHPO' P_R1 1 'ALFA' 0. NATURE DIFFUS) ;
  131. FINSI ;
  132. FIN bb1 ;
  133.  
  134. *
  135. * Creation de la table des LIAISONS (paliers)
  136. **********************************************
  137. *
  138. TLiai1 = TABLE 'LIAISON' ;
  139. TLiai1 . LIAISON_B = TABLE 'LIAISON_B' ;
  140. PAL1 = TABLE 'LIAISON_ELEMENTAIRE' ;
  141. TLiai1 . LIAISON_B . 1 = PAL1 ;
  142. PAL1 . TYPE_LIAISON = 'PALIER_FLUIDE' ;
  143. PAL1 . MODELE_PALIER = RODELI ;
  144. PAL1 . POINT_SUPPORT = P1 ;
  145. PAL1 . LONGUEUR_PALIER = Lpalier ;
  146. PAL1 . RAYON_ARBRE = Rarbre ;
  147. PAL1 . VISCOSITE_FLUIDE = mu ;
  148. PAL1 . RHO_FLUIDE = rhofl ;
  149. PAL1 . PRESSION_ADMISSION = 0. ;
  150. PAL1 . VITESSE_ROTATION = 2 * pi * OMEGHZ;
  151. * PAL1 . EPSI = 0.;
  152. * PAL1 . PHII = 0. ;
  153. * PAL1 . AFFICHAGE = 0 ;
  154. PAL1 . GEOMETRIE_PALIER = TABLE ;
  155. PAL1 . GEOMETRIE_PALIER . NOMBRE_LOBES = 3 ;
  156. * xprec = 1.E-4;
  157. xprec = 1.E-6;
  158. PAL1 . GEOMETRIE_PALIER . CRITERE_ARRET = xprec;
  159.  
  160. PAL1 . GEOMETRIE_PALIER . 1 = TABLE ;
  161. PAL1 . GEOMETRIE_PALIER . 1 . ASYMETRIE = psi1 * pi / 180. ;
  162. PAL1 . GEOMETRIE_PALIER . 1 . JEU_USINAGE = xjeu ;
  163. PAL1 . GEOMETRIE_PALIER . 1 . PRECHARGE = apchrg ;
  164. PAL1 . GEOMETRIE_PALIER . 1 . ANGLE_DEBUT = teta1 * pi / 180. ;
  165. PAL1 . GEOMETRIE_PALIER . 1 . AMPL_ANGLE = beta * pi / 180. ;
  166. * PAL1 . GEOMETRIE_PALIER . 1 . COEF_SUR = 1.715 ;
  167. * PAL1 . GEOMETRIE_PALIER . 1 . NB_MAILLES = 100 ;
  168.  
  169. PAL1 . GEOMETRIE_PALIER . 2 = TABLE ;
  170. PAL1 . GEOMETRIE_PALIER . 2 . ASYMETRIE = psi2 * pi / 180. ;
  171. PAL1 . GEOMETRIE_PALIER . 2 . JEU_USINAGE = xjeu ;
  172. PAL1 . GEOMETRIE_PALIER . 2 . PRECHARGE = apchrg ;
  173. PAL1 . GEOMETRIE_PALIER . 2 . ANGLE_DEBUT = teta2 * pi / 180. ;
  174. PAL1 . GEOMETRIE_PALIER . 2 . AMPL_ANGLE = beta * pi / 180. ;
  175. * PAL1 . GEOMETRIE_PALIER . 2 . COEF_SUR = 1.715 ;
  176. * PAL1 . GEOMETRIE_PALIER . 2 . NB_MAILLES = 100 ;
  177.  
  178. PAL1 . GEOMETRIE_PALIER . 3 = TABLE ;
  179. PAL1 . GEOMETRIE_PALIER . 3 . ASYMETRIE = psi3 * pi / 180. ;
  180. PAL1 . GEOMETRIE_PALIER . 3 . JEU_USINAGE = xjeu ;
  181. PAL1 . GEOMETRIE_PALIER . 3 . PRECHARGE = apchrg ;
  182. PAL1 . GEOMETRIE_PALIER . 3 . ANGLE_DEBUT = teta3 * pi / 180. ;
  183. PAL1 . GEOMETRIE_PALIER . 3 . AMPL_ANGLE = beta * pi / 180. ;
  184. * PAL1 . GEOMETRIE_PALIER . 3 . COEF_SUR = 1.715 ;
  185. * PAL1 . GEOMETRIE_PALIER . 3 . NB_MAILLES = 100 ;
  186. *
  187. *
  188. * Creation de la table des VARIABLES DE SORTIE
  189. ***********************************************
  190. TSort1 = TABLE 'SORTIE' ;
  191. TSort1 . 'VARIABLE' = TABLE 'VARIABLE' ;
  192. TSort1 . 'LIAISON_B' = TABLE 'LIAISON_B' ;
  193. TSort1 . 'LIAISON_B' . PAL1 = VRAI ;
  194. *
  195. * Creation de la table du CHARGEMENT (chargement dynamique)
  196. *************************************
  197. TChar1 = TABLE 'CHARGEMENT' ;
  198. LTps1 = PROG 0.0 'PAS' PTps1 'NPAS' (NPas1+1) ;
  199. FsY1 = 0. ;
  200. FsZ1 = -1. * Wcharg ;
  201.  
  202. Chp_Fs1 = MANU CHPO 2 (P1)
  203. 'FY' FsY1 'FZ' FsZ1 ;
  204. Ev_Fs1 = EVOL MANU LTps1 (PROG (NPas1+2) * 1.) ;
  205. Char_Fs1 = CHAR Chp_Fs1 Ev_Fs1 ;
  206. TChar1 . 'BASE_A' = PJBA TBasR1 Char_Fs1 ;
  207.  
  208.  
  209. ****************************************************************
  210. * Cacul temporel 1 : Appel a DYNE
  211. ****************************************************************
  212.  
  213. TResu1 = DYNE 'DE_VOGELAERE' TBasR1 TChar1 TInit1 TSort1
  214. TLiai1 PTps1 NPas1 NSor1 ;
  215.  
  216. uy1 = TResu1 . PAL1 . 'UY_ARBRE';
  217. uz1 = TResu1 . PAL1 . 'UZ_ARBRE';
  218. vy1 = TResu1 . PAL1 . 'VY_ARBRE';
  219. vz1 = TResu1 . PAL1 . 'VZ_ARBRE';
  220. fy1 = TResu1 . PAL1 . 'FY_PALIER';
  221. fz1 = TResu1 . PAL1 . 'FZ_PALIER';
  222. tprog = TResu1 . 'TEMPS_DE_SORTIE' ;
  223. nt = dime tprog;
  224.  
  225.  
  226. * graphiques
  227. ********************************
  228. si (GRAPH);
  229. evuy1 = EVOL BLEU 'MANU' 't' tprog 'UY/e' (uy1*xjeum1);
  230. evuz1 = EVOL TURQ 'MANU' 't' tprog 'UZ/e' (uz1*xjeum1);
  231. dess (evuy1 et evuz1) POSX CENT POSY CENT;
  232.  
  233. evvy1 = EVOL BLEU 'MANU' 't' tprog 'VY' (vy1);
  234. evvz1 = EVOL TURQ 'MANU' 't' tprog 'VZ' (vz1);
  235. dess (evvy1 et evvz1) POSX CENT POSY CENT;
  236.  
  237. evfy1 = EVOL BLEU 'MANU' 't' tprog 'FY' fy1;
  238. evfz1 = EVOL TURQ 'MANU' 't' tprog 'FZ' fz1;
  239. dess (evfy1 et evfz1) POSX CENT POSY CENT;
  240. dess (evfz1) POSX CENT POSY CENT YBOR 780. 790.;
  241. dess (evfy1) POSX CENT POSY CENT YBOR -1. 2. YGRA 0.5;
  242.  
  243. evyz1 = EVOL BLEU 'MANU' 'UY/e' (uy1*xjeum1) 'UZ/e' (uz1*xjeum1);
  244. t1 = prog -180. PAS 1. 180.;
  245. y1 = sin t1; z1 = -1.* (cos t1);
  246. evjeu = evol 'MANU' y1 z1;
  247. Tjeu = tabl; Tjeu . 2 = mot 'TIRR';
  248. dess (evyz1 et evjeu )
  249. POSX CENT POSY CENT
  250. XBOR 0. 1. YBOR -1. 0. 'CARR' Tjeu;
  251. dess (evyz1 et evjeu)
  252. POSX CENT POSY CENT 'CARR' Tjeu;
  253. finsi;
  254. *excentricite et angle de calage
  255. prex1 = ((uy1**2) + (uz1**2))**0.5;
  256. mas00 = (masq (abs uy1) 'EGINFE' 1.E-30 )
  257. * (masq (abs uz1) 'EGINFE' 1.E-30 );
  258. uy100 = (((prog nt*1.) - mas00) * uy1) + mas00;
  259. prang1 = ATG uy100 (-1.*uz1);
  260. mess 'excentricite ='; list prex1;
  261. mess 'angle de calage ='; list prang1;
  262. tfin = extr tprog nt;
  263. an1fin = extr prang1 nt;
  264. ex1fin = extr prex1 nt;
  265. mess 'excentricite relative (t=' tfin ')=' (ex1fin*xjeum1);
  266.  
  267.  
  268.  
  269. si (COMPLET);
  270. ****************************************************************
  271. * Caclul temporel 2 : Appel a DYNE
  272. ****************************************************************
  273.  
  274. * Creation de la table des CONDITIONS INITIALES
  275. ************************************************
  276. TInit2 = TABLE 'INITIAL' ;
  277. *
  278. UY02 = 0.2*xjeu ;
  279. UZ02 = -0.2*xjeu ;
  280. Dep02 = MANU 'CHPO' Mail1 2 'UY' UY02 'UZ' UZ02 NATURE DIFFUS ;
  281. *
  282. REPE bb2 NbMod1 ;
  283. i2 = &bb2 ;
  284. Def2 = TBasR1 . 'MODES' . i2 . 'DEFORMEE_MODALE' ;
  285. M_G2 = TBasR1 . 'MODES' . i2 . 'MASSE_GENERALISEE' ;
  286. P_R2 = TBasR1 . 'MODES' . i2 . 'POINT_REPERE' ;
  287. qi2 = (YTMX Def2 MMass1 Dep02) / M_G2 ;
  288. f_r2 = TBasR1 . 'MODES' . i2 . 'FREQUENCE';
  289. mess i2 qi2;
  290. SI (EGA i2 1) ;
  291. TInit2.'DEPLACEMENT' = MANU 'CHPO' P_R2 1 'ALFA' qi2 NATURE DIFFUS ;
  292. TInit2.'VITESSE' = MANU 'CHPO' P_R2 1 'ALFA' 0. NATURE DIFFUS ;
  293. SINON ;
  294. TInit2.'DEPLACEMENT' = TInit2.'DEPLACEMENT' ET
  295. (MANU 'CHPO' P_R2 1 'ALFA' qi2 NATURE DIFFUS) ;
  296. TInit2.'VITESSE' = TInit2.'VITESSE' ET
  297. (MANU 'CHPO' P_R2 1 'ALFA' 0. NATURE DIFFUS) ;
  298. FINSI ;
  299. FIN bb2 ;
  300.  
  301. * Caclul temporel 2 : Appel a DYNE
  302. ************************************************
  303. TResu2 = DYNE 'DE_VOGELAERE' TBasR1 TChar1 TInit2 TSort1
  304. TLiai1 PTps1 NPas1 NSor1 ;
  305. *
  306. uy2 = TResu2 . PAL1 . 'UY_ARBRE' ;
  307. uz2 = TResu2 . PAL1 . 'UZ_ARBRE' ;
  308. vy2 = TResu2 . PAL1 . 'VY_ARBRE';
  309. vz2 = TResu2 . PAL1 . 'VZ_ARBRE';
  310. fy2 = TResu2 . PAL1 . 'FY_PALIER';
  311. fz2 = TResu2 . PAL1 . 'FZ_PALIER';
  312. tprog = TResu2 . 'TEMPS_DE_SORTIE' ;
  313.  
  314. * graphiques
  315. ********************************
  316. si (GRAPH);
  317. evuy2 = EVOL ROUG 'MANU' 't' tprog 'UY/e' (uy2*xjeum1);
  318. evuz2 = EVOL ROSE 'MANU' 't' tprog 'UZ/e' (uz2*xjeum1);
  319. dess (evuy2 et evuz2) POSX CENT POSY CENT;
  320.  
  321. evfy2 = EVOL ROUG 'MANU' 't' tprog 'FY' fy2;
  322. evfz2 = EVOL ROSE 'MANU' 't' tprog 'FZ' fz2;
  323. dess (evfy2 et evfz2) POSX CENT POSY CENT;
  324. dess (evfz2) POSX CENT POSY CENT YBOR 780. 790.;
  325. dess (evfy2) POSX CENT POSY CENT YBOR -1. 2. YGRA 0.5;
  326.  
  327. evyz2 = EVOL ROUG 'MANU' 'UY/e' (uy2*xjeum1) 'UZ/e' (uz2*xjeum1);
  328.  
  329. Tjeu = tabl; Tjeu . 2 = mot 'TIRC'; Tjeu . 3 = mot 'TIRR';
  330. dess (evyz1 et evyz2 et evjeu)
  331. POSX CENT POSY CENT
  332. XBOR 0. 1. YBOR -1. 0. 'CARR' Tjeu;
  333. dess (evyz1 et evyz2 et evjeu)
  334. POSX CENT POSY CENT 'CARR' Tjeu;
  335. dess (evyz1 et evyz2) POSX CENT POSY CENT;
  336. finsi;
  337.  
  338. *excentricite et angle de calage
  339. prex2 = ((uy2**2) + (uz2**2))**0.5;
  340. prang2 = ATG uy2 (-1.*uz2);
  341. mess 'excentricite ='; list prex2;
  342. mess 'angle de calage ='; list prang2;
  343. nt = dime tprog;
  344. tfin = extr tprog nt;
  345. an2fin = extr prang2 nt;
  346. ex2fin = extr prex2 nt;
  347. mess 'excentricite relative (t=' tfin ')=' (ex2fin*xjeum1);
  348.  
  349. finsi;
  350.  
  351.  
  352. ****************************************************************
  353. * Tests de Non Regression
  354. ****************************************************************
  355.  
  356. * tolerance
  357. si (COMPLET) ; ertol = 0.02;
  358. sinon; ertol = 0.05;
  359. finsi;
  360.  
  361. * excentricite et angle de calage de reference
  362. * ref : code exterieur du LMS Poitier (devenu institut P'Prime)
  363. * cf. travaux de Frene, Nicolas, ...
  364. exref = 3.6656E-5;
  365. anref = 39.326 ;
  366.  
  367. erex1 = ABS ((ex1fin - exref) / exref);
  368. eran1 = ABS ((an1fin - anref) / anref);
  369. si (complet);
  370. erex2 = ABS ((ex2fin - exref) / exref);
  371. eran2 = ABS ((an2fin - anref) / anref);
  372. finsi;
  373.  
  374. opti echo 0;
  375. mess '--------------------------------------------------------';
  376. mess 'excentricite de reference = 3.6656E-5='exref ;
  377. mess 'excentricite (t=' tfin ')=' (ex1fin) ' erreur=' erex1;
  378. si (COMPLET);
  379. mess 'excentricite (t=' tfin ')=' (ex2fin) ' erreur=' erex2;
  380. si (erex2 > erex1); erex1 = erex2; finsi;
  381. finsi;
  382. mess '--------------------------------------------------------';
  383. mess 'angle de calage de reference = 39.326 degrés='anref ;
  384. mess 'angle de calage (t=' tfin ')=' an1fin ' erreur=' eran1;
  385. si (COMPLET);
  386. mess 'angle de calage (t=' tfin ')=' an2fin ' erreur=' eran2;
  387. si (eran2 > eran1); eran1 = eran2; finsi;
  388. finsi;
  389. mess '--------------------------------------------------------';
  390.  
  391. opti echo 1;
  392.  
  393.  
  394. SI ((erex1 > ertol) ou (eran1 > ertol));
  395. ERRE 5;
  396. SINON;
  397. ERRE 0;
  398. FINSI;
  399.  
  400.  
  401. fin ;
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  

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