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

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