Télécharger dy_devo9.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : dy_devo9.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. OPTION ECHO 0 ;
  5. OPTION ELEM SEG2 DIME 2 ;
  6. GRAPH = 'N' ;
  7. d_pasa = faux ;
  8. *********************************
  9. * TEST DE VALIDATION DE LA *
  10. * LIAISON LIGNE_LIGNE DE DYNE *
  11. *_______________________________*
  12. * *
  13. * Un disque chute sur le sol *
  14. * sous l'action de la pesanteur *
  15. * Comparaison des vitesses apres*
  16. * le choc avec la solution *
  17. * analytique d'un solide rigide *
  18. * en suposant les conditions *
  19. * de roulement sans glissement *
  20. * *
  21. *********************************
  22. * DONNEES *
  23. ***********
  24. R=0.1;
  25. H=0.2;
  26. Y0=H+R;
  27. V0=1.;
  28. G0=1.;
  29. O = 0. Y0;
  30. A = 0. H;
  31. B = R Y0;
  32. C1 = CERC 10 A O B;
  33. C2 = C1 TOUR 90. O;
  34. C3 = C1 ET C2;
  35. C4 = C3 TOUR 180. O;
  36. C5 = C3 ET C4;
  37. CE1 = ELIM C5 0.01;
  38. B1=0. 0.;
  39. B2=1. 0.;
  40. SOL=DROI 1 B2 B1;
  41. *
  42. PR=0 0;
  43. PX=0 0;
  44. PY=0 0;
  45. PSOL=0 0;
  46. G=0. Y0;
  47. *********************
  48. * BASE MODALE *
  49. *********************
  50. CHPX = MANU 'CHPO' 3 (CE1 ET G) 'UX' 1. 'UY' 0. 'RZ' 0.;
  51. CHPY = MANU 'CHPO' 3 (CE1 ET G) 'UX' 0. 'UY' 1. 'RZ' 0.;
  52. CHPR = MANU 'CHPO' 3 (CE1 ET G) 'UX' 0. 'UY' 0. 'RZ' 1.;
  53. CHPSOL=MANU 'CHPO' 3 SOL 'UX' 0. 'UY' 0. 'RZ' 0.;
  54. TBAS1 = TABLE 'BASE_MODALE';
  55. TBAS1 . 'MODES' = TABLE 'BASE_DE_MODES';
  56. TBAS1 . 'MODES'. 'MAILLAGE' =(CE1 ET G);
  57. TBAS1 . 'MODES'. 1 = TABLE 'MODE';
  58. TBAS1 . 'MODES'. 1 . 'POINT_REPERE' =PX;
  59. TBAS1 . 'MODES'. 1 . 'FREQUENCE' = 0.0;
  60. TBAS1 . 'MODES'. 1 . 'MASSE_GENERALISEE' = 5.;
  61. TBAS1 . 'MODES'. 1 . 'DEFORMEE_MODALE' = CHPX;
  62. mai1 = manu poi1 px ;
  63. mo_mod1 = modele mai1 mecanique elastique modal ;
  64. ca_mod1 = mate mo_mod1 freq 0. mass 5. defo chpx amor 0.;
  65. TBAS1 . 'MODES'. 2 = TABLE 'MODE';
  66. TBAS1 . 'MODES'. 2 . 'POINT_REPERE' =PY;
  67. TBAS1 . 'MODES'. 2 . 'FREQUENCE' = 0.0;
  68. TBAS1 . 'MODES'. 2 . 'MASSE_GENERALISEE' = 5.;
  69. TBAS1 . 'MODES'. 2 . 'DEFORMEE_MODALE' = CHPY;
  70. mai2 = manu poi1 py ;
  71. mo_mod2 = modele mai2 mecanique elastique modal ;
  72. ca_mod2 = mate mo_mod2 freq 0. mass 5. defo chpy amor 0.;
  73. TBAS1 . 'MODES'. 3 = TABLE 'MODE';
  74. TBAS1 . 'MODES'. 3 . 'POINT_REPERE' =PR;
  75. TBAS1 . 'MODES'. 3 . 'FREQUENCE' = 0.0;
  76. TBAS1 . 'MODES'. 3 . 'MASSE_GENERALISEE' = 0.025;
  77. TBAS1 . 'MODES'. 3 . 'DEFORMEE_MODALE' = CHPR;
  78. TBAS1 . 'MODES'. 3 . 'CORPS_RIGIDE' = 'VRAI';
  79. TBAS1 . 'MODES'. 3 . 'CENTRE_DE_GRAVITE'= G;
  80. mai3 = manu poi1 pr ;
  81. mo_mod3 = modele mai3 mecanique elastique modal ;
  82. ca_mod3 = mate mo_mod3 freq 0. mass 0.025 defo chpr amor 0.
  83. cgra g ;
  84. TBAS2 = TABLE 'BASE_MODALE';
  85. TBAS2 . 'MODES' = TABLE 'BASE_DE_MODES';
  86. TBAS2 . 'MODES'. 'MAILLAGE' = SOL;
  87. TBAS2 . 'MODES'. 1 = TABLE 'MODE';
  88. TBAS2 . 'MODES'. 1 . 'POINT_REPERE' =PSOL;
  89. TBAS2 . 'MODES'. 1 . 'FREQUENCE' = 0.0;
  90. TBAS2 . 'MODES'. 1 . 'MASSE_GENERALISEE' = 5.;
  91. TBAS2 . 'MODES'. 1 . 'DEFORMEE_MODALE' = CHPSOL;
  92. mai4 = manu poi1 psol ;
  93. mo_mod4 = modele mai4 mecanique elastique modal ;
  94. ca_mod4 = mate mo_mod4 freq 0. mass 5. defo chpsol amor 0.;
  95. TBAST = TABLE 'ENSEMBLE_DE_BASES' ;
  96. TBAST.1=TBAS1;
  97. TBAST.2=TBAS2;
  98. mo_1 = mo_mod1 et mo_mod2 et mo_mod3 et mo_mod4 ;
  99. ca_1 = ca_mod1 et ca_mod2 et ca_mod3 et ca_mod4 ;
  100. *************
  101. * TEMPS *
  102. *************
  103. PDT = 5.E-5 ;
  104. NPDT = 4200 ;
  105. NINS = 1 ;
  106. AMOR1 = AMOR TBAST (PROG 0. 0. 0. 0.);
  107. TA = TABLE 'AMORTISSEMENT' ;
  108. TA.'AMORTISSEMENT' = AMOR1 ;
  109. **************************
  110. * CONDITIONS INITIALES *
  111. **************************
  112. TINIT=TABLE 'INITIAL';
  113. VIT1 = MANU CHPO 1 PX 'ALFA' V0 ;
  114. VIT2 = MANU CHPO 1 PR 'ALFA' G0 ;
  115. VIT =VIT1 + VIT2;
  116. TINIT.'VITESSE'=VIT;
  117. ********************
  118. * CHARGEMENT *
  119. *********************
  120. FPES1 = FORCE 'FY' -49.05 G;
  121. FPESA1 = PJBA TBAS1 FPES1 ;
  122. fpesa2 = pjba mo_1 ca_1 fpes1 ;
  123. LISX1 = PROG 0. 15. ;
  124. LISY1 = PROG 1. 1. ;
  125. EVO_F1 = EVOL 'MANU' TEMPS LISX1 LISY1 ;
  126. CHA_PES1 = CHARGE 'FORC' FPESA1 EVO_F1 ;
  127. cha_pes2 = charge 'FORC' fpesa2 evo_f1 ;
  128. TCHARG = TABLE 'CHARGEMENT' ;
  129. TCHARG.'BASE_A' = CHA_PES1 ;
  130. chp_r =MANU CHPO 1 (CE1) 'RAID' 10000000.;
  131. chp_A =MANU CHPO 1 (CE1) 'AMON' 10000000.;
  132. ******************************************
  133. * LIAISON LIGNE LIGNE *
  134. ******************************************
  135. TLIA1 = TABLE 'LIAISON' ;
  136. TLB1 = TABLE 'LIAISON_B' ;
  137. TLIA1 .'LIAISON_B' = TLB1 ;
  138. TL1 = TABLE 'LIAISON_ELEMENTAIRE' ;
  139. TL1.'TYPE_LIAISON'= MOT 'LIGNE_LIGNE_FROTTEMENT';
  140. TL1.'LIGNE_MAITRE' = SOL ;
  141. TL1.'LIGNE_ESCLAVE'= CE1 ;
  142. TL1.'COEFFICIENT_GLISSEMENT' = 0.1;
  143. TL1.'COEFFICIENT_ADHERENCE' = 0.1 ;
  144. TL1.'RAIDEUR_TANGENTIELLE' = -10. ;
  145. TL1.'RAIDEURS' = chp_r ;
  146. TL1.'AMORTISSEMENT_TANGENTIEL' = 0.01 ;
  147. TLB1.1 = TL1 ;
  148. maif1 = manu poi1 (0. 0.) ;
  149. mollf1 = modele maif1 liaison ligne_ligne frottement ;
  150. callf1 = mate mollf1 lima SOL lies CE1 glis 0.1 adhe 0.1
  151. rtan -10. raid chp_r atan 0.01 ;
  152. ;
  153. TSORT1 = TABLE 'SORTIE' ;
  154. TSOR1 = TABLE 'SORTIE' ;
  155. TSOR2 = TABLE 'SORTIE' ;
  156. TSORT1.'VARIABLE' = TSOR1 ;
  157. TSOR1.'DEPLACEMENT' = VRAI ;
  158. TSOR1.'VITESSE' = VRAI ;
  159. *TSOR1.'ACCELERATION' = VRAI ;
  160. TSORT1.'LIAISON_B' = TSOR2 ;
  161. TVAR = TABLE 'VARIABLE' ;
  162. TVAR.'CHPOINT_FORCE_DE_CHOC' = VRAI ;
  163. TSOR2.TL1 = 'FAUX' ;
  164. *
  165. t_final = npdt * pdt ;
  166.  
  167. l_cal = prog 0 pas pdt t_final ;
  168.  
  169. tabdyn = table 'PASAPAS' ;
  170. tabdyn . modele = mo_1 et mollf1 ;
  171. tabdyn . caracteristiques = ca_1 et callf1 ;
  172. tabdyn . chargement = cha_pes2 ;
  173. tabdyn . vitesses = table ;
  174. tabdyn . vitesses . 0 = vit ;
  175. si d_pasa ;
  176. tabdyn . dynamique = vrai ;
  177. tabdyn . temps_sauves = l_cal ;
  178. pasapas tabdyn ;
  179.  
  180. sinon ;
  181. tabdyn . pas_de_temps = pdt ;
  182. tabdyn . nombre_pas = npdt ;
  183. tabdyn . pas_de_sortie = nins ;
  184. tabdyn . sortie = tsort1 ;
  185. dyne 'DE_VOGELAERE' tabdyn ;
  186. finsi ;
  187.  
  188.  
  189.  
  190. TRESU1 = DYNE 'DE_VOGELAERE' TBAST TA TSORT1 TINIT TLIA1 TCHARG
  191. NPDT PDT NINS ;
  192. *
  193. mai1 = (ce1 et sol);
  194. LISTE1 = TRESU1.'TEMPS_DE_SORTIE';
  195. liste2 = prog ;
  196. repeter bbt (dime tabdyn . temps) ;
  197. liste2 = liste2 et (prog tabdyn . temps . (&bbt - 1)) ;
  198. fin bbt ;
  199. si (neg graph 'N') ;
  200. N_DEF = 10 ;
  201. LISTE1 = TRESU1.'TEMPS_DE_SORTIE' ;
  202. REPETER BOUC1((DIME LISTE1)/N_DEF) ;
  203. TT = EXTR LISTE1 (&BOUC1*N_DEF) ;
  204. mess tt tt2 ;
  205. DEP1 = RECO TRESU1 TBAST TT DEPL ;
  206. dep2 = reco mo_1 ca_1 tabdyn tt2 depl ;
  207. DEF1 = DEFO MAI1 DEP1 1. ;
  208. def2 = defo mai1 dep2 1. ;
  209. SI (&BOUC1 EGA 1) ;DEFTOT1 =DEF1; deftot2=def2;
  210. SINON;DEFTOT1=DEFTOT1 ET DEF1 ;
  211. deftot2 = deftot2 et def2 ;
  212. FINSI ;
  213. FIN BOUC1 ;
  214. TRAC DEFTOT1 'ANIME' ;
  215. trac deftot2 'ANIME' ;
  216.  
  217. finsi;
  218. *
  219. TC=((2*H)/9.81)**0.5;
  220. NTC = ENTI(TC/PDT);
  221. NFOIS = NPDT - NTC;
  222. TIMP=EXTR LISTE1 (NPDT);
  223. TLIMP=PROG TIMP;
  224. VITESX = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'UX';
  225. VITE2X = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'UX';
  226. VITESY = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'UY';
  227. VITE2Y = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'UY';
  228. VITESR = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'RZ';
  229. VITE2R = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'RZ';
  230. ROT = EXTR VITESR 'ORDO';ROT2 = EXTR VITE2R 'ORDO';
  231. VIX = EXTR VITESX 'ORDO';VIX2 = EXTR VITE2X 'ORDO' ;
  232. VIY = EXTR VITESY 'ORDO';VIY2 = EXTR VITE2Y 'ORDO' ;
  233. ROTAVA = EXTR 1 ROT;ROTAV2 = EXTR 1 ROT2 ;
  234. VXAVA =EXTR 1 VIX;VXAV2 =EXTR 1 VIX2;
  235. VYAVA =EXTR 1 VIY;VYAV2 =EXTR 1 VIY2;
  236. *
  237. REPETER BLOC1 NFOIS;
  238. TIMP=EXTR LISTE1 (NPDT-&BLOC1);
  239. TLIMP=PROG TIMP;
  240. VITESX = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'UX';
  241. VITE2X = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'UX';
  242. VITESY = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'UY';
  243. VITE2Y = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'UY';
  244. VITESR = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'RZ';
  245. VITE2R = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'RZ';
  246. ROT = EXTR VITESR 'ORDO'; ROT2 = EXTR VITE2R 'ORDO';
  247. VIX = EXTR VITESX 'ORDO';VIX2 = EXTR VITE2X 'ORDO';
  248. VIY = EXTR VITESY 'ORDO';VIY2 = EXTR VITE2Y 'ORDO' ;
  249. ROT = EXTR 1 ROT;ROT2 = EXTR 1 ROT2 ;
  250. VIX =EXTR 1 VIX;VIX2 =EXTR 1 VIX2;
  251. VIY =EXTR 1 VIY;VIY2 =EXTR 1 VIY2;
  252. *mess &bloc1 rot rot2 rotava rotav2 ;
  253. SI (ROTAVA NEG ROT) ;
  254. OMEGA=ROTAVA;
  255. VITX=VXAVA;
  256. VITY=VYAVA;
  257. OMEG2=ROTAV2;
  258. VITX2=VXAV2;
  259. VITY2=VYAV2;
  260. QUIT BLOC1;
  261. FINSI;
  262.  
  263. ROTAVA=ROT;ROTAV2 = ROT2 ;
  264. VXAVA=VIX; VXAV2= VIX2 ;
  265. VYAVA=VIY; VYAV2 = VIY2 ;
  266. FIN BLOC1;
  267. ***********************
  268. * SOLUTION ANALYTIQUE *
  269. ***********************
  270. EPSI=0.01;
  271. VXANA = (2*V0 - R*G0)/3;
  272. VYANA = (2*9.81*H)**0.5;
  273. OMEANA= ((2*V0 - R*G0)/(-3*R));
  274. XDIF=ABS(VXANA-VITX);XDIF2=ABS(VXANA-VITX2);
  275. YDIF=ABS(VYANA-VITY);YDIF2=ABS(VYANA-VITY2);
  276. RDIF=ABS(OMEANA-OMEGA);RDIF2=ABS(OMEANA-OMEG2);
  277. err2 = abs((rot2 - rot)/rot) ;
  278. SI ((XDIF > EPSI) OU (XDIF2 > EPSI) OU (ERR2 > EPSI));
  279. ERREUR 5;
  280. SINON;
  281. SI ((YDIF > EPSI) OU (YDIF2 > EPSI));
  282. ERREUR 5;
  283. SINON;
  284. SI ((RDIF > EPSI) OU (RDIF2 > EPSI)) ;
  285. ERREUR 5;
  286. SINON;
  287. ERREUR 0;
  288. FINSI;
  289. FINSI;
  290. FINSI;
  291. FIN;
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  

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