Télécharger dy_devo2.dgibi

Retour à la liste

Numérotation des lignes :

  1.  
  2. ************************************************************************
  3. ************************************************************************
  4. ************************************************************************
  5. *
  6. * VALIDATION DE LA LIAISON POINT-POINT-FROTTEMENT DE DYNE
  7. * DY_DEVO2.DGIBI
  8. *
  9. * ref : Rapport DMT/92.056 de Vare, De Langre
  10. * reimporte dans la base des cas-test par BP en 2015
  11. *
  12. ************************************************************************
  13.  
  14. OPTI DIME 3 ELEM SEG2 MODE TRID ;
  15.  
  16.  
  17. * cible mobile ?
  18. FLMOBI = FAUX;
  19. * FLMOBI = VRAI;
  20.  
  21. * sortie graphique ?
  22. GRAPH = FAUX;
  23. SI GRAPH ; OPTI TRAC PSC EPTR 6 POTR HELVETICA_16; FINSI;
  24.  
  25.  
  26. ************************************************************************
  27. * PROJECTILE
  28. ************************************************************************
  29.  
  30. * masse
  31. M_PROJ = 1.;
  32. * point
  33. P_PROJ = 0. 0. 0. ;
  34.  
  35. * MODES PROPRES (corps rigides a la main)
  36. UX_PROJ = MANU CHPO P_PROJ 3 UX 1. UY 0. UZ 0.;
  37. UY_PROJ = MANU CHPO P_PROJ 3 UX 0. UY 1. UZ 0.;
  38. BM_PROJ = (MANU 'MODE' 0. M_PROJ UX_PROJ)
  39. ET (MANU 'MODE' 0. M_PROJ UY_PROJ);
  40. T_PROJ = TRADUIRE BM_PROJ;
  41.  
  42.  
  43. ************************************************************************
  44. * CIBLE
  45. ************************************************************************
  46.  
  47. * masse
  48. M_CIBL = 1.;
  49. * point
  50. P_CIBL = 0. 0. 0. ;
  51.  
  52. * MODES PROPRES (corps rigides a la main)
  53. SI FLMOBI;
  54. ux_c = 1.;
  55. SINON;
  56. ux_c = 0.;
  57. FINSI;
  58. UX_CIBL = MANU CHPO P_CIBL 3 UX ux_c UY 0. UZ 0.;
  59. UY_CIBL = MANU CHPO P_CIBL 3 UX 0. UY 0. UZ 0.;
  60. BM_CIBL = (MANU 'MODE' 0. M_CIBL UX_CIBL)
  61. ET (MANU 'MODE' 0. M_CIBL UY_CIBL);
  62. T_CIBL = TRADUIRE BM_CIBL;
  63.  
  64.  
  65.  
  66. ************************************************************************
  67. * CALCULS DYNE avec POINT_POINT_FROTTEMENT
  68. ************************************************************************
  69.  
  70.  
  71. **** PARAMETRES DE CALCUL ****
  72.  
  73. NB_LIAI = 1 ;
  74. NB_POINT = 1 ;
  75. T = 1.E-2 ;
  76. EXP_BLOC = 8 ;
  77. NB_PAS = 2**EXP_BLOC ;
  78. PAS2 = T / NB_PAS ;
  79. MESS 'NOMBRE DE PAS DE TEMPS = ' NB_PAS ;
  80. MESS 'PAS DE TEMPS = ' PAS2 ;
  81.  
  82.  
  83. **** BASE = ENSEMBLE DE BASES (couplees par la liaison) ****
  84.  
  85. TBASE = TABLE 'ENSEMBLE_DE_BASES';
  86. TMOD1 = TABLE 'BASE_MODALE' ;
  87. TMOD1 . 'MODES' = T_PROJ;
  88. TBASE . 1 = TMOD1;
  89. TMOD2 = TABLE 'BASE_MODALE' ;
  90. TMOD2 . 'MODES' = T_CIBL;
  91. TBASE . 2 = TMOD2;
  92.  
  93.  
  94. **** AMORTISSEMENT ****
  95.  
  96. TAMOR = TABLE 'AMORTISSEMENT';
  97. L_AMOR = PROG 4 * 1.;
  98. TAMOR . 'AMORTISSEMENT' = AMOR TBASE L_AMOR;
  99.  
  100.  
  101. **** LIAISON ENTRE LES 2 MASSES EN HAUT ****
  102.  
  103. * parametres de la liaison
  104. SI FLMOBI;
  105. jeuAB = 4.E-6;
  106. muglis= 2.0;
  107. SINON;
  108. jeuAB = 4.5E-6;
  109. muglis= 0.3;
  110. FINSI;
  111. kchoc = 1.E7 ;
  112. cchoc = 0. ;
  113. muadhe= muglis;
  114. ktang = 10. * kchoc;
  115. mgen1 = TMOD1 . 'MODES' . 1 . 'MASSE_GENERALISEE';
  116. ctang = 2.*((mgen1*(ktang+kchoc))**0.5);
  117.  
  118. * remplissage de la table
  119. TLIA = TABLE 'LIAISON';
  120. TLIA . 'LIAISON_B' = TABLE 'LIAISON_B';
  121. TL1 = TABLE 'LIAISON_ELEMENTAIRE';
  122. TLIA . 'LIAISON_B' . 1 = TL1;
  123. TL1 . 'TYPE_LIAISON' = MOT 'POINT_POINT_FROTTEMENT';
  124. TL1 . 'POINT_A' = P_PROJ ;
  125. TL1 . 'POINT_B' = P_CIBL ;
  126. TL1 . 'NORMALE' = 0. -1. 0. ;
  127. TL1 . 'JEU ' = jeuAB ;
  128. TL1 . 'RAIDEUR' = kchoc ;
  129. TL1 . 'AMORTISSEMENT' = cchoc ;
  130. TL1 . 'COEFFICIENT_ADHERENCE' = muadhe ;
  131. TL1 . 'COEFFICIENT_GLISSEMENT' = muglis ;
  132. TL1 . 'RAIDEUR_TANGENTIELLE' = ktang ;
  133. TL1 . 'AMORTISSEMENT_TANGENTIEL'= ctang ;
  134.  
  135.  
  136. **** TABLE DE SORTIE ****
  137.  
  138. TSORT = TABLE 'SORTIE';
  139. *TSORT1 = TABLE 'VARIABLE' ; TSORT . 'VARIABLE' = TSORT1;
  140. TSORT2 = TABLE 'LIAISON_B'; TSORT . 'LIAISON_B' = TSORT2;
  141. TSORT2 . TL1 = VRAI ;
  142. * sortie tous les ntsor pas de temps
  143. ntsor = 1;
  144.  
  145.  
  146. **** CONDITION INITIALE = VITESSE VZ0 ****
  147.  
  148. * Attention a ne pas utiliser PJBA pas prevu pour cela !
  149. * on souhaite en réalité : \alpha0 = [\Phi]^-1 * V0
  150. * (et pas \alpha0 = [\Phi]^T * V0) ...
  151. * --> il vaut mieux ecrire directement :
  152. VINIT1 = MANU 'CHPO' (TMOD1 . 'MODES' . 1 . 'POINT_REPERE')
  153. 1 'ALFA' 1.E-3 'NATURE' 'DIFFUS';
  154. VINIT2 = MANU 'CHPO' (TMOD1 . 'MODES' . 2 . 'POINT_REPERE')
  155. 1 'ALFA' -1.E-3 'NATURE' 'DIFFUS';
  156. VINIT = VINIT1 et VINIT2;
  157. SI FLMOBI;
  158. VINIT3 = MANU 'CHPO' (TMOD2 . 'MODES' . 1 . 'POINT_REPERE')
  159. 1 'ALFA' -3.E-3 'NATURE' 'DIFFUS';
  160. VINIT = VINIT et VINIT3;
  161. FINSI;
  162. mess 'VINIT = ' ; list VINIT;
  163. TINIT = TABLE 'INITIAL';
  164. TINIT . 'VITESSE' = VINIT;
  165.  
  166. **** CALCUL DYNE ****
  167. TDYNE = DYNE 'DE_VOGELAERE' TBASE TAMOR TINIT TLIA TSORT
  168. NB_PAS PAS2 ntsor;
  169.  
  170.  
  171. ************************************************************************
  172. * POST TRAITEMENT DYNE
  173. ************************************************************************
  174.  
  175. * recup des LISTREELS
  176.  
  177. tprog = TDYNE . 'TEMPS_DE_SORTIE';
  178. ux1 = TDYNE . TL1 . 'UX_POINT_A';
  179. uy1 = TDYNE . TL1 . 'UY_POINT_A';
  180. fy1 = TDYNE . TL1 . 'FORCE_DE_CHOC_POINT_A';
  181. fx1 = TDYNE . TL1 . 'FORCE_DE_CHOC_TANGENTIELLE';
  182.  
  183.  
  184. * construction des EVOLUTIONS temporelles
  185.  
  186. evux1 = EVOL 'BLEU' 'MANU' 'LEGE' 'UX PPF'
  187. 't (s)' tprog 'UX' ux1;
  188. evuy1 = EVOL 'ORAN' 'MANU' 'LEGE' 'UY PPF'
  189. 't (s)' tprog 'UY' uy1;
  190. evfy1 = EVOL 'ORAN' 'MANU' 'LEGE' 'FY PPF'
  191. 't (s)' tprog 'F_{choc}' fy1;
  192. evfx1 = EVOL 'BLEU' 'MANU' 'LEGE' 'FX PPF'
  193. 't (s)' tprog 'F_{tang}' fx1;
  194. SI GRAPH ;
  195. DESS (evux1 et evuy1)
  196. POSX CENT POSY CENT 'LEGE' NE
  197. 'TITR' 'PPF : POINT_POINT_FROTTEMENT';
  198. DESS (evfx1 et evfy1)
  199. POSX CENT POSY CENT 'LEGE' NE
  200. 'TITR' 'PPF : POINT_POINT_FROTTEMENT';
  201. FINSI;
  202.  
  203. * TRAJECTOIRE
  204.  
  205. evxy1 = EVOL 'BLEU' 'MANU' 'LEGE' 'UX PPF' 'UX' ux1 'UY' uy1;
  206. xxx1 = prog 0. 7.E-6;
  207. yyy1 = prog (-1.*jeuAB) (-1.*jeuAB);
  208. evjeu = EVOL 'DEFA' 'MANU' 'LEGE' 'PAS DE LEGENDE' 'UX' xxx1 'UY' yyy1;
  209.  
  210. tdess1 = table;
  211. tdess1 . 2 = MOT 'TIRC';
  212. SI GRAPH ;
  213. DESS (evxy1 et evjeu)
  214. POSX CENT POSY CENT 'LEGE' NE tdess1
  215. 'TITR' 'PPF : POINT_POINT_FROTTEMENT';
  216. FINSI;
  217.  
  218. * NOMBRE DE CHOCS
  219. nbchoc = EXTR (COMT evfy1) 1;
  220. si (neg nbchoc 1);
  221. mess 'nombre de choc incorrect (=' nbchoc')';
  222. ERRE 5;
  223. finsi;
  224.  
  225. * TEMPS DE CHOC
  226. * methode 1 :
  227. * on suppose qu'il n'y a qu'1 choc continu
  228. * connu a (+0/-2)*dt pres
  229. ttous = MASQ (abs fy1) 'EGSUPE' 1.E-15 ;
  230. itous = POSI 1. 'DANS' ttous 'TOUS';
  231. ideb = (EXTR itous 1) - 1;
  232. ifin = (EXTR itous (dime itous)) + 1 ;
  233. Tchoc1 = (extr tprog ifin) - (extr tprog ideb);
  234. * methode 2 :
  235. Tchoc = (TOTE evfy1 1.E-15) extr 1;
  236.  
  237. * ANGLE DE REBOND
  238. * position a la fin du choc
  239. xfin = extr ux1 ifin;
  240. yfin = extr uy1 ifin;
  241. * position a la fin du calcul
  242. xfin2 = extr ux1 NB_PAS;
  243. yfin2 = extr uy1 NB_PAS;
  244. * angle
  245. beta = ATG (xfin2 - xfin) (yfin2 - yfin);
  246.  
  247. * MOYENNE DE LA FORCE DE CHOC
  248. * normale
  249. intfy1 = (INTG evfy1) ;
  250. moyfy1 = intfy1 / Tchoc;
  251. * tangentielle
  252. intfx1 = (INTG evfx1) ;
  253. moyfx1 = intfx1 / Tchoc;
  254.  
  255.  
  256. * message
  257.  
  258. OPTI ECHO 0;
  259. MESS 'Grandeur Analytique PPF [DMT/92.056]';
  260. SI FLMOBI;
  261. MESS 'Angle de rebond (°): -45 ' beta ' -44.63';
  262. MESS 'Temps de choc (ms) : 0.99 ' (Tchoc*1000.) ' 1.01';
  263. MESS 'E(Fnormale) (N) : 2.01 ' moyfy1 ' 1.97';
  264. MESS 'E(Ftangent) (N) : <0.604 ' moyfx1 ' 0.232';
  265. err1 = (abs (beta + 45.)) / 45. ;
  266. err2 = (abs (Tchoc - 0.99E-3)) / 0.99E-3 ;
  267. err3 = (abs (moyfy1 + 2.01)) / 2.01 ;
  268. SINON;
  269. MESS 'Angle de rebond (°): 21.80 ' beta ' 21.79';
  270. MESS 'Temps de choc (ms) : 0.99 ' (Tchoc*1000.) ' 1.02';
  271. MESS 'E(Fnormale) (N) : 2.01 ' moyfy1 ' 1.97';
  272. MESS 'E(Ftangent) (N) : 0.604 ' moyfx1 ' 0.591';
  273. err1 = (abs (beta - 21.80)) / 21.80 ;
  274. err2 = (abs (Tchoc - 0.99E-3)) / 0.99E-3 ;
  275. err3 = (abs (moyfy1 + 2.01)) / 2.01 ;
  276. FINSI;
  277. OPTI ECHO 1;
  278.  
  279.  
  280. * TEST DE BON FONCTIONNEMENT
  281. MESS err1 err2 err3;
  282. SI ( (err1 > 0.01) ou (err2 > 0.03) ou (err3 > 0.03) );
  283. ERRE 5;
  284. FINSI;
  285.  
  286.  
  287. FIN ;
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  

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