Télécharger konv_ther_sup.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : konv_ther_sup.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ***********************************************************
  5. **** APPROCHE VF "Cell-Centred Formulation" pour la ****
  6. **** solution des ****
  7. **** Equations d'Euler pour un gaz parfait ****
  8. **** OPERATEURS PRET, KONV ****
  9. **** ****
  10. **** Cas gaz monoespece "thermally perfect" ****
  11. **** Consistence en cas de supersonicite ****
  12. **** ****
  13. **** Methodes: VLH ****
  14. **** ****
  15. **** A. BECCANTINI DRN/DMT/SEMT/TTMF DECEMBRE 1998 ****
  16. ***********************************************************
  17.  
  18. 'OPTION' 'DIME' 2 ;
  19. 'OPTION' 'ELEM' QUA4 ;
  20. 'OPTION' 'ECHO' 0 ;
  21. 'OPTION' 'TRAC' 'X' ;
  22.  
  23. *
  24. *** GRAPH
  25. *
  26.  
  27.  
  28. GRAPH = FAUX ;
  29. * GRAPH = VRAI ;
  30.  
  31. **** Cas monoespece : la table proprieté de gaz
  32.  
  33. PGAZ = 'TABLE' ;
  34.  
  35. *
  36. **** Ordre des polynoms cv_i
  37. *
  38.  
  39. PGAZ . 'NORD' = 4 ;
  40.  
  41. *
  42. **** Especes qui sont dans les equations d'Euler (rien)
  43. *
  44.  
  45. *
  46. **** Espece qui n'y est pas
  47. *
  48.  
  49.  
  50. PGAZ . 'ESPNEULE' = 'H2 ';
  51.  
  52. *
  53.  
  54. PGAZ . 'H2 ' = 'TABLE' ;
  55.  
  56. *
  57. **** R (J/Kg/K)
  58. *
  59.  
  60. PGAZ . 'H2 ' . 'R' = 4130.0 ;
  61.  
  62. *
  63. **** Regressions polynomials
  64. *
  65.  
  66. PGAZ . 'H2 ' . 'A' = 'PROG' 9834.91866 0.54273926 0.000862203836
  67. -2.37281455E-07 1.84701105E-11 ;
  68.  
  69. *
  70. **** "Enthalpies" (ou energies) de formations a OK (J/Kg)
  71. * Note: ce sont des entites numeriques
  72. *
  73.  
  74. PGAZ . 'H2 ' . 'H0K' = -4.195D6 ;
  75.  
  76.  
  77. ***************************
  78. ***** DOMAINE SPATIAL ****
  79. ***************************
  80.  
  81.  
  82. A1 = 0.0D0 0.0D0;
  83. A2 = 1.0D0 0.0D0;
  84. A3 = 2.0D0 0.0D0;
  85. A4 = 2.0D0 1.0D0;
  86. A5 = 1.0D0 1.0D0;
  87. A6 = 0.0D0 1.0D0;
  88.  
  89. L12 = A1 'DROIT' 1 A2;
  90. L23 = A2 'DROIT' 1 A3;
  91. L34 = A3 'DROIT' 1 A4;
  92. L45 = A4 'DROIT' 1 A5;
  93. L56 = A5 'DROIT' 1 A6;
  94. L61 = A6 'DROIT' 1 A1;
  95. L25 = A2 'DROIT' 1 A5;
  96.  
  97.  
  98. DOM10 = 'DALL' L12 L25 L56 L61
  99. 'PLANE';
  100. DOM20 = 'DALL' L23 L34 L45 ('INVERSE' L25)
  101. 'PLANE';
  102. *
  103. *** Point ou on controlle la consistence
  104. *
  105.  
  106. P10 = 1.0 0.5;
  107.  
  108. *
  109. *** Etats gauche et droite
  110. *
  111.  
  112. rog = 1.412 ;
  113. pg = 1.17D5 ;
  114. ung = 1180.34 ;
  115. utg = 18.2 ;
  116. * cg = 350
  117.  
  118. rod = 1.0 ;
  119. pd = 4.1117D5 ;
  120. und = 1188.34 ;
  121. utd = 1.2 ;
  122.  
  123. *
  124. **** tg
  125. *
  126.  
  127. tg = pg '/' (rog * (PGAZ . 'H2 ' . 'R')) ;
  128.  
  129.  
  130. *
  131. **** gamg, gamd , htg , htd
  132. *
  133. *
  134.  
  135. A0H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 1 ;
  136. A1H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 2 ;
  137. A2H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 3 ;
  138. A3H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 4 ;
  139. A4H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 5 ;
  140.  
  141. T = tg ;
  142. T2 = T * T ;
  143. T3 = T2 * T ;
  144. T4 = T3 * T ;
  145. T5 = T4 * T ;
  146.  
  147.  
  148. ETG = (A0H2 * T) '+' (A1H2 * T2 '/' 2) '+' (A2H2 * T3 '/' 3) '+'
  149. (A3H2 * T4 '/' 4) '+' (A4H2 * T5 '/' 5) ;
  150.  
  151. ecing = 0.5D0 '*' ((ung '*' ung) '+' (utg '*' utg));
  152.  
  153. retg = rog '*' (ETG '+' ecing) ;
  154.  
  155. *
  156. *** flux en (n,t)
  157. *
  158.  
  159. f1gd = ung '*' rog;
  160. f2gd = (rog '*' (ung '*' ung)) '+' pg ;
  161. f3gd = rog '*' ung '*' utg ;
  162. f4gd = ung '*' (retg '+' pg);
  163.  
  164.  
  165. ****************************************************
  166. ****************************************************
  167. ******** Boucle sur les angles *********
  168. ****************************************************
  169. ****************************************************
  170.  
  171. DANGLE = 360 '/' 7.15;
  172. ANGLE = 11.3 ;
  173.  
  174. 'REPETER' BLMETO 2 ;
  175.  
  176. 'SI' ('EGA' &BLMETO 1) ;
  177. METO = 'VLH' ;
  178. 'FINSI' ;
  179.  
  180. 'SI' ('EGA' &BLMETO 2) ;
  181. METO = 'SS' ;
  182. 'FINSI' ;
  183.  
  184. 'REPETER' BLOC 8;
  185.  
  186. *
  187. *** Rotation
  188. *
  189.  
  190.  
  191. ANGLE = ANGLE '+' DANGLE;
  192. ORIG = 0.0D0 0.0D0;
  193.  
  194. MESSAGE;
  195. MESSAGE (CHAIN 'Angle de rotation= ' ANGLE);
  196. MESSAGE;
  197.  
  198. DOM1 = DOM10 'TOURNER' ANGLE ORIG;
  199. DOM2 = DOM20 'TOURNER' ANGLE ORIG;
  200. P1 = P10 'TOURNER' ANGLE ORIG;
  201.  
  202. 'ELIMINATION' (DOM1 ET DOM2) 1D-6;
  203. DOMTOT = DOM1 ET DOM2;
  204.  
  205. $DOMTOT = 'MODELISER' DOMTOT 'EULER';
  206. $DOM1 = 'MODELISER' DOM1 'EULER';
  207. $DOM2 = 'MODELISER' DOM2 'EULER';
  208. TDOMTOT = 'DOMA' $DOMTOT 'VF';
  209. TDOM1 = 'DOMA' $DOM1 'VF';
  210. TDOM2 = 'DOMA' $DOM2 'VF';
  211. MDOM1 = TDOM1 . 'QUAF' ;
  212. MDOM2 = TDOM2 . 'QUAF' ;
  213. MDOMTOT = TDOMTOT . 'QUAF' ;
  214.  
  215. 'ELIM' (MDOMTOT 'ET' MDOM1 'ET' MDOM2) 1.E-6 ;
  216.  
  217. 'SI' GRAPH;
  218. 'TRACER' (('DOMA' $DOMTOT 'MAILLAGE' ) 'ET'
  219. ('DOMA' $DOMTOT 'FACEL') 'ET' P1) 'TITRE' 'Domaine et FACEL';
  220. 'FINSI' ;
  221.  
  222. *
  223. **** Redefinition de P1 dans $DOMTOT 'FACE'
  224. *
  225.  
  226. P1 = ('DOMA' $DOMTOT 'FACE') 'POIN' 'PROC' P1;
  227.  
  228. ***********************
  229. **** Les CHPOINTs ****
  230. ***********************
  231.  
  232. uxg = (ung '*' ('COS' ANGLE)) '-' (utg '*' ('SIN' ANGLE));
  233. uyg = (ung '*' ('SIN' ANGLE)) '+' (utg '*' ('COS' ANGLE));
  234. uxd = (und '*' ('COS' ANGLE)) '-' (utd '*' ('SIN' ANGLE));
  235. uyd = (und '*' ('SIN' ANGLE)) '+' (utd '*' ('COS' ANGLE));
  236.  
  237.  
  238. RN1 = 'KCHT' $DOM1 'SCAL' 'CENTRE' rog;
  239. RN2 = 'KCHT' $DOM2 'SCAL' 'CENTRE' rod;
  240. RN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (RN1 'ET' RN2);
  241.  
  242. VN1 = 'KCHT' $DOM1 'VECT' 'CENTRE' (uxg uyg);
  243. VN2 = 'KCHT' $DOM2 'VECT' 'CENTRE' (uxd uyd);
  244. VN = 'KCHT' $DOMTOT 'VECT' 'CENTRE' (VN1 'ET' VN2);
  245.  
  246. PN1 = 'KCHT' $DOM1 'SCAL' 'CENTRE' pg;
  247. PN2 = 'KCHT' $DOM2 'SCAL' 'CENTRE' pd;
  248. PN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (PN1 'ET' PN2);
  249.  
  250.  
  251. ***************************
  252. **** L'operateur PRET****
  253. ***************************
  254.  
  255. ORDESP = 1;
  256. ORDTEM = 1;
  257.  
  258.  
  259. ROF VITF PF = 'PRET' 'PERFTEMP' ORDESP ORDTEM
  260. $DOMTOT PGAZ RN VN PN ;
  261.  
  262. GEOP1 = ('DOMA' $DOMTOT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT' P1;
  263. GEOP2 = ('DOMA' $DOMTOT 'FACE') 'ELEM' 'APPUYE' 'LARGEMENT' P1;
  264.  
  265.  
  266. REFGEOP1 = 'REDU' VITF GEOP2;
  267.  
  268. *
  269. **** Orientation de la normal n de castem par raport a la
  270. * notre; t est par consequence
  271. *
  272.  
  273. NCOS = 'EXTRAIRE' REFGEOP1 'NX' 1 1 1;
  274. NSIN = 'EXTRAIRE' REFGEOP1 'NY' 1 1 1;
  275.  
  276. 'SI' (('ABS' NCOS) > ('ABS' NSIN));
  277. ORIENT = ('COS' ANGLE) '/' NCOS;
  278. 'SINON';
  279. ORIENT = ('SIN' ANGLE) '/' NSIN;
  280. 'FINSI' ;
  281.  
  282. ORIENT = 'SIGN' ORIENT;
  283.  
  284. * 'KONV'
  285.  
  286. LISTINCO = 'MOTS' 'RN' 'RUX' 'RUY' 'RETN' ;
  287.  
  288. TFLUX DELTAT = 'KONV' 'VF' 'PERFTEMP' 'FLUX' METO
  289. $DOMTOT PGAZ LISTINCO ROF VITF PF ;
  290.  
  291. *
  292. **** Les flux aux interfaces sont dans de
  293. * CHPOINT FACE
  294. *
  295.  
  296. FLUX1 = 'EXCO' 'RN' TFLUX ;
  297. FLUX2X = 'EXCO' 'RUX' TFLUX ;
  298. FLUX2Y = 'EXCO' 'RUY' TFLUX ;
  299. FLUX3 = 'EXCO' 'RETN' TFLUX ;
  300.  
  301. FLUX2N = (FLUX2X '*' ('COS' ANGLE)) '+' (FLUX2Y * ('SIN' ANGLE));
  302. FLUX2T = (FLUX2Y '*' ('COS' ANGLE)) '-' (FLUX2X * ('SIN' ANGLE));
  303.  
  304.  
  305. *
  306. **** Test 'KONV'
  307. *
  308.  
  309. f1 = 'EXTRAIRE' FLUX1 'SCAL' P1;
  310. ERRO = 'ABS' (1D-12 '*' f1gd);
  311. LOGI1 = ('ABS' ((f1 '*' ORIENT) '-' f1gd)) < ERRO;
  312.  
  313. f2 = 'EXTRAIRE' FLUX2N 'SCAL' P1;
  314. ERRO = 'ABS' (1D-12 '*' f2gd);
  315. LOGI2 = ('ABS' ((f2 '*' ORIENT) '-' f2gd)) < ERRO;
  316. LOGI1 = LOGI1 'ET' LOGI2;
  317.  
  318. f3 = 'EXTRAIRE' FLUX2T 'SCAL' P1;
  319. ERRO = 'ABS' (1D-11 '*' f3gd) ;
  320. LOGI2 = ('ABS' ((f3 '*' ORIENT) '-' f3gd)) < ERRO;
  321. LOGI1 = LOGI1 'ET' LOGI2;
  322.  
  323. f4 = 'EXTRAIRE' FLUX3 'SCAL' P1;
  324. ERRO = 'ABS' (1D-12 '*' f4gd) ;
  325. LOGI2 = ('ABS' ((f4 '*' ORIENT) '-' f4gd)) < ERRO;
  326. LOGI1 = LOGI1 'ET' LOGI2;
  327.  
  328. 'SI' ('NON' LOGI1);
  329. 'MESSAGE' ;
  330. 'MESSAGE' 'OPERATEUR KONV';
  331. 'MESSAGE' ('CHAINE' METO);
  332. 'MESSAGE' ;
  333. 'MESSAGE' ('CHAINE' 'df1 ' ('ABS' (f1gd '-' (ORIENT '*'f1)))
  334. ' f1 ' f1);
  335. 'MESSAGE' ('CHAINE' 'df2 ' ('ABS' (f2gd '-' (ORIENT '*'f2)))
  336. ' f2 ' f2);
  337. 'MESSAGE' ('CHAINE' 'df3 ' ('ABS' (f3gd '-' (ORIENT '*'f3)))
  338. ' f3 ' f3);
  339. 'MESSAGE' ('CHAINE' 'df4 ' ('ABS' (f4gd '-' (ORIENT '*'f4)))
  340. ' f4 ' f4);
  341. 'ERREUR' 5;
  342. 'FINSI' ;
  343.  
  344.  
  345. ****************************************************
  346. ****************************************************
  347. ******** Fin boucle sur les angles *********
  348. ****************************************************
  349. ****************************************************
  350.  
  351. 'FIN' BLOC;
  352.  
  353. 'FIN' BLMETO ;
  354.  
  355. 'FIN' ;
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  

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