Télécharger dy_devo8.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : dy_devo8.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. * Test Dy_devo8.dgibi: Jeux de donn�es *
  5. * ------------------------------------ *
  6. * *
  7. d_pasa = vrai ;
  8. OPTION ECHO 0 ;
  9. OPTION ELEM SEG2 DIME 3 ;
  10. *********************************
  11. * PROBL�ME *
  12. * Test de Comparaison entre *
  13. * les liaisons *
  14. * point_cercle_mobile et *
  15. * point_ligne . *
  16. * *
  17. * Impact d'une but�e *
  18. * sur un cercle mobile . *
  19. * *
  20. *********************************
  21. OC = 0. 0. 0. ;
  22. A = 0.04 0. 0. ;
  23. B = 0. 0.04 0. ;
  24. N = 0. 0. 1. ;
  25. C1 = CERC 100 B OC A ;
  26. C2 = C1 TOUR -90. OC N ;
  27. C3 = C1 ET C2 ;
  28. C4 = C3 TOUR -180. OC N ;
  29. C5 = C3 ET C4 ;
  30. OB = 0.01 0.038 0. ;
  31. CE1 = ELIM C5 0.0001 ;
  32. PCEX = 0 0 0 ;
  33. PCEY = 0 0 0 ;
  34. PCEZ = 0 0 0 ;
  35. PBX = 0 0 0 ;
  36. PBY = 0 0 0 ;
  37. PCX = 0 0 0 ;
  38. PCY = 0 0 0 ;
  39. N1 = 0. 0. 1. ;
  40. OEIL = 1. 1. 50. ;
  41. *********************************
  42. * BASE MODALE *
  43. *********************************
  44. MAI1 = (CE1 ET OB) ;
  45. CHPCE1 =
  46. MANU CHPO 6 (CE1 ET OC) 'UX' 1.0 'UY' 0.0 'UZ' 0.0
  47. 'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
  48. CHPCE2 =
  49. MANU CHPO 6 (CE1 ET OC) 'UX' 0.0 'UY' 1.0 'UZ' 0.0
  50. 'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
  51. CHPCE3 =
  52. MANU CHPO 6 (CE1 ET OC) 'UX' 0.0 'UY' 0.0 'UZ' 0.0
  53. 'RX' 0.0 'RY' 0.0 'RZ' 1.0 ;
  54. CHPOB1 = MANU CHPO 6 OB 'UX' 1.0 'UY' 0.0 'UZ' 0.0
  55. 'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
  56. CHPOB2 = MANU CHPO 6 OB 'UX' 0.0 'UY' 1.0 'UZ' 0.0
  57. 'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
  58. CHPOC1 = MANU CHPO 6 OC 'UX' 1.0 'UY' 0.0 'UZ' 0.0
  59. 'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
  60. CHPOC2 = MANU CHPO 6 OC 'UX' 0.0 'UY' 1.0 'UZ' 0.0
  61. 'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
  62. * POINT LIGNE_FROTTEMENT
  63. Z=0 0 0;
  64. TBAS1 = TABLE 'BASE_MODALE' ;
  65. TBAS1 . 'MODES' = TABLE 'BASE_DE_MODES' ;
  66. TBAS1 . 'MODES'. 'MAILLAGE' = CE1 ;
  67. TBAS1 . 'MODES'. 1 = TABLE 'MODE' ;
  68. TBAS1 . 'MODES'. 1 . 'POINT_REPERE' = PCEX ;
  69. TBAS1 . 'MODES'. 1 . 'FREQUENCE' = 0.0;
  70. TBAS1 . 'MODES'. 1 . 'MASSE_GENERALISEE' = 40.;
  71. TBAS1 . 'MODES'. 1 . 'DEFORMEE_MODALE' = CHPCE1 ;
  72. TBAS1 . 'MODES'. 1 .numero_mode = 1 ;
  73. mai1 = manu poi1 pcex ;
  74. mo_mod1 = modele mai1 mecanique elastique modal ;
  75. ca_mod1 = mate mo_mod1 freq 0.0 mass 40. defo chpce1 ;
  76. TBAS1 . 'MODES'. 2 = TABLE 'MODE' ;
  77. TBAS1 . 'MODES'. 2 . 'POINT_REPERE' = PCEY ;
  78. TBAS1 . 'MODES'. 2 . 'FREQUENCE' = 0.0;
  79. TBAS1 . 'MODES'. 2 . 'MASSE_GENERALISEE' = 40.;
  80. TBAS1 . 'MODES'. 2 . 'DEFORMEE_MODALE' = CHPCE2 ;
  81. TBAS1 . 'MODES'. 2 .numero_mode = 2 ;
  82. mai2 = manu poi1 pcey ;
  83. mo_mod2 = modele mai2 mecanique elastique modal ;
  84. ca_mod2 = mate mo_mod2 freq 0.0 mass 40. defo chpce2 ;
  85.  
  86.  
  87. TBAS2 = TABLE 'BASE_MODALE' ;
  88. TBAS2 . 'MODES' = TABLE 'BASE_DE_MODES' ;
  89. TBAS2 . 'MODES'. 'MAILLAGE' = (OB et Z); ;
  90. TBAS2 . 'MODES'. 1 = TABLE 'MODE' ;
  91. TBAS2 . 'MODES'. 1 . 'POINT_REPERE' = PBX ;
  92. TBAS2 . 'MODES'. 1 . 'FREQUENCE' = 0.0;
  93. TBAS2 . 'MODES'. 1 . 'MASSE_GENERALISEE' = 40.;
  94. TBAS2 . 'MODES'. 1 . 'DEFORMEE_MODALE' = CHPOB1 ;
  95. TBAS2 . 'MODES'. 1 .numero_mode = 1 ;
  96. mai11 = manu poi1 pbx ;
  97. mo_mod11 = modele mai11 mecanique elastique modal ;
  98. ca_mod11 = mate mo_mod11 freq 0.0 mass 40. defo CHPOB1 ;
  99. TBAS2 . 'MODES'. 2 = TABLE 'MODE' ;
  100. TBAS2 . 'MODES'. 2 . 'POINT_REPERE' = PBY ;
  101. TBAS2 . 'MODES'. 2 . 'FREQUENCE' = 0.0;
  102. TBAS2 . 'MODES'. 2 . 'MASSE_GENERALISEE' = 40.;
  103. TBAS2 . 'MODES'. 2 . 'DEFORMEE_MODALE' = CHPOB2 ;
  104. TBAS2 . 'MODES'. 2 .numero_mode = 2 ;
  105. mai12 = manu poi1 pby ;
  106. mo_mod12 = modele mai12 mecanique elastique modal ;
  107. ca_mod12 = mate mo_mod12 freq 0.0 mass 40. defo CHPOB2 ;
  108. TBAST1 = TABLE 'ENSEMBLE_DE_BASES';
  109. TBAST1.1=TBAS1;
  110. TBAST1.2=TBAS2;
  111. mo_1 = mo_mod1 et mo_mod2 et mo_mod11 et mo_mod12 ;
  112. ca_1 = ca_mod1 et ca_mod2 et ca_mod11 et ca_mod12 ;
  113. * POINT CERCLE_FROTTEMENT
  114. MAI2 = OC ET OB ;
  115. TBAS3 = TABLE 'BASE_MODALE' ;
  116. TBAS3 . 'MODES' = TABLE 'BASE_DE_MODES' ;
  117. TBAS3 . 'MODES'. 'MAILLAGE' = (OC et z);
  118. TBAS3 . 'MODES'. 1 = TABLE 'MODE' ;
  119. TBAS3 . 'MODES'. 1 . 'POINT_REPERE' = PCX ;
  120. TBAS3 . 'MODES'. 1 . 'FREQUENCE' = 0.0 ;
  121. TBAS3 . 'MODES'. 1 . 'MASSE_GENERALISEE' = 40. ;
  122. TBAS3 . 'MODES'. 1 . 'DEFORMEE_MODALE' = CHPOC1 ;
  123. TBAS3 . 'MODES'. 1 .numero_mode = 1 ;
  124. mai21 = manu poi1 pcx ;
  125. mo_mod21 = modele mai21 mecanique elastique modal ;
  126. ca_mod21 = mate mo_mod21 freq 0.0 mass 40. defo CHPOC1 ;
  127. TBAS3 . 'MODES'. 2 = TABLE 'MODE' ;
  128. TBAS3 . 'MODES'. 2 . 'POINT_REPERE' = PCY ;
  129. TBAS3 . 'MODES'. 2 . 'FREQUENCE' = 0.0 ;
  130. TBAS3 . 'MODES'. 2 . 'MASSE_GENERALISEE' = 40. ;
  131. TBAS3 . 'MODES'. 2 . 'DEFORMEE_MODALE' = CHPOC2 ;
  132. TBAS3 . 'MODES'. 2 .numero_mode = 2 ;
  133. mai22 = manu poi1 pcy ;
  134. mo_mod22 = modele mai22 mecanique elastique modal ;
  135. ca_mod22 = mate mo_mod22 freq 0.0 mass 40. defo CHPOC2 ;
  136. TBAST2 = TABLE 'ENSEMBLE_DE_BASES';
  137. TBAST2.1 = TBAS3;
  138. TBAST2.2 =TBAS2;
  139. mo_2 = mo_mod21 et mo_mod22 et mo_mod11 et mo_mod12 ;
  140. ca_2 = ca_mod21 et ca_mod22 et ca_mod11 et ca_mod12 ;
  141. *****************************************
  142. * CHARGEMENT *
  143. *****************************************
  144. *****************************************
  145. * TEMPS *
  146. *****************************************
  147. PDT = 2.5E-5 ;
  148. NPDT = 400;
  149. NINS = 1;
  150. *********************************
  151. * CONDITIONS INITIALES *
  152. *********************************
  153. U0 = 5. ;
  154. V0 = 10. ;
  155. TINIT = TABLE 'INITIAL' ;
  156. TINIT.'VITESSE'=
  157. (MANU CHPO PBX 1 alfa U0 'NATURE' 'DIFFUS') ET
  158. (MANU CHPO PBY 1 alfa V0 'NATURE' 'DIFFUS');
  159.  
  160. *********************************
  161. * LIAISON LIGNE_LIGNE *
  162. * FROTTEMENT *
  163. *********************************
  164. TLIA1 = TABLE 'LIAISON' ;
  165. TLB1 = TABLE 'LIAISON_B' ;
  166. TLIA1 .'LIAISON_B' = TLB1 ;
  167. *
  168. CHRA=MANU 'CHPO' 1 OB 'RAIN' 100000000.;
  169. CHAM=MANU 'CHPO' 1 OB 'AMON' 63245.5;
  170. *
  171. TL1 = TABLE 'LIAISON_ELEMENTAIRE' ;
  172. TL1.'TYPE_LIAISON'= MOT 'LIGNE_LIGNE_FROTTEMENT';
  173. TL1.'LIGNE_MAITRE' = CE1 ;
  174. TL1.'LIGNE_ESCLAVE' = OB ;
  175. TL1.'COEFFICIENT_GLISSEMENT' = 20.0 ;
  176. TL1.'COEFFICIENT_ADHERENCE' = 20.0 ;
  177. TL1.'RAIDEUR_TANGENTIELLE' = -100. ;
  178. TL1.'RAIDEURS' = CHRA;
  179. TL1.'AMORTISSEMENT_TANGENTIEL' = 0.01 ;
  180. *TL1.'AMORTISSEMENTS' =CHAM;
  181. TL1.'NORMALE' = N1;
  182. *TL1.'SYMETRIE' = 'GLOBALE';
  183. TLB1.1 = TL1 ;
  184. mallf1 = manu poi1 (0. 0. 0.) ;
  185. mollf1 = modele mallf1 liaison ligne_ligne frottement ;
  186. callf1 = mate mollf1 lima ce1 lies OB glis 20. adhe 20. rtan -100.
  187. raid CHRA atan 1.e-2 norm n1 ;
  188. *********************************
  189. * LIAISON POINT_CERCLE *
  190. * FROTTEMENT *
  191. *********************************
  192. TLIA2 = TABLE 'LIAISON' ;
  193. TLB2 = TABLE 'LIAISON_B' ;
  194. TLIA2 .'LIAISON_B' = TLB2 ;
  195. *
  196. TL2 = TABLE 'LIAISON_ELEMENTAIRE' ;
  197. TL2.'TYPE_LIAISON'= MOT 'POINT_CERCLE_MOBILE';
  198. TL2.'POINT' = OB ;
  199. TL2.'CERCLE' = OC ;
  200. TL2.'COEFFICIENT_GLISSEMENT' = 20.0 ;
  201. TL2.'COEFFICIENT_ADHERENCE' = 20.0 ;
  202. TL2.'RAIDEUR_TANGENTIELLE' = -100. ;
  203. TL2.'RAIDEUR' = 100000000. ;
  204. TL2.'AMORTISSEMENT_TANGENTIEL' = 0.01 ;
  205. *TL2.'AMORTISSEMENT' =63245.5 ;
  206. TL2.'NORMALE' = N1 ;
  207. TL2.'RAYON' = 0.04 ;
  208. TLB2.1 = TL2 ;
  209. mapcm2 = manu poi1 OB ;
  210. mopcm2 = modele mapcm2 liaison point_cercle mobile ;
  211. capcm2 = mate mopcm2 pcercle OC glis 20. adhe 20. rtan -100.
  212. raid 100000000. atan 1.e-2 norm n1 rayon 0.04 ;
  213. *********************************
  214. * SORTIES *
  215. *********************************
  216. TSORT1 = TABLE 'SORTIE' ;
  217. TSORT2 = TABLE 'SORTIE' ;
  218. TSOR1 = TABLE 'SORTIE' ;
  219. TSORT1.'VARIABLE' = TSOR1 ;
  220. TSORT2.'VARIABLE' = TSOR1 ;
  221. TSOR1.'DEPLACEMENT' = VRAI ;
  222. TSOR1.'VITESSE' = FAUX ;
  223.  
  224. TSOR2 = TABLE 'SORTIE' ;
  225. TSORT1.'LIAISON_B' = TSOR2 ;
  226. TSOR2.TL1 = FAUX ;
  227. TSOR3 = TABLE 'SORTIE' ;
  228. TSORT2.'LIAISON_B' = TSOR3 ;
  229. TSOR3.TL2 = FAUX ;
  230. *********************************
  231. * OPERATEUR DYNE *
  232. *********************************
  233.  
  234. tabdyn1 = table 'PASAPAS' ;
  235. tabdyn1 . sortie = tsor1 ;
  236. tabdyn1 . modele = mo_1 et mollf1 ;
  237. tabdyn1 . caracteristiques = ca_1 et callf1 ;
  238. tabdyn1 . pas_de_temps = pdt ;
  239. tabdyn1 . nombre_pas = npdt ;
  240. tabdyn1 . pas_de_sortie = nins ;
  241. tabdyn1 . vitesses = table ;
  242. tabdyn1 . vitesses . 0 =
  243. (MANU CHPO PBX 1 alfa U0 'NATURE' 'DIFFUS') ET
  244. (MANU CHPO PBY 1 alfa V0 'NATURE' 'DIFFUS');
  245.  
  246. dyne 'DIFFERENCES_CENTREES' tabdyn1 ;
  247.  
  248. tabdyn2 = table 'PASAPAS' ;
  249. tabdyn2 . modele = mo_2 et mopcm2 ;
  250. tabdyn2 . caracteristiques = ca_2 et capcm2 ;
  251. tabdyn2 . vitesses = table ;
  252. tabdyn2 . vitesses . 0 =
  253. (MANU CHPO PBX 1 alfa U0 'NATURE' 'DIFFUS') ET
  254. (MANU CHPO PBY 1 alfa V0 'NATURE' 'DIFFUS');
  255. si d_pasa;
  256. tabdyn2 . dynamique = vrai ;
  257. tabdyn2 . temps_calcules = prog 0. pas pdt (npdt*pdt) ;
  258. tabdyn2 . precision = 1.e-6 ;
  259. tabdyn2 . precflex = 1.e-6 ;
  260. pasapas tabdyn2 ;
  261. sinon ;
  262. tabdyn2 . sortie = tsor1 ;
  263. tabdyn2 . pas_de_temps = pdt ;
  264. tabdyn2 . nombre_pas = npdt ;
  265. tabdyn2 . pas_de_sortie = nins ;
  266.  
  267. dyne 'DIFFERENCES_CENTREES' tabdyn2 ;
  268. finsi ;
  269.  
  270. TRESU11 = DYNE 'DIFFERENCES_CENTREES' TBAST1 TSORT1
  271. TLIA1 TINIT NPDT PDT NINS ;
  272. *TRESU2 = DYNE 'DE_VOGELAERE' TBAST2 TSORT2
  273. TRESU2 = DYNE 'DIFFERENCES_CENTREES' TBAST2 TSORT2
  274. TLIA2 TINIT NPDT PDT NINS ;
  275.  
  276.  
  277. *
  278. EV5 = EVOL rouge 'RECO' TRESU11 TBAST1 'DEPL' OB 'UX';
  279. EV6 = EVOL rouge 'RECO' TRESU11 TBAST1 'DEPL' OB 'UY';
  280. ev15 = EVOL rouge 'RECO' tabdyn1 mo_1 ca_1 'DEPL' OB 'UX';
  281. ev16 = EVOL rouge 'RECO' tabdyn1 mo_1 ca_1 'DEPL' OB 'UY' ;
  282. EV7 = EVOL 'RECO' TRESU2 TBAST2 'DEPL' OB 'UX';
  283. EV8 = EVOL 'RECO' TRESU2 TBAST2 'DEPL' OB 'UY';
  284. o_8 = extr ev8 ordo ;
  285. z8 = extr o_8 (dime o_8) ;
  286. si d_pasa ;
  287. a_t = prog 0.; o_27 = prog 0.; o_28 = prog 0.;
  288. repeter b_p ((dime tabdyn2 . temps) - 1) ;
  289. a_t = a_t et (prog tabdyn2 . temps . &b_p) ;
  290. chu_1 = reco tabdyn2 . deplacements . &b_p mo_2 ca_2 ;
  291. o_27 = o_27 et (prog ('EXTR' chu_1 'UX' OB )) ;
  292. o_28 = o_28 et (prog ('EXTR' chu_1 'UY' OB )) ;
  293.  
  294. fin b_p ;
  295. ev27 = evol vert manu a_t o_27 ;
  296. ev28 = evol vert manu a_t o_28 ;
  297. zz8 = extr o_28 (dime o_28) ;
  298.  
  299. sinon ;
  300. ev27 = EVOL 'RECO' tabdyn2 mo_2 ca_2 'DEPL' OB 'UX';
  301. ev28 = EVOL 'RECO' tabdyn2 mo_2 ca_2 'DEPL' OB 'UY';
  302. finsi ;
  303. *dess (ev5 et ev7) ; dess (ev6 et ev8) ;
  304. *dess (ev5 et ev15 et ev7 et ev27) ;
  305. *dess (ev6 et ev16 et ev8 et ev28) ;
  306. *dess (ev8 et ev28) ;
  307. * valeurs avril 2012
  308. z8_0 = 1.04964E-02 ; zz8_0 = 1.32027E-02 ;
  309. errz8 = abs((z8 - z8_0)/z8_0) ;
  310. errzz8 = abs((zz8 - zz8_0)/zz8_0) ;
  311. si ((errz8 > 1.e-2) et (errzz8 > 1.e-2)) ;
  312. erre 5 ;
  313. sinon ;
  314. erre 0 ;
  315. finsi ;
  316. TX1 =EXTR EV5 'ORDO';TX11 =EXTR EV15 'ORDO';
  317. TX2 =EXTR EV7 'ORDO';TX12 =EXTR EV27 'ORDO';
  318. TY1 =EXTR EV6 'ORDO';TY11 =EXTR EV16 'ORDO';
  319. TY2 =EXTR EV8 'ORDO';TY12 =EXTR EV28 'ORDO';
  320. NFOIS= dime tresu11.temps_de_sortie;
  321. max_x = 0.;max1_x = 0.;
  322. max_y = 0.;max1_y = 0.;
  323. *
  324. *recherche des maximums
  325. REPETER BLOC1 NFOIS;
  326. x1 = EXTR TX1 (&BLOC1);x11 = EXTR TX11 (&BLOC1);
  327. x2 = EXTR TX2 (&BLOC1);x12 = EXTR TX12 (&BLOC1);
  328. y1 = EXTR TY1 (&BLOC1);y11 = EXTR TY11 (&BLOC1);
  329. y2 = EXTR TY2 (&BLOC1);y12 = EXTR TY12 (&BLOC1);
  330. ecart_x = ABS(x1 - x2);ecart1_x = ABS(x11 - x12);
  331. ecart_y = ABS(y1 - y2);ecart1_y = ABS(y11 - y12);
  332. SI (ecart_x > max_x);
  333. max_x = ecart_x;
  334. FINSI;
  335. SI (ecart1_x > max1_x);
  336. max1_x = ecart1_x;
  337. FINSI;
  338. SI (ecart_y > max_y);
  339. max_y = ecart_y;
  340. FINSI;
  341. SI (ecart1_y > max1_y);
  342. max1_y = ecart1_y;
  343. FINSI;
  344. FIN BLOC1;
  345.  
  346. * validation par rapport aux resultats numeriques
  347. * d'une certaine version
  348.  
  349.  
  350. SI ((max_x > 0.0018) ou (max1_x > 0.005)) ;
  351. ERREUR 5;
  352. SINON;
  353. SI ((max_y > 0.0012) ou (max1_y > 0.004));
  354. ERREUR 5;
  355. SINON;
  356. * ERREUR 0;
  357. FINSI;
  358. FINSI;
  359. FIN;
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  

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