Télécharger cl_E_3.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : cl_E_3.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *C***********************************************************************
  5. *C* *
  6. *C* PROJET : Opérateur CLMI *
  7. *C* NOM : cl_E_3 .dgibi *
  8. *C* DESCRIPTION : Jeu de données pour le calcul de la couche limite *
  9. *C* turbulente en utilisant les relations de fermeture de *
  10. *C* Cousteix - Cas de la plaque plane sans gradient de *
  11. *C* pression -Méthode de Head *
  12. *C* LANGAGE : Gibiane *
  13. *C* AUTEUR : Guillaume VENCO - DRN/DMT/SEMT/LTMF *
  14. *C* *
  15. *C***********************************************************************
  16. *C* *
  17. *C* APPELES : Opérateur CLMI *
  18. *C* *
  19. *C***********************************************************************
  20. *C* *
  21. *C* *
  22. *C***********************************************************************
  23. *C* *
  24. *C* VERSION : 19/05/2000 *
  25. *C* CREATION : 07/04/2000 *
  26. *C* *
  27. *C***********************************************************************
  28.  
  29. 'OPTION' dime 2 elem seg2 ;
  30. GRAPH=FAUX;
  31. COMPLET=FAUX;
  32. *>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  33. *>>>>>>>>>>>>>Maillage et domaine>>>>>>>>>>>>>>>>>>>>>>>>>>>
  34. *>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  35. P1 = 0.3 0.;
  36. p2 = 10. 0. ;
  37. nb1 = 10;
  38. p1p2 = 'DROIT' p1 p2 'DINI' 0.0001 'DFIN' 1. ;
  39. *p1p2 = 'DROIT' p1 p2 20;
  40. mt = p1p2 ;
  41. * 'TRACER' mt ;
  42.  
  43. *Définition du modèle
  44. Mmt = 'CHANGER' mt 'QUAF' ;
  45. Mail = 'CHANGER' Mmt 'POI1';
  46. Pt0 = Mail 'ELEM' 1;
  47. $mt = 'MODELISER' Mmt 'NAVIER_STOKES' 'LINE' ;
  48.  
  49. *Données
  50. Ue0 = 1.;
  51. NU = 1.d-6 ;
  52. *Valeurs initiales données par la loi de puissance
  53. D20=8.67d-4;
  54. Q10=6.42*D20;
  55.  
  56. *D20=3.64d-4;
  57. *Q10=5.805*D20;
  58. *Pas de temps et nombre de pas
  59. DT = 1.;
  60.  
  61. NBIT =10;
  62. Si COMPLET;
  63. NBIT =100;
  64. Finsi;
  65.  
  66. *Champ de vitesse à l'extérieur
  67.  
  68. *vitesse en puissance
  69. K=1.;
  70. m=(0.);
  71. m1= 'DOMA' $mt 'SOMMET';
  72. X = 'COORDONNEE' 1 m1;
  73. X1 = (X**m);
  74. UEX = K*X1;
  75. UE = 'KCHT' $mt scal 'SOMMET' UEX;
  76. X2 = (X**(m-1));
  77. DUEX = K*m*X2 ;
  78. DUE = 'KCHT' $mt scal 'SOMMET' DUEX;
  79.  
  80. *>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  81. *>>>>>>>>>>>>Création de la table RV et de la table RK>>>>>>
  82. *>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  83.  
  84. *Dans CLMI le 1er coef correspond au type de fermeture
  85. *le 2ème coef correspond au n°de l'équation à traiter
  86. *1=QDM 2=Energie cinétique
  87.  
  88. rv = 'EQEX' 'OMEGA' 1. 'NITER' 1 'ITMA' 0 'FIDT' 1
  89. 'OPTI' 'EF' 'IMPL' 'CENTREE' 'BDF2'
  90. 'ZONE' $mt
  91. 'OPER' 'DFDT' 1. 'D2NM' 'D2N2' DT 'INCO' 'D2' ;
  92. * 'OPER' 'DFDT' 1. 'D2NM' DT 'INCO' 'D2' ;
  93.  
  94. rv = 'EQEX' rv
  95. 'OPTI' 'EF' 'IMPL' 'SUPG'
  96. 'ZONE' $mt
  97. 'OPER' 'CLMI' 5 1 UE DUE 'D2NM' 'Q1NM'
  98. 'INCO' 'D2' ;
  99.  
  100. rv = 'EQEX' rv
  101. 'OPTI' 'EF' 'IMPL' 'CENTREE' 'BDF2'
  102. 'ZONE' $mt
  103. 'OPER' 'DFDT' 1. 'Q1NM' 'Q1N2' DT 'INCO' 'Q1' ;
  104. * 'OPER' 'DFDT' 1. 'D1NM' DT 'INCO' 'D1' ;
  105.  
  106. rv = 'EQEX' rv
  107. 'OPTI' 'EF' 'IMPL' 'SUPG'
  108. 'ZONE' $mt
  109. 'OPER' 'CLMI' 5 3 UE DUE 'Q1NM' 'D2NM'
  110. 'INCO' 'Q1' ;
  111.  
  112. rv = 'EQEX' rv
  113. 'CLIM' 'D2' 'TIMP' pt0 D20
  114. 'CLIM' 'Q1' 'TIMP' pt0 Q10;
  115.  
  116.  
  117. rv.inco = 'TABLE' inco ;
  118. rv.inco.'D2'= 'KCHT' $mt scal sommet D20;
  119. rv.inco.'D2NM'= 'KCHT' $mt scal sommet D20;
  120. rv.inco.'D2N2'= 'KCHT' $mt scal sommet D20;
  121. rv.inco.'Q1'= 'KCHT' $mt scal sommet Q10;
  122. rv.inco.'Q1NM'= 'KCHT' $mt scal sommet Q10;
  123. rv.inco.'Q1N2'= 'KCHT' $mt scal sommet Q10;
  124.  
  125. ltps = 'PROG' 0. ;
  126. lteta = 'PROG' 0. ;
  127. TPS = 0. ;
  128. nupt = 0 ;
  129. mts1 = 'DOMA' $mt 'SOMMET' ;
  130. pt1 = 'POIN' mts1 2 ;
  131. 'LISTE' pt1 ;
  132.  
  133. *'OPTION' donn 5 ;
  134.  
  135. 'REPETER' BCLT nbit ;
  136. nupt=nupt+1;
  137. tps=tps+dt ;
  138. mess ' Pas de temps DT=' dt ' Temps = ' tps ;
  139. ltps=ltps et (prog tps) ;
  140. EXEC rv ;
  141. teta='EXTRAIRE' (rv.inco.'D2') 'SCAL' pt1 ;
  142. mess ' Teta=' teta ;
  143. lteta= lteta et ('PROG' teta);
  144.  
  145.  
  146. YNM = rv.'INCO'.'D2NM';
  147. ZNM = rv.'INCO'.'Q1NM';
  148.  
  149. rv.'INCO'.'D2N2' = rv.'INCO'.'D2NM';
  150. rv.'INCO'.'D2NM' = rv.'INCO'.'D2';
  151. rv.'INCO'.'Q1N2' = rv.'INCO'.'Q1NM';
  152. rv.'INCO'.'Q1NM' = rv.'INCO'.'Q1';
  153.  
  154. 'FIN' bclt ;
  155.  
  156. li4 = 'PROG' 'EXPO' 'A' -1. 'B' 0. ltps;
  157. evt2 = 'EVOL' 'ROUGE' manu ltps li4 ;
  158. evt= evol manu ltps lteta;
  159.  
  160.  
  161.  
  162. *>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  163. *>>>>>>>>>>>>>>>>>>>>>>> résultats>>>>>>>>>>>>>>>>>>>>>>>>>>
  164. *>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  165. *évolution de la vitesse extérieure et du gradient
  166. vit = 'EVOL' 'CHPO' UE mt;
  167. gvit = 'EVOL' 'ROUG' 'CHPO' DUE mt;
  168. *quantité de mouvement
  169. D2S = (rv.inco.'D2');
  170. RD2S = UE*D2S/NU;
  171. ev1s = 'EVOL' 'ROUGE' 'CHPO' RD2S mt;
  172. *différence entre (d-d1)
  173. Q1S = (rv.inco.'Q1');
  174. RQ1S = UE*Q1S/NU;
  175. ev2s = 'EVOL' 'ROUGE' 'CHPO' RQ1S mt;
  176. *Epaisseur de déplacement
  177. D1S = (rv.'INCO'.'D1');
  178. RD1S = UE*D1S/NU;
  179. ev3s = 'EVOL' 'ROUGE' 'CHPO' RD1S mt;
  180. *évolution du frottement à la paroi
  181. CfS = rv.'INCO'.'CF';
  182. ev4s = 'EVOL' 'ROUGE' 'CHPO' CfS mt;
  183. *évolution du facteur de forme H final
  184. HS = rv.'INCO'.'H';
  185. ev5s = 'EVOL' 'ROUGE' 'CHPO' HS mt;
  186. *évolution du facteur H*
  187. HHS = Q1S*(D2S**(-1));
  188. ev6s = 'EVOL' 'ROUGE' 'CHPO' HHS mt;
  189.  
  190.  
  191. *>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  192. *solution théorique cf:SCHLICHTING >>>>>>>>>>>>>>>>>>>>>>>>
  193. *>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  194. RX = X*UE*(1./NU);
  195. *Quantité de mvt
  196. *----Rteta donné par Nikuradze
  197. RD2N = (0.01738/1.304)*(RX**(0.861));
  198. ev1n = 'EVOL' 'BLEU' 'CHPO' RD2N mt;
  199. *----Rteta par la loi de puissance
  200. RD2P = (1./1.e-6)*(0.036*X*(RX**(-1./5)))*UE;
  201. ev1p = 'EVOL' 'VERT' 'CHPO' RD2P mt;
  202. *différence (d-d1) théorique
  203. Q1P=(0.37-(1.2857*0.036))*(X*(RX**(-1./5)));
  204. RQ1P=UE*Q1P/NU;
  205. ev2p='EVOL' 'VERT' 'CHPO' RQ1P mt;
  206. *Epaisseur de déplacement
  207. *----Rdelta1 par la Nikuradze
  208. RD1N = 1.304*RD2N;
  209. ev3n = 'EVOL' 'BLEU' 'CHPO' RD1N mt;
  210. *----Rdelta1 par la loi de puissance
  211. RD1P = (9./7.)*RD2P;
  212. ev3p = 'EVOL' 'VERT' 'CHPO' RD1P mt;
  213. *Coefficient de frottement
  214. *----Formule par Nikuradze
  215. CfN = 0.02296*(RX**(-0.139));
  216. ev4n = 'EVOL' 'BLEU' 'CHPO' CfN mt;
  217. *----Formule par loi de puissance
  218. CfP = 0.0576*(RX**(-1./5.));
  219. ev4p = 'EVOL' 'VERT' 'CHPO' CfP mt;
  220. *facteur de forme
  221. *----H par Nikuradze
  222. HN = 'KCHT' $mt scal sommet 1.304;
  223. ev5n = 'EVOL' 'BLEU' 'CHPO' HN mt;
  224. *----H par loi de puissance
  225. HP = 'KCHT' $mt scal sommet 1.2857;
  226. ev5p = 'EVOL' 'VERT' 'CHPO' HP mt;
  227. *coef H* théorique
  228. HHP='KCHT' $mt scal sommet 7.89;
  229. ev6p= 'EVOL' 'BLEU' 'CHPO' HHP mt;
  230.  
  231. *>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  232. *Courbes>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  233. *>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  234. Si GRAPH;
  235.  
  236. 'DESSIN' (evt) 'TITR' 'Convergence de la valeur au dernier noeud'
  237. 'TITY' 'Valeurs de Y' 'TITX' 'Temps';
  238.  
  239. 'DESSIN' (vit 'ET' gvit)
  240. 'TITRE' 'Vitesse et gradient de vitesse extérieure';
  241.  
  242. TAB1 = 'TABLE' ;
  243. TAB1.'TITRE' = 'TABLE' ;
  244. TAB1.'TITRE' . 1 = MOT ' Simulation';
  245. TAB1.'TITRE' . 2 = MOT ' Nikuradze';
  246. TAB1.'TITRE' . 3 = MOT ' Loi de puissance';
  247.  
  248. TAB2 = 'TABLE' ;
  249. TAB2.'TITRE' = 'TABLE' ;
  250. TAB2.'TITRE' . 1 = MOT ' Simulation';
  251. TAB2.'TITRE' . 2 = MOT ' Loi de puissance';
  252.  
  253. 'DESSIN' (ev1s 'ET' ev1n 'ET' ev1p)
  254. 'TITRE' 'Epaisseur de quantité de mouvement'
  255. 'TITY' 'Rteta'
  256. 'TITX' 'Abscisses'
  257. 'GRIL'
  258. 'LEGE' TAB1;
  259.  
  260. 'DESSIN' (ev2s 'ET' ev2p) 'TITRE' 'différence entre delta et delta1'
  261. 'TITY' 'Rdelta-Rdelta1'
  262. 'TITX' 'Abscisses'
  263. 'GRIL'
  264. 'LEGE' TAB2;
  265.  
  266. 'DESSIN' (ev3s 'ET' ev3n 'ET' ev3p)
  267. 'TITRE' 'Epaisseur de déplacement'
  268. 'TITY' 'Rdelta1'
  269. 'TITX' 'Abscisses'
  270. 'GRIL'
  271. 'LEGE' TAB1;
  272.  
  273. 'DESSIN' (ev4s 'ET' ev4n 'ET' ev4p)
  274. 'TITRE' 'Coefficient de frottement à la paroi'
  275. 'TITX' 'Abscisses'
  276. 'TITY' 'Cf'
  277. 'GRIL'
  278. 'LEGE' TAB1;
  279.  
  280. 'DESSIN' (ev5s 'ET' ev5n 'ET' ev5p)
  281. 'TITRE' 'Evolution du facteur de forme'
  282. 'TITX' 'Abscisses'
  283. 'TITY' 'H=delta1/theta'
  284. 'LEGE' TAB1;
  285.  
  286. 'DESSIN' (ev6s 'ET' ev6p) 'TITRE' 'Evolution du facteur H*'
  287. 'TITX' 'Abscisses'
  288. 'TITY' 'H'
  289. 'LEGE' TAB1;
  290. Finsi;
  291.  
  292. *calcul de l'erreur au sens de la norme L2
  293. diag = 'DOMA' $mt 'XXDIAGSI';
  294. r = (RD2S-RD2N)**2;
  295. r2= (RD2S-RD2P)**2;
  296. EL2N = 'SOMT'(diag*r);
  297. EL2P = 'SOMT'(diag*r2);
  298. 'MESSAGE' 'Erreur sur teta au sens de la norme L2=';
  299. 'LISTE' EL2N;
  300. 'LISTE' EL2P;
  301. r3=(RQ1S-RQ1P)**2;
  302. EL3P= 'SOMT'(diag*r3);
  303. 'MESSAGE' 'Erreur sur (delta-delta1) au sens de la norme L2=';
  304. 'LISTE' EL3P;
  305.  
  306. *SAUVEGARDE
  307. *'OPTION' 'SAUVER' '/u2/ttmf2/guillaume/c20/turb3H_sauv';
  308. *SAUVER;
  309.  
  310. **************************************************************************
  311. **************************************************************************
  312. *Facteur de forme
  313. x = 'EXTRAIRE' ev5s 'ABSC';
  314. hs = 'EXTRAIRE' ev5s 'ORDO';
  315. hn = 'EXTRAIRE' ev5n 'ORDO';
  316. hp = 'EXTRAIRE' ev5p 'ORDO';
  317. nlist = 'DIME' x;
  318. *'OPTION' echo 0;
  319. *'OPTION' impr 'turb3H_H.data';
  320. 'REPETER' BLIST nlist;
  321. xi = 'EXTRAIRE' x &BLIST;
  322. hsi = 'EXTRAIRE' hs &BLIST;
  323. hni = 'EXTRAIRE' hn &BLIST;
  324. hpi = 'EXTRAIRE' hp &BLIST;
  325. * 'MESSAGE' ('CHAINE' xi ' ' hsi ' ' hni ' ' hpi);
  326. 'FIN' BLIST;
  327. *'OPTION' impr 'Bidon';
  328. *Facteur de forme en fonction de Rtheta
  329. x = 'EXTRAIRE' ev1s 'ORDO';
  330. hs = 'EXTRAIRE' ev5s 'ORDO';
  331. nlist = 'DIME' x;
  332. *'OPTION' echo 0;
  333. *'OPTION' impr 'turb3H_H2.data';
  334. 'REPETER' BLIST nlist;
  335. xi = 'EXTRAIRE' x &BLIST;
  336. hsi = 'EXTRAIRE' hs &BLIST;
  337. * 'MESSAGE' ('CHAINE' xi ' ' hsi );
  338. 'FIN' BLIST;
  339. *'OPTION' impr 'Bidon';
  340. *Epaisseur de quantité de mouvement
  341. x = 'EXTRAIRE' ev1s 'ABSC';
  342. d2s = 'EXTRAIRE' ev1s 'ORDO';
  343. d2n = 'EXTRAIRE' ev1n 'ORDO';
  344. d2p = 'EXTRAIRE' ev1p 'ORDO';
  345. nlist = 'DIME' x;
  346. *'OPTION' echo 0;
  347. *'OPTION' impr 'turb3H_D2.data';
  348. 'REPETER' BLIST nlist;
  349. xi = 'EXTRAIRE' x &BLIST;
  350. d2si = 'EXTRAIRE' d2s &BLIST;
  351. d2ni = 'EXTRAIRE' d2n &BLIST;
  352. d2pi = 'EXTRAIRE' d2p &BLIST;
  353. * 'MESSAGE' ('CHAINE' xi ' ' d2si ' ' d2ni ' ' d2pi);
  354. 'FIN' BLIST;
  355. *'OPTION' impr 'Bidon';
  356. *Epaisseur de déplacement
  357. x = 'EXTRAIRE' ev3s 'ABSC';
  358. d1s = 'EXTRAIRE' ev3s 'ORDO';
  359. d1n = 'EXTRAIRE' ev3n 'ORDO';
  360. d1p = 'EXTRAIRE' ev3p 'ORDO';
  361. nlist = 'DIME' x;
  362. *'OPTION' echo 0;
  363. *'OPTION' impr 'turb3H_D1.data';
  364. 'REPETER' BLIST nlist;
  365. xi = 'EXTRAIRE' x &BLIST;
  366. d1si = 'EXTRAIRE' d1s &BLIST;
  367. d1ni = 'EXTRAIRE' d1n &BLIST;
  368. d1pi = 'EXTRAIRE' d1p &BLIST;
  369. * 'MESSAGE' ('CHAINE' xi ' ' d1si ' ' d1ni ' ' d1pi);
  370. 'FIN' BLIST;
  371. *'OPTION' impr 'Bidon';
  372.  
  373. *Coeff de frottement
  374. x = 'EXTRAIRE' ev4s 'ABSC';
  375. cfs = 'EXTRAIRE' ev4s 'ORDO';
  376. cfn = 'EXTRAIRE' ev4n 'ORDO';
  377. cfp = 'EXTRAIRE' ev4p 'ORDO';
  378. nlist = 'DIME' x;
  379. *'OPTION' echo 0;
  380. *'OPTION' impr 'turb3H_CF.data';
  381. 'REPETER' BLIST nlist;
  382. xi = 'EXTRAIRE' x &BLIST;
  383. cfsi = 'EXTRAIRE' cfs &BLIST;
  384. cfni = 'EXTRAIRE' cfn &BLIST;
  385. cfpi = 'EXTRAIRE' cfp &BLIST;
  386. * 'MESSAGE' ('CHAINE' xi ' ' cfsi ' ' cfni ' ' cfpi);
  387. 'FIN' BLIST;
  388. *'OPTION' impr 'Bidon';
  389.  
  390. 'FIN' ;
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  

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