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. * pas de verif de positivite
  261. tabdyn2 . 'STABILITE' = faux;
  262. pasapas tabdyn2 ;
  263. sinon ;
  264. tabdyn2 . sortie = tsor1 ;
  265. tabdyn2 . pas_de_temps = pdt ;
  266. tabdyn2 . nombre_pas = npdt ;
  267. tabdyn2 . pas_de_sortie = nins ;
  268.  
  269. dyne 'DIFFERENCES_CENTREES' tabdyn2 ;
  270. finsi ;
  271.  
  272. TRESU11 = DYNE 'DIFFERENCES_CENTREES' TBAST1 TSORT1
  273. TLIA1 TINIT NPDT PDT NINS ;
  274. *TRESU2 = DYNE 'DE_VOGELAERE' TBAST2 TSORT2
  275. TRESU2 = DYNE 'DIFFERENCES_CENTREES' TBAST2 TSORT2
  276. TLIA2 TINIT NPDT PDT NINS ;
  277.  
  278.  
  279. *
  280. EV5 = EVOL rouge 'RECO' TRESU11 TBAST1 'DEPL' OB 'UX';
  281. EV6 = EVOL rouge 'RECO' TRESU11 TBAST1 'DEPL' OB 'UY';
  282. ev15 = EVOL rouge 'RECO' tabdyn1 mo_1 ca_1 'DEPL' OB 'UX';
  283. ev16 = EVOL rouge 'RECO' tabdyn1 mo_1 ca_1 'DEPL' OB 'UY' ;
  284. EV7 = EVOL 'RECO' TRESU2 TBAST2 'DEPL' OB 'UX';
  285. EV8 = EVOL 'RECO' TRESU2 TBAST2 'DEPL' OB 'UY';
  286. o_8 = extr ev8 ordo ;
  287. z8 = extr o_8 (dime o_8) ;
  288. si d_pasa ;
  289. a_t = prog 0.; o_27 = prog 0.; o_28 = prog 0.;
  290. repeter b_p ((dime tabdyn2 . temps) - 1) ;
  291. a_t = a_t et (prog tabdyn2 . temps . &b_p) ;
  292. chu_1 = reco tabdyn2 . deplacements . &b_p mo_2 ca_2 ;
  293. o_27 = o_27 et (prog ('EXTR' chu_1 'UX' OB )) ;
  294. o_28 = o_28 et (prog ('EXTR' chu_1 'UY' OB )) ;
  295.  
  296. fin b_p ;
  297. ev27 = evol vert manu a_t o_27 ;
  298. ev28 = evol vert manu a_t o_28 ;
  299. zz8 = extr o_28 (dime o_28) ;
  300.  
  301. sinon ;
  302. ev27 = EVOL 'RECO' tabdyn2 mo_2 ca_2 'DEPL' OB 'UX';
  303. ev28 = EVOL 'RECO' tabdyn2 mo_2 ca_2 'DEPL' OB 'UY';
  304. finsi ;
  305. *dess (ev5 et ev7) ; dess (ev6 et ev8) ;
  306. *dess (ev5 et ev15 et ev7 et ev27) ;
  307. *dess (ev6 et ev16 et ev8 et ev28) ;
  308. *dess (ev8 et ev28) ;
  309. * valeurs avril 2012
  310. z8_0 = 1.04964E-02 ; zz8_0 = 1.32027E-02 ;
  311. errz8 = abs((z8 - z8_0)/z8_0) ;
  312. errzz8 = abs((zz8 - zz8_0)/zz8_0) ;
  313. si ((errz8 > 1.e-2) et (errzz8 > 1.e-2)) ;
  314. erre 5 ;
  315. sinon ;
  316. erre 0 ;
  317. finsi ;
  318. TX1 =EXTR EV5 'ORDO';TX11 =EXTR EV15 'ORDO';
  319. TX2 =EXTR EV7 'ORDO';TX12 =EXTR EV27 'ORDO';
  320. TY1 =EXTR EV6 'ORDO';TY11 =EXTR EV16 'ORDO';
  321. TY2 =EXTR EV8 'ORDO';TY12 =EXTR EV28 'ORDO';
  322. NFOIS= dime tresu11.temps_de_sortie;
  323. max_x = 0.;max1_x = 0.;
  324. max_y = 0.;max1_y = 0.;
  325. *
  326. *recherche des maximums
  327. REPETER BLOC1 NFOIS;
  328. x1 = EXTR TX1 (&BLOC1);x11 = EXTR TX11 (&BLOC1);
  329. x2 = EXTR TX2 (&BLOC1);x12 = EXTR TX12 (&BLOC1);
  330. y1 = EXTR TY1 (&BLOC1);y11 = EXTR TY11 (&BLOC1);
  331. y2 = EXTR TY2 (&BLOC1);y12 = EXTR TY12 (&BLOC1);
  332. ecart_x = ABS(x1 - x2);ecart1_x = ABS(x11 - x12);
  333. ecart_y = ABS(y1 - y2);ecart1_y = ABS(y11 - y12);
  334. SI (ecart_x > max_x);
  335. max_x = ecart_x;
  336. FINSI;
  337. SI (ecart1_x > max1_x);
  338. max1_x = ecart1_x;
  339. FINSI;
  340. SI (ecart_y > max_y);
  341. max_y = ecart_y;
  342. FINSI;
  343. SI (ecart1_y > max1_y);
  344. max1_y = ecart1_y;
  345. FINSI;
  346. FIN BLOC1;
  347.  
  348. * validation par rapport aux resultats numeriques
  349. * d'une certaine version
  350.  
  351.  
  352. SI ((max_x > 0.0018) ou (max1_x > 0.005)) ;
  353. ERREUR 5;
  354. SINON;
  355. SI ((max_y > 0.0012) ou (max1_y > 0.004));
  356. ERREUR 5;
  357. SINON;
  358. * ERREUR 0;
  359. FINSI;
  360. FINSI;
  361. FIN;
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  

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