Télécharger flam4.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : flam4.dgibi
  2. *
  3. ************************************************************************
  4. *
  5. * Flambage d'une plaque carree sous deformation de cisaillement
  6. *
  7. * Y ^
  8. * |
  9. * |
  10. * p2+----------------+ ^ F
  11. * >| | |
  12. * | |
  13. * >| | ^ F
  14. * | | |
  15. * >| |
  16. * | | ^ F
  17. * >| | |
  18. * p1+----------------+--------> X
  19. *
  20. *
  21. * introduit dans la base des cas-tests en mai 2019
  22. *
  23. * la matrice Ksigma n'est pas definie>0
  24. * VIBR doit en tenir compte pour la numerotation des modes
  25. * on teste la charge critique >0 ou <0 et le numero de mode
  26. *
  27. ************************************************************************
  28.  
  29. ************************************************************************
  30. * OPTIONS
  31. ************************************************************************
  32.  
  33. opti dime 3 elem qua4 ;
  34. * GRAPH = VRAI; opti TRAC PSC;
  35. GRAPH = FAUX;
  36.  
  37.  
  38. ************************************************************************
  39. * MAILLAGE
  40. ************************************************************************
  41.  
  42. p1 = 0 0 0 ;
  43. p2 = 0 1 0;
  44. l1 = p1 DROI 10 p2 ;
  45. sur1 = tran l1 (1 0 0) 10 ;
  46. l1 = coul l1 ROUG ;
  47. l2 = (cote 2 sur1) coul VERT;
  48. l3 = (cote 3 sur1) coul BLEU;
  49. l4 = (cote 4 sur1) coul JAUN;
  50. SI GRAPH;
  51. trac (sur1 et l1 et l2 et l3 et l4);
  52. FINSI;
  53.  
  54.  
  55. ************************************************************************
  56. * MODELE, MATERIAU, BLOCAGES, CHARGEMENT
  57. ************************************************************************
  58.  
  59. mod1 = mode sur1 mecanique coq4;
  60. *sur1 = chan sur1 tri3 ; mod1 = mode sur1 mecanique dst;
  61. mat1 = mate mod1 youn 2.E11 nu 0. epai .1 rho 1000.;
  62.  
  63. blo1 = bloq l1 ux uy uz rx ry ;
  64. blo2 = bloq l3 ux uz rx ry ;
  65.  
  66. * force selon Y
  67. f1 = force l3 (0 1 0) ;
  68.  
  69.  
  70. ************************************************************************
  71. * MISE EN PRECONTRAINTE ELASTIQUE
  72. ************************************************************************
  73.  
  74. rig1 = rigi mod1 mat1 ;
  75. rigt = rig1 et blo1 et blo2 ;
  76.  
  77. dep1 = reso rigt f1 ;
  78. def1 = defo dep1 (sur1 et l1) ;
  79. SI GRAPH; trac def1 ; FINSI;
  80.  
  81. sig1 = sigm mod1 mat1 dep1 ;
  82. ksig1 = ksig sig1 mod1 mat1 'FLAM' ;
  83. ksig11 = -1. * ksig1;
  84.  
  85. nvpneg1 = DIAG ksig11;
  86. mess '>>> Ksigma n est pas definie positive ('nvpneg1' v.p. <0)' ;
  87. mess '>>> dimension =' (dime ksig11) (dime rigt);
  88.  
  89.  
  90. ************************************************************************
  91. * CALCUL DE FLAMBAGE (avec 3 algorithmes differents)
  92. ************************************************************************
  93.  
  94. SI GRAPH;
  95. mopost = MOTS 'TABL' 'DEFO' 'DEF0';
  96. SINON;
  97. mopost = MOTS 'TABL';
  98. FINSI;
  99. nmod = 8;
  100.  
  101. TITR 'VIBR IRAM';
  102. tab2_iram =vibr iram 0. nmod rigt ksig11;
  103. POSTVIBR tab2_iram mopost;
  104.  
  105. TITR 'VIBR SIMUL';
  106. tab2_simu =vibr simu 0. nmod rigt ksig11;
  107. POSTVIBR tab2_simu mopost;
  108.  
  109. TITR 'VIBR PROCH';
  110. tab2_proc =vibr proc (prog 0.) (lect nmod) rigt ksig11;
  111. POSTVIBR tab2_proc mopost;
  112.  
  113.  
  114. ************************************************************************
  115. * TEST DE NON REGRESSION
  116. ************************************************************************
  117. * pour les 3 algos de VIBR
  118. * on teste 2 numeros de mode et 2 frequences propres
  119.  
  120. * on rassemble les resultats dans 1 seule table pour automatiser
  121. TALGO = TABL;
  122. TALGO . 1 = tab2_iram . 'MODES';
  123. TALGO . 2 = tab2_simu . 'MODES';
  124. TALGO . 3 = tab2_proc . 'MODES';
  125.  
  126. * listes pour les modes 4 et 5
  127. pr_num4 = lect;
  128. pr_frq4 = prog;
  129. pr_num5 = lect;
  130. pr_frq5 = prog;
  131.  
  132. * on devrait etre parfaitement symetrique du fait du pb en cisaillement
  133. repe BALGO 3;
  134. pr_num4 = pr_num4 et TALGO . &BALGO . 4 . 'NUMERO_MODE';
  135. pr_frq4 = pr_frq4 et TALGO . &BALGO . 4 . 'FREQUENCE';
  136. pr_num5 = pr_num5 et TALGO . &BALGO . 5 . 'NUMERO_MODE';
  137. pr_frq5 = pr_frq5 et TALGO . &BALGO . 5 . 'FREQUENCE';
  138. fin BALGO;
  139.  
  140. mess '>>>'; LIST pr_num4;
  141. * attendu sur linux64: 183 183 183
  142. mess '>>>'; LIST pr_frq4;
  143. * attendu: -5232.8 -5232.8 -5232.8
  144. mess '>>>'; LIST pr_num5;
  145. * attendu sur linux64: 184 184 184
  146. mess '>>>'; LIST pr_frq5;
  147. * attendu: 5232.8 5232.8 5232.8
  148.  
  149. NBERR = 0;
  150.  
  151. *pb dec20: on desactive la qualif du no de mode
  152. *SI ((MAXI pr_num4) NEG nvpneg1); NBERR = NBERR + 1; FINSI;
  153. *SI ((MINI pr_num4) NEG nvpneg1); NBERR = NBERR + 1; FINSI;
  154. *SI ((MAXI pr_num5) NEG (nvpneg1 + 1)); NBERR = NBERR + 1; FINSI;
  155. *SI ((MINI pr_num5) NEG (nvpneg1 + 1)); NBERR = NBERR + 1; FINSI;
  156.  
  157. err4 = MAXI 'ABS' ((pr_frq4 + 5232.8) / 5232.8);
  158. err5 = MAXI 'ABS' ((pr_frq5 - 5232.8) / 5232.8);
  159. SI (err4 > 1.E-5); NBERR = NBERR + 1; FINSI;
  160. SI (err5 > 1.E-5); NBERR = NBERR + 1; FINSI;
  161.  
  162. * erreur ou pas
  163. MESS '>>> Il y a ' NBERR ' erreur(s)';
  164. SI (NBERR >EG 1);
  165. ERRE 5;
  166. FINSI;
  167.  
  168.  
  169. FIN ;
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  

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