Télécharger vibr11.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : vibr11.dgibi
  2. *
  3. ************************************************************************
  4. ************************************************************************
  5. *
  6. * VIBR11.dgibi
  7. *
  8. * Objectif : Calcul des modes propres d'un tube mince isotrope
  9. * axisymetrique encastre - encastre
  10. * Elements : solide-coque SHB8 et coque mince DKT + coque epaisse COQ8
  11. * Creation : BP, 2017-02-20
  12. * Reference : Cas test SDLA 01/89, Société Française des Mécaniciens,
  13. * Guide de validation des progiciels de calcul des
  14. * structures, AFNOR ed., 1990.
  15. *
  16. ************************************************************************
  17. *
  18. * dimension dans le plan (XOY)
  19. *
  20. * solide-coque
  21. * Y
  22. * Y=L | . . . D __ B
  23. * | | |
  24. * | | |
  25. * | | |
  26. * | | |
  27. * | | |
  28. * | | |
  29. * | | |
  30. * | . . . |__| -----> X
  31. * O C A
  32. * R=Ri R=Re
  33. *
  34. * | |
  35. * <-->
  36. * t
  37. *
  38. * la coque est definie sur Rmoy=(Re+Ri)/2
  39. *
  40. ************************************************************************
  41.  
  42. GRAPH = FAUX ;
  43.  
  44. ************************************************************************
  45. * OPTIONS ET DONNEES
  46. ************************************************************************
  47.  
  48. * options
  49. OPTI DIME 3 MODE TRID ELEM CUB8;
  50. OPTI TRAC PSC POTR HELVETICA_16 EPTR 15;
  51.  
  52. * geometrie
  53. L = 0.3048;
  54. t = 0.254E-3;
  55. Re = 0.0762;
  56. Ri = Re - t;
  57. Rmoy = (Ri + Re) / 2.;
  58.  
  59. * nombre d elements selon Z et R
  60. ncirc = 2**8; nz = 20; nR = 1;
  61. * ncirc = 2**8; nz = 40; nR = 1;
  62. * ncirc = 2**9; nz = 80; nR = 1;
  63.  
  64. * materiau
  65. Ey1 = 2.06E11;
  66. nu1 = 0.3;
  67. rho1 = 7850.;
  68.  
  69.  
  70. ************************************************************************
  71. * MAILLAGE
  72. ************************************************************************
  73.  
  74. p0 = 0. 0. 0.;
  75. vaxe = 0. 1. 0.;
  76. vx = 1. 0. 0.;
  77. vz = 0. 0. 1. ;
  78.  
  79.  
  80. *********** MAILLAGE COQUE MINCE ***********
  81.  
  82. p1 = Rmoy 0. 0.;
  83. p2 = Rmoy L 0.;
  84. d12 = p1 droi nZ p2;
  85. OPTI ELEM TRI3;
  86. mesh3 = ROTA d12 360. ncirc p0 vaxe;
  87. ELIM mesh3 (1.E-3 * t);
  88. OPTI ELEM CUB8;
  89.  
  90. * recup
  91. y3 = COOR mesh3 2;
  92. py1_3 = POIN y3 EGINFE 1.E-6;
  93. py2_3 = POIN y3 EGSUPE (L - 1.E-6);
  94.  
  95.  
  96. *********** MAILLAGE SOLIDE-COQUE ************
  97.  
  98. * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  99. * ATTENTION : avec les SHB8, il faut definir le maillage de telle sorte
  100. * que l'on ait les 4 premiers noeuds du CUB8 = face 1
  101. * et les 4 derniers = face 2 de la coque de maniere a
  102. * respecter l'orientation de l'epaisseur
  103. * ==> seul le maillage "C" est valide
  104. * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  105.  
  106. * kmail = mot 'A';
  107. * kmail = mot 'B';
  108. kmail = mot 'C';
  109.  
  110. *--- facon A de construire le maillage ---*
  111. si (ega kmail 'A');
  112. * maillage massif lineaire 2D
  113. pC = Ri 0. 0.;
  114. pA = Re 0. 0.;
  115. d1 = pC droi nR pA;
  116. d2 = d1 plus (0. L .0);
  117. mesh4 = d1 regl nZ d2;
  118. * maillage 3D
  119. mesh8 = VOLU 'ROTA' mesh4 ncirc 360. p0 vaxe;
  120. ELIM mesh8 (1.E-3*t);
  121. finsi;
  122.  
  123. *--- facon B de construire le maillage ---*
  124. si (ega kmail 'B');
  125. pC = Ri 0. 0.;
  126. pA = Re 0. 0.;
  127. d1 = pC droi nR pA;
  128. mesh4 = rota d1 ncirc 360. p0 vaxe;
  129. ELIM mesh4 (1.E-3*t);
  130. mesh8 = VOLU mesh4 'TRAN' nZ (0. L .0);
  131. finsi;
  132.  
  133. *--- facon C de construire le maillage ---*
  134. si (ega kmail 'C');
  135. pA = Re 0. 0.;
  136. pB = Re L 0.;
  137. pC = Ri 0. 0.;
  138. pD = Ri L 0.;
  139. de = pA droi nz pB;
  140. di = pC droi nz pD;
  141. mesh4e = de ROTA ncirc 360. p0 vaxe;
  142. ELIM mesh4e (1.E-3*t);
  143. mesh4i = di ROTA ncirc 360. p0 vaxe;
  144. ELIM mesh4i (1.E-3*t);
  145. mesh8 = VOLU mesh4i nR mesh4e;
  146. finsi;
  147.  
  148. * recup
  149. y8 = COOR mesh8 2;
  150. py1 = POIN y8 EGINFE 1.E-6;
  151. py2 = POIN y8 EGSUPE (L - 1.E-6);
  152.  
  153.  
  154. *********** MAILLAGE COQUE EPAISSE ***********
  155. * rem : on met 2 fois moins d'elements que pour les maillages lineaires
  156.  
  157. OPTI ELEM QUA8;
  158. d12q = p1 droi (nZ/2) p2;
  159. meshcoq8 = ROTA d12q 360. (ncirc/2) p0 vaxe;
  160. ELIM meshcoq8 (1.E-3 * t);
  161.  
  162. * recup
  163. ycoq8 = COOR meshcoq8 2;
  164. py1_coq8 = POIN ycoq8 EGINFE 1.E-6;
  165. py2_coq8 = POIN ycoq8 EGSUPE (L - 1.E-6);
  166.  
  167.  
  168.  
  169. *********** TRACE DES MAILLAGES ***********
  170. si GRAPH;
  171. TRAC (0. 10. -30.) mesh3 'CACH' 'TITRE' 'maillage pour DKT';
  172. TRAC (0. 10. -30.) mesh8 'CACH' 'TITRE' 'maillage pour SHB8';
  173. TRAC (0. 10. -30.) meshcoq8 'CACH' 'TITRE' 'maillage pour COQ8';
  174. finsi;
  175.  
  176.  
  177. ************************************************************************
  178. * MODELEs ET MATERIAUx
  179. ************************************************************************
  180.  
  181. * coque mince dkt
  182. mod3 = MODE mesh3 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'DKT';
  183. mat3 = MATE mod3 'YOUN' Ey1 'NU' nu1 'RHO' rho1 'EPAI' t;
  184.  
  185. * solide-coque shb8
  186. mod8 = MODE mesh8 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'SHB8';
  187. mat8 = MATE mod8 'YOUN' Ey1 'NU' nu1 'RHO' rho1;
  188.  
  189. * coq8
  190. modcoq8 = MODE meshcoq8 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'COQ8';
  191. matcoq8 = MATE modcoq8 'YOUN' Ey1 'NU' nu1 'RHO' rho1 'EPAI' t;
  192.  
  193.  
  194. ************************************************************************
  195. * MATRICES
  196. ************************************************************************
  197.  
  198. * coque mince dkt
  199. cl3 = BLOQ 'DEPL' (py1_3 et py2_3);
  200. K3 = RIGI mod3 mat3;
  201. M3 = MASS mod3 mat3;
  202. Ktot3 = K3 et cl3;
  203.  
  204. * solide-coque shb8
  205. cl8 = BLOQ 'DEPL' (py1 et py2);
  206. K8 = RIGI mod8 mat8;
  207. M8 = MASS mod8 mat8;
  208. K8tot = K8 et cl8;
  209.  
  210. * coq8
  211. clcoq8 = BLOQ 'DEPL' (py1_coq8 et py2_coq8);
  212. Kcoq8 = RIGI modcoq8 matcoq8;
  213. Mcoq8 = MASS modcoq8 matcoq8;
  214. Kcoq8tot = Kcoq8 et clcoq8;
  215.  
  216.  
  217. ************************************************************************
  218. * ANALYSE MODALE
  219. ************************************************************************
  220. SI GRAPH;
  221. mopost = mots 'TABL' 'DEFO';
  222. SINO;
  223. mopost = mots 'TABL' ;
  224. FINSI;
  225.  
  226. * coque mince dkt
  227. TMOD_3 = VIBR 'IRAM' 300. 6 Ktot3 M3 ;
  228. POSTVIBR TMOD_3 mopost;
  229.  
  230. * solide-coque shb8
  231. TMOD_8 = VIBR 'IRAM' 300. 6 K8tot M8 ;
  232. POSTVIBR TMOD_8 mopost;
  233.  
  234. * coq8
  235. TMOD_coq8 = VIBR 'IRAM' 300. 6 Kcoq8tot Mcoq8 ;
  236. POSTVIBR TMOD_coq8 mopost;
  237.  
  238.  
  239. ************************************************************************
  240. * TEST DE BON FONCTIONNEMENT
  241. ************************************************************************
  242. * REM : On teste seulement les valeurs propres. On pourrait aussi
  243. * verifier que les harmoniques de Fourier sont 6, 5 et 7.
  244.  
  245. * ref = calcul mené le 20/02/2017 par BP avec maillage tres fin
  246. * et valeurs correlé en 2D Fourier et par la Reference.
  247. w1_ref = ( (prog 534.62 578.44 594.11)
  248. + (prog 533.84 577.41 593.85) ) / 2.;
  249.  
  250. * tolerance = 5% , 1% et 0.5%
  251. wtol_3 = 0.05;
  252. wtol_8 = 0.01;
  253. wtol_coq8 = 0.005;
  254.  
  255. * boucles sur les modes (tous les 2 car arrivent par pair)
  256. I= -1 ;
  257. REPE BMOD 3; I = I + 2;
  258. w1_3 = TMOD_3 . 'MODES' . I . 'FREQUENCE';
  259. w1_8 = TMOD_8 . 'MODES' . I . 'FREQUENCE';
  260. w1_coq8 = TMOD_coq8 . 'MODES' . I . 'FREQUENCE';
  261. w1 = extr w1_ref &BMOD;
  262. err_3 = ABS (w1_3 - w1) / w1;
  263. err_8 = ABS (w1_8 - w1) / w1;
  264. err_coq8 = ABS (w1_coq8 - w1) / w1;
  265. MESS 'MODE ' &BMOD ': DKT ' w1_3 '(' (100.*err_3) '%) '
  266. '- SHB8' w1_8 '(' (100.*err_8) '%) '
  267. '- COQ8' w1_coq8 '(' (100.*err_coq8) '%) ';
  268. si ((err_3 >eg wtol_3) ou (err_8 >eg wtol_8) ou (err_coq8 >eg wtol_8));
  269. ERRE 5;
  270. finsi;
  271. FIN BMOD ;
  272.  
  273. ERRE 0;
  274.  
  275. fin ;
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  

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