Télécharger primtest1.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : primtest1.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. **** Gaz monoespece "calorically perfect" ****
  10. **** ****
  11. **** A. BECCANTINI DRN/DMT/SEMT/TTMF MARS 1998 ****
  12. ***********************************************************
  13.  
  14.  
  15. 'OPTION' 'DIME' 2 ;
  16. 'OPTION' 'ELEM' QUA4 ;
  17. 'OPTION' 'ECHO' 0 ;
  18. 'OPTION' 'TRAC' 'PS';
  19.  
  20. *
  21. **** GRAPH
  22. *
  23.  
  24. GRAPH = FAUX ;
  25. * GRAPH = VRAI ;
  26.  
  27.  
  28. ***************************
  29. ***** DOMAINE SPATIAL ****
  30. ***************************
  31.  
  32.  
  33. A1 = 0.0D0 0.0D0;
  34. A2 = 2.0D0 0.0D0;
  35. A3 = 3.0D0 0.0D0;
  36. A4 = 4.0D0 1.0D0;
  37. A5 = 1.0D0 1.0D0;
  38. A6 = 0.0D0 1.0D0;
  39.  
  40. MAI1 = ('MANUEL' 'POI1' A1) 'ET'
  41. ('MANUEL' 'POI1' A2) 'ET'
  42. ('MANUEL' 'POI1' A3) 'ET'
  43. ('MANUEL' 'POI1' A4) 'ET'
  44. ('MANUEL' 'POI1' A5) 'ET'
  45. ('MANUEL' 'POI1' A6) ;
  46. *
  47.  
  48. MAI2 = ('MANUEL' 'POI1' A2) 'ET'
  49. ('MANUEL' 'POI1' A1) 'ET'
  50. ('MANUEL' 'POI1' A3) 'ET'
  51. ('MANUEL' 'POI1' A4) 'ET'
  52. ('MANUEL' 'POI1' A5) 'ET'
  53. ('MANUEL' 'POI1' A6) ;
  54. *
  55. MAI3 = ('MANUEL' 'POI1' A3) 'ET'
  56. ('MANUEL' 'POI1' A2) 'ET'
  57. ('MANUEL' 'POI1' A1) 'ET'
  58. ('MANUEL' 'POI1' A4) 'ET'
  59. ('MANUEL' 'POI1' A5) 'ET'
  60. ('MANUEL' 'POI1' A6) ;
  61. *
  62. MAI4 = ('MANUEL' 'POI1' A4) 'ET'
  63. ('MANUEL' 'POI1' A3) 'ET'
  64. ('MANUEL' 'POI1' A2) 'ET'
  65. ('MANUEL' 'POI1' A1) 'ET'
  66. ('MANUEL' 'POI1' A5) 'ET'
  67. ('MANUEL' 'POI1' A6) ;
  68.  
  69. ***********************
  70. **** TEST1 ************
  71. ***********************
  72. *
  73. **** CHPOINTs definis sur la meme rapresentation du maillage
  74. *
  75.  
  76. GAMMA = 'BRUI' 'BLAN' 'UNIF' 1.4 0.3 MAI1 ;
  77.  
  78. RN = 'BRUI' 'BLAN' 'UNIF' 1.24 0.5 MAI1 ;
  79. PN = 'BRUI' 'BLAN' 'UNIF' 11.24 5.5 MAI1 ;
  80. VNY = ('NOMC' 'UY'
  81. ('BRUI' 'BLAN' 'UNIF' 1.24 7.5 MAI1)
  82. 'NATU' 'DISCRET') ;
  83. VNX = ('NOMC' 'UX'
  84. ('BRUI' 'BLAN' 'UNIF' 0.24 0.5 MAI1)
  85. 'NATU' 'DISCRET') ;
  86. VN = VNX 'ET' VNY ;
  87.  
  88. *
  89. *** La quantité de mouvement
  90. *
  91.  
  92. GN = VN '*' RN ('MOTS' 'UY' 'UX') ('MOTS' 'SCAL' 'SCAL')
  93. ('MOTS' 'UY' 'UX') ;
  94. GN1 = 'COPIER' GN ;
  95.  
  96. * Composantes de GN1: 'UY', 'UX' ;
  97.  
  98. *
  99. *** L'energie totale (ROET)
  100. *
  101.  
  102. GM1 = GAMMA '-' ('MANUEL' 'CHPO' MAI1 1 'SCAL' 1.0) ;
  103. ETHER = PN '/' GM1;
  104. ECIN = (0.5D0 * ('PSCAL' VN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY')))
  105. '*' RN;
  106. EN = ECIN '+' ETHER ;
  107.  
  108. VITESSE PRES = 'PRIM' 'PERFMONO' RN GN EN GAMMA;
  109.  
  110. ERRGN = 'MAXIMUM' (GN1 '-' GN) 'ABS' ;
  111.  
  112. ERRV = 'MAXIMUM' (VITESSE '-' VN) 'ABS';
  113. VCELL = ('MAXIMUM' VN 'ABS') ;
  114. 'SI' (VCELL > 0);
  115. ERRV = ERRV '/' VCELL;
  116. 'FINSI' ;
  117.  
  118. ERRP = ('MAXIMUM' (PRES '-' PN) 'ABS') '/' ('MAXIMUM' PN);
  119.  
  120. 'SI' (('MAXIMUM' ('PROG' ERRGN ERRV ERRP)) '>'
  121. 1.0D-12);
  122. 'MESSAGE' ('CHAINE' 'Erreur maximum');
  123. 'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRP));
  124. 'ERREUR' 5;
  125. 'FINSI' ;
  126.  
  127. ***********************
  128. **** TEST2 ************
  129. ***********************
  130. *
  131. **** CHPOINTs definis sur la meme rapresentation du maillage
  132. *
  133.  
  134. GAMMA = 'BRUI' 'BLAN' 'UNIF' 1.4 0.3 MAI1 ;
  135.  
  136. RN = 'BRUI' 'BLAN' 'UNIF' 1.24 0.5 MAI1 ;
  137. PN = 'BRUI' 'BLAN' 'UNIF' 11.24 5.5 MAI1 ;
  138. VNY = ('NOMC' 'UY'
  139. ('BRUI' 'BLAN' 'UNIF' 1.24 7.5 MAI1)
  140. 'NATU' 'DISCRET') ;
  141. VNX = ('NOMC' 'UX'
  142. ('BRUI' 'BLAN' 'UNIF' 0.24 0.5 MAI1)
  143. 'NATU' 'DISCRET') ;
  144. VN = VNX 'ET' VNY ;
  145.  
  146. *
  147. *** La quantité de mouvement
  148. *
  149.  
  150. GN = VN '*' RN ('MOTS' 'UX' 'UY') ('MOTS' 'SCAL' 'SCAL')
  151. ('MOTS' 'UX' 'UY') ;
  152. GN1 = 'COPIER' GN ;
  153.  
  154. * Composantes de GN1: 'UX', 'UY' ;
  155.  
  156. *
  157. *** L'energie totale (ROET)
  158. *
  159.  
  160. GM1 = GAMMA '-' ('MANUEL' 'CHPO' MAI1 1 'SCAL' 1.0) ;
  161. ETHER = PN '/' GM1;
  162. ECIN = (0.5D0 * ('PSCAL' VN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY')))
  163. '*' RN;
  164. EN = ECIN '+' ETHER ;
  165.  
  166. VITESSE PRES = 'PRIM' 'PERFMONO' RN GN EN GAMMA;
  167.  
  168. ERRGN = 'MAXIMUM' (GN1 '-' GN) 'ABS' ;
  169.  
  170. ERRV = 'MAXIMUM' (VITESSE '-' VN) 'ABS';
  171. VCELL = ('MAXIMUM' VN 'ABS') ;
  172. 'SI' (VCELL > 0);
  173. ERRV = ERRV '/' VCELL;
  174. 'FINSI' ;
  175.  
  176. ERRP = ('MAXIMUM' (PRES '-' PN) 'ABS') '/' ('MAXIMUM' PN);
  177.  
  178. 'SI' (('MAXIMUM' ('PROG' ERRGN ERRV ERRP)) '>'
  179. 1.0D-12);
  180. 'MESSAGE' ('CHAINE' 'Erreur maximum');
  181. 'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRP));
  182. 'ERREUR' 5;
  183. 'FINSI' ;
  184.  
  185.  
  186. ***********************
  187. **** TEST3 ************
  188. ***********************
  189. *
  190. **** CHPOINTs definis sur differents rapresentations du meme maillage
  191. *
  192.  
  193. GAMMA = 'BRUI' 'BLAN' 'UNIF' 1.4 0.3 MAI1 ;
  194.  
  195. RN = 'BRUI' 'BLAN' 'UNIF' 1.24 0.5 MAI2 ;
  196. PN = 'BRUI' 'BLAN' 'UNIF' 11.24 5.5 MAI3 ;
  197. VNY = ('NOMC' 'UY'
  198. ('BRUI' 'BLAN' 'UNIF' 1.24 7.5 MAI4)
  199. 'NATU' 'DISCRET') ;
  200. VNX = ('NOMC' 'UX'
  201. ('BRUI' 'BLAN' 'UNIF' 0.24 0.5 MAI3)
  202. 'NATU' 'DISCRET') ;
  203. VN = VNX 'ET' VNY ;
  204.  
  205. *
  206. *** La quantité de mouvement
  207. *
  208.  
  209. GN = VN '*' RN ('MOTS' 'UY' 'UX') ('MOTS' 'SCAL' 'SCAL')
  210. ('MOTS' 'UY' 'UX') ;
  211. GN1 = 'COPIER' GN ;
  212. * Composantes de GN1: 'UY', 'UX' ;
  213.  
  214. *
  215. *** L'energie totale (ROET)
  216. *
  217.  
  218. GM1 = GAMMA '-' ('MANUEL' 'CHPO' MAI1 1 'SCAL' 1.0) ;
  219. ETHER = PN '/' GM1;
  220. ECIN = (0.5D0 * ('PSCAL' VN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY')))
  221. '*' RN;
  222. EN = ECIN '+' ETHER ;
  223.  
  224.  
  225. VITESSE PRES = 'PRIM' 'PERFMONO' RN GN EN GAMMA;
  226.  
  227. * La representation de GN change, mais il est toujours le meme
  228. * Le maillage n'est pas dans le meme ordre
  229. * L'ordre des composantes aussi
  230. *
  231. ERRGN = 'MAXIMUM' (GN1 '-' GN) 'ABS' ;
  232. *
  233. **** L'erreur (pas d'integral pour semplifier le calcul);
  234. *
  235.  
  236. ERRV = 'MAXIMUM' (VITESSE '-' VN) 'ABS';
  237. VCELL = ('MAXIMUM' VN 'ABS') ;
  238. 'SI' (VCELL > 0);
  239. ERRV = ERRV '/' VCELL;
  240. 'FINSI' ;
  241.  
  242. ERRP = ('MAXIMUM' (PRES '-' PN) 'ABS') '/' ('MAXIMUM' PN);
  243.  
  244. 'SI' (('MAXIMUM' ('PROG' ERRGN ERRV ERRP)) '>'
  245. 1.0D-12);
  246. 'MESSAGE' ('CHAINE' 'Erreur maximum');
  247. 'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRP));
  248. 'ERREUR' 5;
  249. 'FINSI' ;
  250.  
  251. *
  252. ***********************
  253. **** TEST4 ************
  254. ***********************
  255. *
  256. **** CHPOINTs definis sur differents rapresentations du meme maillage
  257. *
  258.  
  259. GAMMA = 'BRUI' 'BLAN' 'UNIF' 1.4 0.3 MAI1 ;
  260.  
  261. RN = 'BRUI' 'BLAN' 'UNIF' 1.24 0.5 MAI2 ;
  262. PN = 'BRUI' 'BLAN' 'UNIF' 11.24 5.5 MAI3 ;
  263. VNY = ('NOMC' 'UY'
  264. ('BRUI' 'BLAN' 'UNIF' 1.24 7.5 MAI4)
  265. 'NATU' 'DISCRET') ;
  266. VNX = ('NOMC' 'UX'
  267. ('BRUI' 'BLAN' 'UNIF' 0.24 0.5 MAI3)
  268. 'NATU' 'DISCRET') ;
  269. VN = VNX 'ET' VNY ;
  270.  
  271. *
  272. *** La quantité de mouvement
  273. *
  274.  
  275. GN = VN '*' RN ('MOTS' 'UX' 'UY') ('MOTS' 'SCAL' 'SCAL')
  276. ('MOTS' 'UX' 'UY') ;
  277. GN1 = 'COPIER' GN ;
  278. * Composantes de GN1: 'UX', 'UY' ;
  279.  
  280. *
  281. *** L'energie totale (ROET)
  282. *
  283.  
  284. GM1 = GAMMA '-' ('MANUEL' 'CHPO' MAI1 1 'SCAL' 1.0) ;
  285. ETHER = PN '/' GM1;
  286. ECIN = (0.5D0 * ('PSCAL' VN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY')))
  287. '*' RN;
  288. EN = ECIN '+' ETHER ;
  289.  
  290.  
  291. VITESSE PRES = 'PRIM' 'PERFMONO' RN GN EN GAMMA;
  292.  
  293.  
  294. * La representation de GN change, mais il est toujours le meme
  295. * Le maillage n'est pas dans le meme ordre
  296. *
  297.  
  298. ERRGN = 'MAXIMUM' (GN1 '-' GN) 'ABS' ;
  299. *
  300. **** L'erreur (pas d'integral pour semplifier le calcul);
  301. *
  302.  
  303. ERRV = 'MAXIMUM' (VITESSE '-' VN) 'ABS';
  304. VCELL = ('MAXIMUM' VN 'ABS') ;
  305. 'SI' (VCELL > 0);
  306. ERRV = ERRV '/' VCELL;
  307. 'FINSI' ;
  308.  
  309. ERRP = ('MAXIMUM' (PRES '-' PN) 'ABS') '/' ('MAXIMUM' PN);
  310.  
  311. 'SI' (('MAXIMUM' ('PROG' ERRGN ERRV ERRP)) '>'
  312. 1.0D-12);
  313. 'MESSAGE' ('CHAINE' 'Erreur maximum');
  314. 'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRP));
  315. 'ERREUR' 5;
  316. 'FINSI' ;
  317.  
  318. *
  319.  
  320.  
  321. 'FIN' ;
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  

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