Télécharger dyne04.dgibi

Retour à la liste

Numérotation des lignes :

  1. ************************************************************************
  2. *
  3. * VALIDATION DE L'OPTION LIAISON CONDITIONNELLE DE DYNE
  4. * DYNE04.DGIBI
  5. *
  6. * ref : test1 du Rapport DMT/94.483 de De Langre
  7. * reimporte dans la base des cas-test par BP en 2019
  8. *
  9. * chute d'une grappe :
  10. * oscillateur selon x
  11. * contact pour z \in [-1 -2]
  12. * z
  13. * |
  14. * |---k---m
  15. * |_________x
  16. *
  17. * -| |- z=-1
  18. * -| |-
  19. * -| |- z=-2
  20. *
  21. *
  22. ************************************************************************
  23.  
  24. OPTI DIME 3 ELEM SEG2;
  25.  
  26. GRAPH = FAUX;
  27. * GRAPH = VRAI; OPTI TRAC PSC POTR HELVETICA_16 EPTR 6;
  28.  
  29.  
  30. * POINT MATERIEL
  31. A1 = 0. 0. 0.;
  32. * LIAISON SELON Z : orientation de la normale au plan, raideur de choc
  33. v_z = 0. 0. -1.;
  34. k_z = 1.E-2;
  35. jeu_z1 = 1.;
  36. jeu_z2 = 2.;
  37. * CHOC : orientation de la normale au plan, raideur de choc
  38. v_x = 1. 0. 0.;
  39. kchoc = 1.E4;
  40. jeu_x = 1.E-5;
  41. typ_lia = mot 'POINT_PLAN';
  42. * typ_lia = mot 'POINT_PLAN_FROTTEMENT';
  43.  
  44.  
  45. ************************************************************************
  46. * BASE MODALE
  47. ************************************************************************
  48.  
  49. * MODE RIGIDE SELON Z
  50. PSOL0 = 0. 0. 0.;
  51. MSOL0 = 1.;
  52. KSOL0 = 0.;
  53. WSOL0 = (KSOL0/MSOL0)**0.5;
  54. FREQSOL0 = WSOL0 / (2 * PI);
  55. DEFSOL0 = MANU CHPO A1 UX 0. UZ 1. ;
  56.  
  57. * MODE SELON X
  58. PSOL1 = 0. 0. 0.;
  59. MSOL1 = 1.;
  60. KSOL1 = 200.;
  61. WSOL1 = (KSOL1/MSOL1)**0.5;
  62. FREQSOL1 = WSOL1 / (2 * PI);
  63. DEFSOL1 = MANU CHPO A1 UX 1. UZ 0. ;
  64.  
  65. * BASE MODALE
  66. TBAS = TABL 'BASE_MODALE';
  67. TBAS . 'MODES' = TABL 'BASE_DE_MODES';
  68.  
  69. TABSOL0 = TABL 'MODES';
  70. TABSOL0 . 'POINT_REPERE' = PSOL0;
  71. TABSOL0 . 'FREQUENCE' = FREQSOL0;
  72. TABSOL0 . 'MASSE_GENERALISEE' = MSOL0;
  73. TABSOL0 . 'DEFORMEE_MODALE' = DEFSOL0;
  74. TBAS . 'MODES' . 1 = TABSOL0;
  75.  
  76. TABSOL1 = TABL 'MODES';
  77. TABSOL1 . 'POINT_REPERE' = PSOL1;
  78. TABSOL1 . 'FREQUENCE' = FREQSOL1;
  79. TABSOL1 . 'MASSE_GENERALISEE' = MSOL1;
  80. TABSOL1 . 'DEFORMEE_MODALE' = DEFSOL1;
  81. TBAS . 'MODES' . 2 = TABSOL1;
  82.  
  83.  
  84. ************************************************************************
  85. * LIAISONS
  86. ************************************************************************
  87.  
  88. TLIA = TABL 'LIAISON';
  89.  
  90. TLB = TABL 'LIAISON_B';
  91. TLIA . 'LIAISON_B' = TLB;
  92.  
  93. * LIAISONS UTILES UNIQUEMENT POUR IMPOSER DES CONDITIONS SUR Z
  94. TLZ1 = TABL 'LIAISON_ELEMENTAIRE';
  95. TLZ1 . 'TYPE_LIAISON' = mot typ_lia;
  96. TLZ1 . 'SUPPORT' = A1;
  97. TLZ1 . 'NORMALE' = v_z;
  98. TLZ1 . 'RAIDEUR' = k_z;
  99. TLZ1 . 'JEU' = jeu_z1;
  100.  
  101. TLZ2 = TABL 'LIAISON_ELEMENTAIRE';
  102. TLZ2 . 'TYPE_LIAISON' = mot typ_lia;
  103. TLZ2 . 'SUPPORT' = A1;
  104. TLZ2 . 'NORMALE' = v_z;
  105. TLZ2 . 'RAIDEUR' = k_z;
  106. TLZ2 . 'JEU' = jeu_z2;
  107.  
  108. * VRAIE LIAISON CONDITIONNELLE SELON X
  109. TLX = TABL 'LIAISON_ELEMENTAIRE';
  110. TLX . 'TYPE_LIAISON' = mot typ_lia;
  111. TLX . 'SUPPORT' = A1;
  112. TLX . 'NORMALE' = v_x;
  113. TLX . 'RAIDEUR' = kchoc;
  114. TLX . 'JEU' = jeu_x;
  115. TLX . TLZ1 = VRAI ;
  116. TLX . TLZ2 = FAUX ;
  117.  
  118. * STOCKAGE
  119. TLB . 1 = TLZ1;
  120. TLB . 2 = TLZ2;
  121. TLB . 3 = TLX;
  122.  
  123.  
  124. ************************************************************************
  125. * SORTIES
  126. ************************************************************************
  127.  
  128. TSORT = TABLE 'SORTIE';
  129.  
  130. TSORV = TABLE 'VARIABLE';
  131. TSORV . 'TYPE_SORTIE' = MOT 'LISTREEL';
  132.  
  133. TSORT . 'VARIABLE' = TSORV;
  134.  
  135. TSORLB = TABLE 'LIAISON_B';
  136. TSORLB . TLZ1 = VRAI;
  137. * TSORLB . TLZ2 = VRAI;
  138. TSORLB . TLX = VRAI;
  139. TSORT . 'LIAISON_B' = TSORLB;
  140.  
  141.  
  142. ************************************************************************
  143. * PARAMETRES TEMPORELS
  144. ************************************************************************
  145.  
  146. * PAS DE TEMPS, NOMBRE DE PAS, SORTIE TOUS LES NSORT
  147. DT = 1.E-3;
  148. NPAS = 3000;
  149. NSORT = 2;
  150.  
  151.  
  152. ************************************************************************
  153. * CONDITIONS INITIALES
  154. ************************************************************************
  155.  
  156. X0 = -1;
  157. VZ0 = -1.;
  158.  
  159. TINIT = TABL 'INITIAL';
  160. TINIT . 'DEPLACEMENT' = MANU CHPO PSOL1 1 'ALFA' X0;
  161. TINIT . 'VITESSE' = MANU CHPO PSOL0 1 'ALFA' VZ0;
  162.  
  163.  
  164. ************************************************************************
  165. * INTEGRATION TEMPORELLE
  166. ************************************************************************
  167. * opti impi 333;
  168. TDYNE = DYNE 'DE_VOGELAERE' TBAS TLIA TSORT TINIT
  169. NPAS DT NSORT ;
  170. * opti impi 0;
  171.  
  172.  
  173. ************************************************************************
  174. * POST TRAITEMENT
  175. ************************************************************************
  176.  
  177. pr_time = TDYNE . 'TEMPS_DE_SORTIE';
  178.  
  179. ev_z = EVOL 'MARI' MANU 'LEGE' 'u_{z}' 't' pr_time 'u' (TDYNE . TLZ1 . 'UZ');
  180. ev_x = EVOL 'ROUG' MANU 'LEGE' 'u_{x}' 't' pr_time 'u' (TDYNE . TLZ1 . 'UX');
  181.  
  182. ev_FX = EVOL 'ROUG' MANU 'LEGE' 'F_{x}' 't' pr_time 'u' (TDYNE . TLX . 'FORCE_DE_CHOC');
  183.  
  184. si GRAPH;
  185. DESS (ev_z ET ev_x) LEGE ;
  186. DESS ev_FX;
  187. finsi;
  188.  
  189.  
  190. ************************************************************************
  191. * TESTs DE NON REGRESSION
  192. ************************************************************************
  193.  
  194. ux1 = MAXI (EXTR (EXTR ev_x 'COMP' 2.5 2.7) 'ORDO') ;
  195. err_ux1 = ABS (ux1 - 1.);
  196.  
  197. fx1 = MAXI 'ABS' (EXTR ev_FX 'ORDO') ;
  198. err_fx1 = ABS (fx1 - 1400.) / 1400.;
  199.  
  200. mess err_ux1 err_fx1;
  201. si ((err_ux1 > 1.E-3) OU (err_fx1 > 1.E-3));
  202. ERRE 5;
  203. finsi;
  204.  
  205. FIN ;
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  

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