Télécharger flux_wall.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : flux_wall.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *********************************************************************
  5. **** APPROCHE VF "Cell-Centred Formulation" pour la solution des ****
  6. **** Equations d'Euler pour un gaz parfait ****
  7. **** OPERATEURS PRIM, PRET, KONV ****
  8. **** Gaz monoespece "calorically perfect" ****
  9. **** Flux au mur calcule par Godunov ****
  10. **** ****
  11. **** A. BECCANTINI DRN/DMT/SEMT/TTMF NOVEMBRE 1998 ****
  12. *********************************************************************
  13.  
  14. 'OPTION' 'DIME' 2 ;
  15. 'OPTION' 'ELEM' QUA4 ;
  16. 'OPTION' 'ECHO' 0 ;
  17. 'OPTION' 'TRAC' 'PS' ;
  18.  
  19. GRAPH = FAUX ;
  20. * GRAPH = VRAI ;
  21.  
  22. ***************************
  23. ***** DOMAINE SPATIAL ****
  24. ***************************
  25.  
  26.  
  27. A1 = 0.0D0 0.0D0;
  28. A2 = 1.0D0 0.0D0;
  29. A3 = 1.0D0 1.0D0;
  30. A4 = 0.0D0 1.0D0;
  31.  
  32. L12 = A1 'DROIT' 1 A2 ;
  33. L23 = A2 'DROIT' 1 A3 ;
  34. L34 = A3 'DROIT' 1 A4 ;
    L41 = A4 'DROIT' 1 A1 ;
  35.  
  36. DOM10 = 'DALL' L12 L23 L34 L41 'PLANE';
  37.  
  38. *
  39. *** Point ou on controlle l'etat
  40. *
  41.  
  42. P10 = 1.0 0.5 ;
  43.  
  44. *
  45. *** Etat centre
  46. *
  47.  
  48. ro = 1.0D0 ;
  49. un = 1.0D0 ;
  50. ut = 10.0D0 ;
  51. p = 1.0D0 ;
  52. gam = 1.4D0 ;
  53.  
  54. roet = (p '/' (gam '-' 1.0)) '+'
  55. ( 0.5 '*' ro '*' ((un '*' un) '+' (ut '*' ut))) ;
  56. *
  57. *** Etat exact sur le mur
  58. *
  59.  
  60. ps = 2.9266499D0 ;
  61.  
  62. f1ex = 0.0 ;
  63. f2ex = ps ;
  64. f3ex = 0.0 ;
  65. f4ex = 0.0 ;
  66.  
  67. ****************************************************
  68. ****************************************************
  69. ******** Boucle sur les angles *********
  70. ****************************************************
  71. ****************************************************
  72.  
  73. DANGLE = 360 '/' 7.15;
  74. ANGLE = 11.3 ;
  75.  
  76. 'REPETER' BLOC 8;
  77.  
  78. *
  79. *** Rotation
  80. *
  81.  
  82. ANGLE = ANGLE '+' DANGLE;
  83. ORIG = 0.0D0 0.0D0;
  84.  
  85. MESSAGE;
  86. MESSAGE (CHAIN 'Angle de rotation= ' ANGLE);
  87. MESSAGE;
  88.  
  89. DOM1 = DOM10 'TOURNER' ANGLE ORIG;
  90. P1 = P10 'TOURNER' ANGLE ORIG;
  91.  
  92. DOMTOT = DOM1 ;
  93. 'ELIM' DOMTOT 1.E-5 ;
  94.  
  95. $DOMTOT = 'MODE' DOMTOT 'EULER' ;
  96. TDOMTOT = 'DOMA' $DOMTOT 'VF' ;
  97.  
  98. 'SI' GRAPH ;
  99. 'TRACER' (('DOMA' $DOMTOT 'MAILLAGE' ) 'ET'
  100. ('DOMA' $DOMTOT 'FACEL') 'ET' P1) 'TITRE' 'Domaine et FACEL';
  101. 'FINSI' ;
  102.  
  103.  
  104. *
  105. **** Redefinition de P1 dans $DOMTOT 'FACE'
  106. *
  107.  
  108. P1 = ('DOMA' $DOMTOT 'FACE') 'POIN' 'PROC' P1;
  109.  
  110. ***********************
  111. **** Les CHPOINTs ****
  112. ***********************
  113.  
  114. ux = (un '*' ('COS' ANGLE)) '-' (ut '*' ('SIN' ANGLE));
  115. uy = (un '*' ('SIN' ANGLE)) '+' (ut '*' ('COS' ANGLE));
  116.  
  117. GAMMA = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' gam ;
  118.  
  119. RN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' ro ;
  120. GN = 'KCHT' $DOMTOT 'VECT' 'CENTRE' ((ro '*' ux) (ro '*' uy));
  121. EN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' roet ;
  122.  
  123.  
  124. ***************************
  125. **** L'operateur PRIM****
  126. ***************************
  127.  
  128. VITESSE PRES = 'PRIM' 'PERFMONO' RN GN EN GAMMA;
  129.  
  130. ***************************
  131. **** L'operateur PRET****
  132. ***************************
  133.  
  134. ORDESP = 1;
  135. ORDTEM = 1;
  136.  
  137. ROF VITF PF GAMF = 'PRET' 'PERFMONO' ORDESP ORDTEM
  138. $DOMTOT RN VITESSE PRES GAMMA;
  139.  
  140. *********************************************************
  141. *** Control des etats sur la surface qui contient P1 ****
  142. *********************************************************
  143.  
  144. GEOP1 = ('DOMA' $DOMTOT 'FACEL') 'ELEM' 'CONTENANT' P1;
  145. GEOP2 = ('DOMA' $DOMTOT 'FACE') 'ELEM' 'CONTENANT' P1;
  146.  
  147.  
  148. ROGEOP1 = 'REDU' ROF GEOP1;
  149. VGEOP1 = 'REDU' VITF GEOP1;
  150. PGEOP1 = 'REDU' PF GEOP1;
  151. GAMGEOP1 = 'REDU' GAMF GEOP1;
  152. REFGEOP1 = 'REDU' VITF GEOP2;
  153.  
  154. ********************************
  155. **** 'KONV', TEST GODUNOV ****
  156. ********************************
  157.  
  158. METO = 'GODUNOV' ;
  159. LISTINCO = ('MOTS' 'RN' 'RUNX' 'RUNY' 'RETN') ;
  160.  
  161. CHPFLU DT = 'KONV' 'VF' 'PERFMONO' 'FLUX' METO
  162. $DOMTOT ROF VITF PF GAMF LISTINCO ;
  163. *
  164. **** Les flux aux interfaces sont dans de
  165. * CHPOINT FACE
  166. *
  167.  
  168. FLUX1 = 'EXCO' ('EXTRAIRE' LISTINCO 1) CHPFLU ;
  169. FLUX2X = 'EXCO' ('EXTRAIRE' LISTINCO 2) CHPFLU ;
  170. FLUX2Y = 'EXCO' ('EXTRAIRE' LISTINCO 3) CHPFLU ;
  171. FLUX3 = 'EXCO' ('EXTRAIRE' LISTINCO 4) CHPFLU ;
  172.  
  173. FLUX2N = (FLUX2X '*' ('COS' ANGLE)) '+' (FLUX2Y * ('SIN' ANGLE));
  174. FLUX2T = (FLUX2Y '*' ('COS' ANGLE)) '-' (FLUX2X * ('SIN' ANGLE));
  175.  
  176. *
  177. **** Test 'KONV'
  178. *
  179.  
  180. ERRO = 1D-6 ;
  181.  
  182. f1 = 'EXTRAIRE' FLUX1 'SCAL' P1;
  183. ERROF1 = 'ABS' (f1 '-' f1ex);
  184. LOGI1 = ERROF1 > ERRO;
  185.  
  186. 'SI' LOGI1 ;
  187. 'MESSAGE' ;
  188. 'MESSAGE' ('CHAINE' 'ERR F1 ' ERROF1);
  189. 'MESSAGE' ;
  190. 'ERREUR' 5 ;
  191. 'FINSI' ;
  192.  
  193. f2 = 'EXTRAIRE' FLUX2N 'SCAL' P1;
  194. ERROF2 = 'ABS' (f2 '-' f2ex);
  195. LOGI1 = ERROF2 > ERRO;
  196.  
  197. 'SI' LOGI1 ;
  198. 'MESSAGE' ;
  199. 'MESSAGE' ('CHAINE' 'ERR F2 ' ERROF2);
  200. 'MESSAGE' ;
  201. 'ERREUR' 5 ;
  202. 'FINSI' ;
  203.  
  204. f3 = 'EXTRAIRE' FLUX2T 'SCAL' P1;
  205. ERROF3 = 'ABS' (f3 '-' f3ex);
  206. LOGI1 = ERROF3 > ERRO;
  207.  
  208. 'SI' LOGI1 ;
  209. 'MESSAGE' ;
  210. 'MESSAGE' ('CHAINE' 'ERR F3 ' ERROF3);
  211. 'MESSAGE' ;
  212. 'ERREUR' 5 ;
  213. 'FINSI' ;
  214.  
  215. f4 = 'EXTRAIRE' FLUX3 'SCAL' P1;
  216. ERROF4 = 'ABS' (f4 '-' f4ex);
  217. LOGI1 = ERROF4 > ERRO;
  218.  
  219. 'SI' LOGI1 ;
  220. 'MESSAGE' ;
  221. 'MESSAGE' ('CHAINE' 'ERR F4 ' ERROF4);
  222. 'MESSAGE' ;
  223. 'ERREUR' 5 ;
  224. 'FINSI' ;
  225.  
  226.  
  227. 'FIN' BLOC ;
  228.  
  229. 'FIN' ;
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  

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