Télécharger primtest3.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : primtest3.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ***********************************************************
  5. **** APPROCHE VF "Cell-Centred Formulation" pour la ****
  6. **** solution des ****
  7. **** Equations d'Euler pour un gaz parfait ****
  8. **** OPERATEUR PRIM ****
  9. **** Cas: gaz multiespece "calorically perfect" ****
  10. **** ****
  11. **** A. BECCANTINI DRN/DMT/SEMT/TTMF MARS 1998 ****
  12. ***********************************************************
  13.  
  14. 'OPTION' 'DIME' 2 ;
  15. 'OPTION' 'ELEM' QUA4 ;
  16. 'OPTION' 'ECHO' 0;
  17. 'OPTION' 'TRAC' 'PS' ;
  18.  
  19. *
  20. *** GRAPHIQUES
  21. *
  22.  
  23. * GRAPH = VRAI ;
  24. GRAPH = FAUX ;
  25.  
  26.  
  27. ***************************
  28. ***** DOMAINE SPATIAL ****
  29. ***************************
  30.  
  31. A1 = 0.0D0 0.0D0;
  32. A2 = 2.0D0 0.0D0;
  33. A3 = 3.0D0 0.0D0;
  34. A4 = 4.0D0 1.0D0;
  35. A5 = 1.0D0 1.0D0;
  36. A6 = 0.0D0 1.0D0;
  37. A7 = 7.0D0 8.0D0 ;
  38.  
  39. MAI1 = ('MANUEL' 'POI1' A1) 'ET'
  40. ('MANUEL' 'POI1' A2) 'ET'
  41. ('MANUEL' 'POI1' A3) 'ET'
  42. ('MANUEL' 'POI1' A4) 'ET'
  43. ('MANUEL' 'POI1' A5) 'ET'
  44. ('MANUEL' 'POI1' A6) ;
  45. *
  46.  
  47. MAI2 = ('MANUEL' 'POI1' A2) 'ET'
  48. ('MANUEL' 'POI1' A1) 'ET'
  49. ('MANUEL' 'POI1' A3) 'ET'
  50. ('MANUEL' 'POI1' A4) 'ET'
  51. ('MANUEL' 'POI1' A5) 'ET'
  52. ('MANUEL' 'POI1' A6) ;
  53. *
  54. MAI3 = ('MANUEL' 'POI1' A3) 'ET'
  55. ('MANUEL' 'POI1' A2) 'ET'
  56. ('MANUEL' 'POI1' A1) 'ET'
  57. ('MANUEL' 'POI1' A4) 'ET'
  58. ('MANUEL' 'POI1' A5) 'ET'
  59. ('MANUEL' 'POI1' A6) ;
  60. *
  61. MAI4 = ('MANUEL' 'POI1' A4) 'ET'
  62. ('MANUEL' 'POI1' A3) 'ET'
  63. ('MANUEL' 'POI1' A2) 'ET'
  64. ('MANUEL' 'POI1' A1) 'ET'
  65. ('MANUEL' 'POI1' A5) 'ET'
  66. ('MANUEL' 'POI1' A6) ;
  67.  
  68.  
  69. ************************
  70. **** MODELE DU GAZ ****
  71. ************************
  72.  
  73. NESP = 4;
  74.  
  75. *
  76. *** GAS: H_2, O_2, H_2O, N_2
  77. *
  78. * CP, CV en J/Kg/K @ T = 3000
  79. *
  80.  
  81. PGAS = 'TABLE' ;
  82.  
  83. PGAS . 'CP' = 'TABLE' ;
  84. PGAS . 'CP' . 'H2 ' = .18729066D+05 ;
  85. PGAS . 'CP' . 'O2 ' = .11886820D+04 ;
  86. PGAS . 'CP' . 'H2O ' = .31209047D+04 ;
  87. PGAS . 'CP' . 'N2 ' = .12993995D+04 ;
  88.  
  89.  
  90.  
  91. PGAS . 'CV' = 'TABLE' ;
  92. PGAS . 'CV' . 'H2 ' = .14571861D+05 ;
  93. PGAS . 'CV' . 'O2 ' = .92885670D+03 ;
  94. PGAS . 'CV' . 'H2O ' = .26589930D+04 ;
  95. PGAS . 'CV' . 'N2 ' = .10024563D+04;
  96.  
  97.  
  98.  
  99. *
  100. **** Especes qui sont dans les equations d'Euler
  101. *
  102.  
  103. PGAS . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ;
  104.  
  105. *
  106. **** Espece qui n'y est pas
  107. *
  108.  
  109.  
  110. PGAS . 'ESPNEULE' = 'N2 ';
  111.  
  112.  
  113.  
  114. *
  115. ***********************
  116. **** Les CHPOINTs ****
  117. ***********************
  118.  
  119. GAMMA = 'BRUI' 'BLAN' 'UNIF' 1.4 0.3 MAI1 ;
  120.  
  121. RN = 'BRUI' 'BLAN' 'UNIF' 1.24 0.5 MAI1 ;
  122. PN = 'BRUI' 'BLAN' 'UNIF' 11.24 5.5 MAI2 ;
  123. VNY = ('NOMC' 'UY'
  124. ('BRUI' 'BLAN' 'UNIF' 1.24 7.5 MAI3)
  125. 'NATU' 'DISCRET') ;
  126. VNX = ('NOMC' 'UX'
  127. ('BRUI' 'BLAN' 'UNIF' 0.24 0.5 MAI4)
  128. 'NATU' 'DISCRET') ;
  129. VN = VNX 'ET' VNY ;
  130.  
  131. *
  132. *** La quantité de mouvement
  133. *
  134.  
  135. GN = VN '*' RN ('MOTS' 'UY' 'UX') ('MOTS' 'SCAL' 'SCAL')
  136. ('MOTS' 'UY' 'UX') ;
  137. GN1 = 'COPIER' GN ;
  138.  
  139.  
  140. *
  141. **** Les fractions massiques YN et les masses RYN
  142. *
  143. * N.B. YN n'as pas le meme supporte geometrique
  144. * que RN, PN; en general la numerotation
  145. * des noeuds est differente, mais ce n'est
  146. * pas grave!
  147. *
  148.  
  149. YN = ('NOMC' 'H2O ' ('BRUI' 'BLAN' 'UNIF' 0.15 0.1 MAI2)
  150. 'NATU' 'DISCRET') 'ET'
  151. ('NOMC' 'O2 ' ('BRUI' 'BLAN' 'UNIF' 0.17 0.08 MAI1)
  152. 'NATU' 'DISCRET') 'ET'
  153. ('NOMC' 'H2 ' ('BRUI' 'BLAN' 'UNIF' 0.11 0.08 MAI3)
  154. 'NATU' 'DISCRET') ;
  155.  
  156.  
  157. UNCH = 'MANUEL' 'CHPO' MAI1 1 'SCAL' 1.0 ;
  158.  
  159. YNESP = UNCH '-' ('PSCAL' UNCH YN ('MOTS' 'SCAL' 'SCAL' 'SCAL')
  160. (PGAS . 'ESPEULE')) ;
  161. YNESP = 'NOMC' 'N2 ' YNESP 'NATU' 'DISCRET' ;
  162.  
  163. YNTOT = YN 'ET' YNESP ;
  164.  
  165. RYN = YN '*' RN (PGAS . 'ESPEULE') ('MOTS' 'SCAL' 'SCAL' 'SCAL')
  166. (PGAS . 'ESPEULE') ;
  167. RYN1 = 'COPIER' RYN ;
  168.  
  169.  
  170. CV = ('MANUEL' 'CHPO' MAI1 1 'H2' (PGAS . 'CV' . 'H2 ')
  171. 'NATU' 'DISCRET') 'ET'
  172. ('MANUEL' 'CHPO' MAI1 1 'O2' (PGAS . 'CV' . 'O2 ')
  173. 'NATU' 'DISCRET') 'ET'
  174. ('MANUEL' 'CHPO' MAI1 1 'H2O' (PGAS . 'CV' . 'H2O ')
  175. 'NATU' 'DISCRET') 'ET'
  176. ('MANUEL' 'CHPO' MAI1 1 'N2' (PGAS . 'CV' . 'N2 ')
  177. 'NATU' 'DISCRET') ;
  178.  
  179. CP = ('MANUEL' 'CHPO' MAI1 1 'H2' (PGAS . 'CP' . 'H2 ')
  180. 'NATU' 'DISCRET') 'ET'
  181. ('MANUEL' 'CHPO' MAI1 1 'O2' (PGAS . 'CP' . 'O2 ')
  182. 'NATU' 'DISCRET') 'ET'
  183. ('MANUEL' 'CHPO' MAI1 1 'H2O' (PGAS . 'CP' . 'H2O ')
  184. 'NATU' 'DISCRET') 'ET'
  185. ('MANUEL' 'CHPO' MAI1 1 'N2' (PGAS . 'CP' . 'N2 ')
  186. 'NATU' 'DISCRET') ;
  187.  
  188. LMOT1 = (PGAS . 'ESPEULE') 'ET' ('MOTS' (PGAS . 'ESPNEULE')) ;
  189. CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ;
  190. CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ;
  191. GAMN = CPTOT '/' CVTOT ;
  192.  
  193.  
  194. GM1 = GAMN '-' UNCH ;
  195. ETHER = PN '/' GM1;
  196. ECIN = 0.5D0 '*' RN '*' ('PSCAL' VN VN ('MOTS' 'UX' 'UY')
  197. ('MOTS' 'UX' 'UY')) ;
  198. EN = ECIN '+' ETHER ;
  199. TN = ETHER '/' (CVTOT '*' RN) ;
  200.  
  201.  
  202. ************************
  203. **** L'operateur *****
  204. ************************
  205.  
  206. VITESSE PRES TEMPNEW YNNEW GAMNEW
  207. = 'PRIM' 'PERFMULT' PGAS RN GN EN RYN ;
  208.  
  209. ERRGN = 'MAXIMUM' (GN1 '-' GN) 'ABS' ;
  210. VCELL = ('MAXIMUM' GN 'ABS') ;
  211. 'SI' (VCELL > 0);
  212. ERRGN = ERRGN '/' VCELL;
  213. 'FINSI' ;
  214.  
  215. ERRV = 'MAXIMUM' (VITESSE '-' VN) 'ABS' ;
  216. VCELL = ('MAXIMUM' VN 'ABS') ;
  217. 'SI' (VCELL > 0);
  218. ERRV = ERRV '/' VCELL;
  219. 'FINSI' ;
  220.  
  221. ERRP = ('MAXIMUM' (PRES '-' PN) 'ABS') '/' ('MAXIMUM' PN);
  222.  
  223. ERRT = ('MAXIMUM' (TEMPNEW '-' TN) 'ABS') '/'
  224. ('MAXIMUM' TN) ;
  225.  
  226. ERRG = ('MAXIMUM' (GAMN '-' GAMNEW) 'ABS') '/'
  227. ('MAXIMUM' GAMN) ;
  228.  
  229. ERRY = 'MAXIMUM' (YNNEW '-' YN) 'ABS' ;
  230.  
  231. 'SI' (('MAXIMUM' ('PROG' ERRGN ERRV ERRP ERRT ERRG ERRY ) '>'
  232. 1.0D-12));
  233. 'MESSAGE' ('CHAINE' 'Erreur maximum');
  234. 'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRP ERRT ERRG ERRY
  235. ));
  236. 'ERREUR' 5;
  237. 'FINSI' ;
  238.  
  239. 'FIN' ;
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  

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