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

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