Télécharger dyne01.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : dyne01.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. * Test Dyne01.dgibi: Jeux de données *
  5. * ---------------------------------- *
  6. * *
  7. *------------------------------------------------------
  8. * Test dyne01.dgibi
  9. *------------------------------------------------------
  10. TITRE
  11. ' DYNE liaison POLYNOMIALE: test reprise de calcul';
  12. OPTION DIME 3 MODE TRID ECHO 0 ;
  13. *
  14. * Creation des points modaux
  15. *
  16. P0 = 0. 0. 0. ;
  17. PX = 0. 0. 0. ;
  18. PY = 0. 0. 0. ;
  19. *
  20. * Données
  21. *
  22. MG = 1.25 ;
  23. FR = 5.23 ;
  24. T = 1. / FR ;
  25. DEFMX = MANU 'CHPO' P0 3 UX 1. UY 0. UZ 0. ;
  26. DEFMY = MANU 'CHPO' P0 3 UX 0. UY 1. UZ 0. ;
  27. *
  28. * Table de bases de modes
  29. *
  30. TAB1 = TABLE 'BASES_DE_MODE' ;
  31. TABMO1 = TABLE 'MODE' ;
  32. TABMO1.'POINT_REPERE' = PX ;
  33. TABMO1.'FREQUENCE' = FR ;
  34. TABMO1.'MASSE_GENERALISEE' = MG ;
  35. TABMO1.'DEFORMEE_MODALE' = DEFMX ;
  36. TAB1.1 = TABMO1 ;
  37. *
  38. TABMO2 = TABLE 'MODE' ;
  39. TABMO2.'POINT_REPERE' = PY ;
  40. TABMO2.'FREQUENCE' = FR ;
  41. TABMO2.'MASSE_GENERALISEE' = MG ;
  42. TABMO2.'DEFORMEE_MODALE' = DEFMY ;
  43. TAB1.2 = TABMO2 ;
  44. *
  45. TAB1.'MAILLAGE' = P0 ;
  46. TBAS = TABLE 'BASE_MODALE' ;
  47. TBAS.'MODES' = TAB1 ;
  48. *
  49. * Table des conditions initiales
  50. *
  51. CPID = (MANU 'CHPO' PX 1 ALFA .033 ) +
  52. (MANU 'CHPO' PY 1 ALFA .54 ) ;
  53. CPIV = (MANU 'CHPO' PX 1 ALFA 5.) +
  54. (MANU 'CHPO' PY 1 ALFA -0.9) ;
  55. TINIT = TABLE 'INITIAL' ;
  56. TINIT.'DEPLACEMENT' = CPID ;
  57. TINIT.'VITESSE' = CPIV ;
  58. TINIT2 = TINIT ;
  59. *
  60. * Tables des liaisons
  61. *
  62. EPS1 = -1.E-9 ;
  63. TLIAI = TABLE 'LIAISON' ;
  64. TLA = TABLE 'LIAISON_A' ;
  65. *
  66. TLB = TABLE 'LIAISON_B' ;
  67. TLIAI.'LIAISON_B' = TLB ;
  68. TLB1 = TABLE 'LIAISON_ELEMENTAIRE' ;
  69. TLB1.'TYPE_LIAISON' = MOT 'POINT_PLAN' ;
  70. TLB1.'SUPPORT' = PX ;
  71. TLB1.'NORMALE' = (1.0 0.0 0.0) ;
  72. TLB1.'RAIDEUR' = 0. ;
  73. TLB1.'JEU' = 1.0 ;
  74. TLB1.'AMORTISSEMENT' = 0. ;
  75. TLB.1 = TLB1 ;
  76. *
  77. TLIAI.'LIAISON_A' = TLA ;
  78. TL1 = TABLE 'LIAISON_ELEMENTAIRE' ;
  79. *
  80. TL1.'TYPE_LIAISON' = MOT 'POLYNOMIALE' ;
  81. TL1.'SUPPORT' = PX ;
  82. TL1.'COEFFICIENT' = .67 ;
  83. TL2 = TABLE 'CONTRIBUTION' ;
  84. TL1.PY = TL2 ;
  85. TL2.'EXPOSANT_DEPLACEMENT' = 1.2 ;
  86. TL2.'RETARD_DEPLACEMENT' = 0.01 ;
  87. TL2.'EXPOSANT_VITESSE' = 0. ;
  88. TL2.'RETARD_VITESSE' = 0. ;
  89. TL2.'JEU_DEPLACEMENT' = 0. ;
  90. TL2.'JEU_VITESSE' = 0. ;
  91. TLA.1 = TL1 ;
  92. TL3 = TABLE 'LIAISON_ELEMENTAIRE' ;
  93. TL3.'TYPE_LIAISON' = MOT 'POLYNOMIALE' ;
  94. TL3.'SUPPORT' = PX ;
  95. TL3.'COEFFICIENT' = .67 ;
  96. TL4 = TABLE 'CONTRIBUTION' ;
  97. TL3.PY = TL4 ;
  98. TL4.'EXPOSANT_DEPLACEMENT' = 1.2 ;
  99. TL4.'RETARD_DEPLACEMENT' = 0. ;
  100. TL4.'EXPOSANT_VITESSE' = 0. ;
  101. TL4.'RETARD_VITESSE' = 0. ;
  102. TL4.'JEU_DEPLACEMENT' = EPS1 ;
  103. TL4.'JEU_VITESSE' = 0. ;
  104. TLA.2 = TL3 ;
  105. *
  106. * Table de sortie des variables generalisees
  107. *
  108. TSORT = TABLE 'SORTIE' ;
  109. TSORV = TABLE 'VARIABLE' ;
  110. TSORV.'DEPLACEMENT' = vrai ;
  111. TSORV.'VITESSE' = vrai ;
  112. TSORV.'ACCELERATION' = vrai ;
  113. TSORT.'VARIABLE' = TSORV ;
  114. *
  115. * Table de sortie variables de liaison sur base A
  116. *
  117. TSORL = TABLE 'LIAISON_A' ;
  118. TSORL.TL1 = TABLE ;
  119. TSORL.TL1.'FORCE_POLYNOMIALE' = vrai ;
  120. TSORL.TL3 = TABLE ;
  121. TSORL.TL3.'FORCE_POLYNOMIALE' = vrai ;
  122. TSORT.'LIAISON_A' = TSORL ;
  123. *
  124. * Table de sortie variables de liaison sur base B
  125. *
  126. TSORB = TABLE 'LIAISON_B' ;
  127. TSORB.TLB1 = TABLE ;
  128. TSORB.TLB1.'FORCE_DE_CHOC' = VRAI ;
  129. TSORT.'LIAISON_B' = TSORB ;
  130. *
  131. * Donnee des valeurs temporelles : NT & DT
  132. *
  133. NT = 1200 ;
  134. DT = 0.0025 ;
  135. TT = NT * DT ;
  136. NPC = 5 ;
  137. LST = PROG 0. PAS (DT * NPC) NPAS (NT / NPC) ;
  138. *
  139. *------> appel a DYNE avec NT pas de temps
  140. *
  141. TRES1 = DYNE 'DE_VOGELAERE'
  142. TBAS TLIAI TINIT NT DT NPC TSORT ;
  143. *
  144. *------> appel a DYNE avec NT/2 pas de temps
  145. * puis reprise avec NT/2 pas supplementaires
  146. *
  147. NT2 = ENTIER(NT/2) ;
  148. TRES21 = DYNE 'DE_VOGELAERE'
  149. TBAS TLIAI TINIT NT2 DT NPC TSORT ;
  150. *
  151. TREP = TRES21.'REPRISE' ;
  152. TINIT.'REPRISE' = TREP ;
  153. *
  154. TRES22 = DYNE 'DE_VOGELAERE'
  155. TBAS TLIAI TINIT NT2 DT NPC TSORT ;
  156. *
  157. LIS1 = TRES1.'TEMPS_DE_SORTIE' ;
  158. LIS21 = TRES21.'TEMPS_DE_SORTIE' ;
  159. LIS22 = TRES22.'TEMPS_DE_SORTIE' ;
  160. *
  161. * Deplacement / vitesse / acceleration
  162. *
  163. I = 0 ;
  164. NF1 = ENTIER (NT / NPC) + 1 ;
  165. REPETER BOUC1 NF1 ;
  166. I = I + 1 ;
  167. CHD1 = TRES1.I.'DEPLACEMENT' ;
  168. DEP1 = EXTR CHD1 ALFA PX ;
  169. CHV1 = TRES1.I.'VITESSE' ;
  170. VIT1 = EXTR CHV1 ALFA PX ;
  171. CHA1 = TRES1.I.'ACCELERATION' ;
  172. ACC1 = EXTR CHA1 ALFA PX ;
  173. SI (I EGA 1) ;
  174. LD1 = PROG DEP1 ;
  175. LV1 = PROG VIT1 ;
  176. LA1 = PROG ACC1 ;
  177. SINON ;
  178. LD1 = LD1 ET (PROG DEP1) ;
  179. LV1 = LV1 ET (PROG VIT1) ;
  180. LA1 = LA1 ET (PROG ACC1) ;
  181. FINSI ;
  182. FIN BOUC1 ;
  183. *
  184. I = 0 ;
  185. NF21 = ENTIER((NT / NPC) / 2) + 1 ;
  186. REPETER BOUC21 NF21 ;
  187. I = I + 1 ;
  188. CHD21 = TRES21.I.'DEPLACEMENT' ;
  189. DEP21 = EXTR CHD21 ALFA PX ;
  190. CHV21 = TRES21.I.'VITESSE' ;
  191. VIT21 = EXTR CHV21 ALFA PX ;
  192. CHA21 = TRES21.I.'ACCELERATION' ;
  193. ACC21 = EXTR CHA21 ALFA PX ;
  194. SI (I EGA 1) ;
  195. LD21 = PROG DEP21 ;
  196. LV21 = PROG VIT21 ;
  197. LA21 = PROG ACC21 ;
  198. SINON ;
  199. LD21 = LD21 ET (PROG DEP21) ;
  200. LV21 = LV21 ET (PROG VIT21) ;
  201. LA21 = LA21 ET (PROG ACC21) ;
  202. FINSI ;
  203. FIN BOUC21 ;
  204. I = 0 ;
  205. NF22 = ENTIER((NT / NPC) / 2) ;
  206. REPETER BOUC22 NF22 ;
  207. I = I + 1 ;
  208. CHD22 = TRES22.I.'DEPLACEMENT' ;
  209. DEP22 = EXTR CHD22 ALFA PX ;
  210. CHV22 = TRES22.I.'VITESSE' ;
  211. VIT22 = EXTR CHV22 ALFA PX ;
  212. CHA22 = TRES22.I.'ACCELERATION' ;
  213. ACC22 = EXTR CHA22 ALFA PX ;
  214. SI (I EGA 1) ;
  215. LD22 = PROG DEP22 ;
  216. LV22 = PROG VIT22 ;
  217. LA22 = PROG ACC22 ;
  218. SINON ;
  219. LD22 = LD22 ET (PROG DEP22) ;
  220. LV22 = LV22 ET (PROG VIT22) ;
  221. LA22 = LA22 ET (PROG ACC22) ;
  222. FINSI ;
  223. FIN BOUC22 ;
  224. LD2 = LD21 ET LD22 ;
  225. LV2 = LV21 ET LV22 ;
  226. LA2 = LA21 et LA22 ;
  227. *
  228. * Comparaison des deplacements, vitesses et
  229. * accelerations au dernier pas de calcul
  230. *
  231. LD2 = LD21 ET LD22 ;
  232. DFIN1 = EXTRAIRE LD1 NF1 ;
  233. DFIN2 = EXTRAIRE LD22 NF22 ;
  234. ERD = ABS ( (DFIN1 - DFIN2) / DFIN1 ) ;
  235. BOLD = (ERD <EG 0.001 ) ;
  236. *
  237. VFIN1 = EXTRAIRE LV1 NF1 ;
  238. VFIN2 = EXTRAIRE LV22 NF22 ;
  239. ERV = ABS ( (VFIN1 - VFIN2 ) / VFIN1 ) ;
  240. BOLV = ( ERV <EG 0.001 ) ;
  241. *
  242. AFIN1 = EXTRAIRE LA1 NF1 ;
  243. AFIN2 = EXTRAIRE LA22 NF22 ;
  244. ERA = ABS ( (AFIN1 - AFIN2 ) / AFIN1 ) ;
  245. BOLA = ( ERA <EG 0.001 ) ;
  246. *
  247. SI ( BOLA et BOLV et BOLD ) ;
  248. ERREUR 0 ;
  249. SINON ;
  250. ERREUR 5 ;
  251. FINSI ;
  252. *
  253. FIN ;
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  

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