Télécharger cyl_s1.dgibi

Retour à la liste

Numérotation des lignes :

  1. * test dynamique cylindre en modal
  2. *************************************
  3. graph = faux ;
  4. *************************************
  5.  
  6. opti dime 2 elem seg3 echo 0;
  7.  
  8. p_ori = 0. 0. ; e_x = 1. 0. ; e_y = 0. 1 ;
  9.  
  10. pcen_1 = p_ori plus p_ori ;
  11. r_1 = 0.005 ;
  12. pc_1 = r_1 * e_x ;
  13.  
  14. cyl_1 = 'CERC' 20 'ROTA' 360. pc_1 pcen_1 ; 'ELIM' cyl_1 1.D-4 ;
  15. cyl_1_a = 'HOMO' cyl_1 pcen_1 1.02 ;
  16. cyl_1_b = 'HOMO' cyl_1 pcen_1 1.05 ;
  17. cyl_1_e = 'HOMO' cyl_1 pcen_1 1.1 ;
  18.  
  19. cyl_1_t = cyl_1 et cyl_1_a et cyl_1_b et cyl_1_e ;
  20.  
  21. si graph ; trac cyl_1 nclk; finsi ;
  22.  
  23. chy_1_a = manu chpo cyl_1_a uy (1./1.02) nature discret ;
  24. chy_1_b = manu chpo cyl_1_b uy (1./1.05) nature discret ;
  25. chy_1_e = manu chpo cyl_1_e uy 0. nature discret ;
  26.  
  27.  
  28. chy_1 = manu chpo cyl_1 uy 1.0 nature discret ;
  29. chy_1_t = chy_1 et chy_1_a et chy_1_b et chy_1_e ;
  30.  
  31. ma_1 = manu poi1 pcen_1 ;
  32. fr_1 = 1. ; ms_1 = 1. ;
  33.  
  34. mocyl_1 = modele ma_1 mecanique elastique modal ;
  35. cacyl_1 = mate mocyl_1 freq fr_1 mass ms_1 defo chy_1 ;
  36.  
  37. abs_t = prog 0. pas 0.5d-1 1.;
  38. ord_t = sin (2.5*360.*abs_t) ;
  39. ev_t = evol manu abs_t ord_t ;
  40. fa_1 = manu chpo ma_1 falf 1. ;
  41. ch_1 = char force ev_t fa_1 ;
  42.  
  43. tap_1 = table 'PASAPAS' ;
  44. tap_1 . modele = mocyl_1 ;
  45. tap_1 . caracteristiques = cacyl_1 ;
  46. tap_1 . chargement = ch_1 ;
  47. tap_1 . dynamique = vrai ;
  48. tap_1 . temps_calcules = abs_t ;
  49.  
  50. pasapas tap_1 ;
  51.  
  52. def_u = defo (cyl_1 et ma_1) (reco tap_1 . deplacements . 2 mocyl_1 cacyl_1) ;
  53. titre ' deformee etape 2 ' ;
  54. *trac def_u nclk ;
  55.  
  56. alfa_v = extr tap_1 . deplacements . 2 alfa pcen_1 ; mess 'alfa_v ' alfa_v ;
  57.  
  58. def_v = defo (cyl_1_t et (ma_1 coul bleu)) (alfa_v * chy_1_t) ;
  59. titre ' deformee couche cylindre etape 2 ' ;
  60. si graph ; trac def_v nclk ; finsi ;
  61. *
  62. ************************************************************************
  63. opti elem qua8 ;
  64.  
  65. scouli_a = 'REGL' cyl_1 cyl_1_a ;
  66. scouli_b = 'REGL' cyl_1_a cyl_1_b ;
  67. scouli_e = 'REGL' cyl_1_b cyl_1_e ;
  68. scyl_1 = scouli_a et scouli_b et scouli_e ;
  69.  
  70. *trac scyl_1 ;
  71.  
  72. * d apres oscicyl2
  73. Rayon = r_1 ;
  74. Long = 13 * Rayon ;
  75. Haut = 10 * Rayon ;
  76.  
  77. * Parametres pour le maillage
  78.  
  79. nx=26;
  80. ny=14;
  81. nc=6;
  82. *nx = nx * 2 ;
  83. *ny = ny * 2 ;
  84. *nc = nc * 2 ;
  85.  
  86. ********** Creation du contour exterieur
  87. pA= pcen_1 moins (Long/2*e_x) moins (Haut/2*e_y) ;
  88. pB=pA plus (Long * e_x) ; pC= pB plus (Haut * e_y) ; pD= pA plus (Haut * e_y) ;
  89. bas = 'DROI' nx pA pB;
  90. dro= 'DROI' ny pB pC;
  91. hau= 'DROI' nx pC pD;
  92. gau = 'DROI' ny pD pA;
  93.  
  94.  
  95. * Contour du maillage exterieur
  96. cmt1= bas 'ET' dro 'ET' hau 'ET' gau ;
  97. *** Contour total avec cercle
  98. cmt= bas 'ET' dro 'ET' hau 'ET' gau 'DIFF' (inve cyl_1_e) ;
  99. s1et = 'SURFACE' cmt;
  100. 'ELIMINATION' s1et 1.E-4;
  101. * Changer le maillage en un maillage quadratique fluide
  102. s1ef ='CHAN' s1et 'QUAF' ; scyf_1 = 'CHAN' scyl_1 'QUAF';
  103. sm_f = s1ef et scyf_1 ;
  104.  
  105. titre 'maillage fluide ' ;
  106. si graph ; 'TRAC' sm_f nclk ; finsi ;
  107.  
  108. ************************************************************************
  109. * champ des normales CE
  110. CE2 = changer cyl_1 seg2 ;
  111. mod_cyl2 = mode CE2 mecanique elastique coq2 ;
  112. norm_cyl = pression mod_cyl2 1. coque normale ;
  113. norm_cyl = norm_cyl /
  114. ((psca norm_cyl norm_cyl (mots fx fy) (mots fx fy)) ** 0.5) ;
  115. v_norm = vecteur norm_cyl 1.e-3 fx fy jaune ;
  116. si graph ;
  117. titre (et tit_ref ' / champ des normales ') ;
  118. trac v_norm CE2 nclk;
  119. finsi ;
  120. *
  121. * continuite vitesse normale
  122. n_CE = NOMC ('ENLE' norm_cyl 'MZ') (mots 'FX' 'FY') (mots 'UX' 'UY') ;
  123. mn_CE = extr n_CE mail ;
  124. ie1 = 0 ;
  125. repeter b_blCE (nbel mn_CE) ;
  126. ie1 = ie1 + 1 ;
  127. poie1 = 'POINT' mn_CE ie1 ;
  128. ch_u = 'REDU' n_CE poie1 ;
  129. mbl_u = 'RELA' ch_u ;
  130. fbl_u = 'DEPI' mbl_u ('EXTR' ch_u 'UY' poie1) ;
  131. si (ie1 ega 1) ;
  132. mbl_CE = mbl_u ;
  133. fbl_CE = fbl_u ;
  134. sinon ;
  135. mbl_CE = mbl_u et mbl_CE ;
  136. fbl_CE = fbl_u et fbl_CE ;
  137. finsi ;
  138. fin b_blCE ;
  139. fbl_CEv = fbl_CE ;
  140.  
  141.  
  142. **** Conditions de blocage
  143. *** Vitesse
  144. mbloy = 'BLOQUE' 'UY' (bas et hau) ;
  145. mblox = 'BLOQUE' 'UX' (gau et dro) ;
  146.  
  147. **** Physique
  148. *** vise nombre de Reynolds de 1.E4
  149. *** nombre de Keulegan-Carpenter de 2
  150. Re = 100. ; rho1 = 1.e3 ; mu1 = 1.e-3 ; mu1cl = mu1 * 1.e2 ;
  151. nre= 1 '/' Re ;
  152. KC = 2. ;
  153.  
  154. **** Numérique
  155. npdt = 10 ;
  156. *** Pas de temps (cf. thèse Marion Duclercq)
  157. 'SI' ('>' KC 2.) ;
  158. dt = 0.05 '/' KC ;
  159. 'SINO' ;
  160. dt = 0.025 ;
  161. 'FINS' ;
  162. *dt = dt * 4. ;
  163.  
  164. * couplage
  165. abs_2 = prog 0. pas Dt (npdt*Dt) ;
  166. ord_2 = prog 1. npdt*1. ;
  167. ev_2 = evol manu t abs_2 ord_2 ;
  168.  
  169. ch_2 = 'CHAR' 'DCOU' fbl_CE ev_2 ;
  170.  
  171.  
  172. mns_1 = mode scyf_1 'NAVIER_STOKES' 'NLIN' 'QUAF' 'LINE' 'CHPO' 'GAP7' ;
  173. mns_f = mode s1ef 'NAVIER_STOKES' 'NLIN' 'QUAF' 'LINE' 'CHPO' 'GAP7' ;
  174. cns_1 = mate mns_1 RHO rho1 MU mu1cl ;
  175. cns_f = mate mns_f RHO rho1 MU mu1
  176. ;
  177. *** Pression
  178. mapcen = extr mns_f 'CENT' ;
  179. pp2 = 'POIN' mapcen 'PROC' (p_ori moins (Haut/2 * e_y)) ;
  180. mblop = 'BLOQ' 'LX1' pp2 ;
  181.  
  182.  
  183. *
  184.  
  185. t_ostub = table 'PASAPAS' ;
  186. t_ostub . modele = mocyl_1 et mns_1 et mns_f ;
  187. t_ostub . caracteristiques = cacyl_1 et cns_1 et cns_f ;
  188. t_ostub . blocages_mecaniques = mblox 'ET' mbloy 'ET' mbl_CE 'ET' mblop ;
  189. t_ostub . chargement = ch_1 et ch_2;
  190. t_ostub . temps_calcules = prog 0. pas dt (npdt*dt) ;
  191. t_ostub . temps_calcules = prog 0. pas dt 3.d-1;
  192.  
  193. pasapas t_ostub ;
  194.  
  195.  
  196. ************************************************************************
  197. *graph = faux ;
  198. unmax = 1.d0 ;
  199. CE = cyl_1 ; pcen = pcen_1 ;
  200. absx_CE = ((coor 1 CE) - (coor 1 pcen))/Rayon ; absc_CE = abs absx_CE ;
  201. absy_CE = ((coor 2 CE) - (coor 2 pcen))/Rayon ;
  202. _mt = sm_f ;
  203. nomvit = 'EXTR' mns_1 'DEPL' ;
  204. t_pap = t_ostub ;
  205. dep_0 = t_pap . vitesses_fluide . 1 * 0. ;
  206. abs_t = prog ; of_x = prog ; of_y = prog ;
  207. op_x = prog ; op_y = prog ;
  208. f0_x = 0. ; f0_y = 0. ; p0_max = 0. ; p0_min = 0. ;
  209. ux_CE = 0. ;
  210.  
  211. repeter BTRA ((dime t_pap . temps) - 1) ;
  212. solu = t_pap . vitesses_fluide . &btra ;
  213. unpip = 'EXCO' solu nomvit ;
  214. pnp = t_pap . pression_fluide . &btra ;
  215. * vun = 'VECTEUR' (unpip/unmax/3) nomvit 'ORAN' ;
  216.  
  217. * trainee et portance defini par les reactions
  218. ch_pr0 = 'REAC' mbl_CE solu ;
  219. * maillage CE régulier
  220. f0_CE = 'RESU' ch_pr0 ;
  221. f_x = 'EXTR' f0_CE 'FX' ('POINT' 1 ('EXTR' f0_CE 'MAIL')) ;
  222. f_y = 'EXTR' f0_CE 'FY' ('POINT' 1 ('EXTR' f0_CE 'MAIL')) ;
  223.  
  224. f_x = f_x * (-1) ; f_y = f_y * (-1) ;
  225. abs_t = abs_t et t_pap . temps . &btra ;
  226. of_x = of_x et (prog f_x) ; of_y = of_y et (prog f_y) ;
  227.  
  228.  
  229. * resultante pression
  230. pre_CE = redu pnp CE ;
  231. p_max = maxi pre_CE ; p0_max = maxi (prog p_max p0_max) ;
  232. p_min = mini pre_CE ; p0_min = mini (prog p_min p0_min) ;
  233. pre_x = pre_cE * absx_CE ; pre_y = pre_CE * absy_CE ;
  234. fp_x = intg (evol chpo CE pre_x) ; fp_y = intg (evol chpo CE pre_y) ;
  235. op_x = op_x et (prog fp_x) ; op_y = op_y et (prog fp_y) ;
  236.  
  237. fin BTRA ;
  238.  
  239. f0_x = maxi (abs of_x) ; f0_y = maxi (abs of_y) ;
  240.  
  241.  
  242. si (graph) ;
  243.  
  244. repeter BTRA ((dime t_pap . temps) - 1) ;
  245. solu = t_pap . vitesses_fluide . &btra ;
  246. unpip = 'EXCO' solu nomvit ;
  247. pnp = t_pap . pression_fluide . &btra ;
  248. vun = 'VECTEUR' (unpip/unmax/3) nomvit 'ORAN' ;
  249. chf_cer = manu chpo pcen 2 'FX' (extr of_x &btra) 'FY' (extr of_y &btra) ;
  250. vf_cer = vecteur (Haut*3.d-1/f0_y) chf_cer 'FX' 'FY' 'TURQ' ;
  251.  
  252. v_visu = vun et vf_cer ; ma_visu = sm_f et pcen ;
  253.  
  254. titres 'pression / vitesses temps = ' t_pap . temps . &btra ;
  255. * trac pnp v_visu ma_visu cmt ;
  256.  
  257. 'SI' ('EGA' ('TYPE' mz_CE) 'MAILLAGE') ;
  258. unz_CE = redu unpip mz_CE ;
  259. vunz_CE = 'VECTEUR' (unz_CE/unmax) nomvit 'ORAN' ;
  260. trac pnp vunz_CE mz_CE(contour mz_CE) ;
  261. 'FINSI' ;
  262.  
  263. si (ega &btra 1) ; def_1 = defo ma_visu dep_0 v_visu pnp ;
  264. sinon ;
  265. def_1 = def_1 et (defo ma_visu dep_0 v_visu pnp) ;
  266. finsi ;
  267.  
  268.  
  269. fin BTRA ;
  270.  
  271. evf_x = 'COUL' vert ('EVOL' 'MANU' abs_t of_x) ;
  272. evf_y = 'COUL' bleu ('EVOL' 'MANU' abs_t of_y) ;
  273. 'DESS' ((evf_x/f0_x) et (evf_y/f0_y)) 'TITR' 'f_x(t) parallele vert / f_y(t) orthogonal bleu (normes)' ;
  274. mess 'reactions x maxi : ' f0_x ' y maxi : ' f0_y ;
  275.  
  276. evp_x = 'COUL' rouge ('EVOL' 'MANU' abs_t op_x) ;
  277. evp_y = 'COUL' jaune ('EVOL' 'MANU' abs_t op_y) ;
  278. 'DESS' (evf_x et evp_x) 'TITR' 'reaction vert / pression rouge en x ' ;
  279. 'DESS' (evf_y et evp_y) 'TITR' 'reaction bleu / pression jaune en y ' ;
  280.  
  281.  
  282. d_cop = (p0_max - p0_min) / 16 ; l_cop = prog p0_min pas d_cop p0_max ;
  283. titre 'vitesses / pression / effort cylindre dt = ' dt ' t max = ' (maxi abs_t) ;
  284. trac anim def_1 cmt l_cop ;
  285. *
  286.  
  287. finsi ;
  288. ****************************************
  289. ema_y = maxi (of_y - op_y) ;
  290. 'SI' ((ema_y > f0_y) 'OU' (ema_y < (f0_y/4)) 'OU' (f0_y < 1.d-8) ) ;
  291. 'ERRE' 5 ; 'SINON' ; 'ERRE' 0 ; 'FINSI' ;
  292.  
  293. fin ;
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  

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