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

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