Télécharger konv_scal_cons.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : konv_scal_cons.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ***********************************************************
  5. ***********************************************************
  6. **** APPROCHE VF "Cell-Centred Formulation" pour le ****
  7. **** transport des scalaires ****
  8. **** OPERATEURS PRET, KONV ****
  9. **** ****
  10. **** Consistence ****
  11. **** ****
  12. **** A. BECCANTINI DM2S/SFME NOVEMBRE 2001 ****
  13. ***********************************************************
  14. ***********************************************************
  15.  
  16. 'OPTION' 'DIME' 2 'ELEM' QUA4 'ECHO' 0 'TRAC' 'X' ;
  17.  
  18. *
  19. *** GRAPH
  20. *
  21.  
  22. GRAPH = FAUX ;
  23. * GRAPH = VRAI ;
  24.  
  25. ***************************
  26. ***** DOMAINE SPATIAL ****
  27. ***************************
  28.  
  29. A1 = 0.0D0 0.0D0;
  30. A2 = 1.0D0 0.0D0;
  31. A3 = 2.0D0 0.0D0;
  32. A4 = 2.0D0 1.0D0;
  33. A5 = 1.0D0 1.0D0;
  34. A6 = 0.0D0 1.0D0;
  35.  
  36. L12 = A1 'DROIT' 1 A2;
  37. L23 = A2 'DROIT' 1 A3;
  38. L34 = A3 'DROIT' 1 A4;
  39. L45 = A4 'DROIT' 1 A5;
  40. L56 = A5 'DROIT' 1 A6;
  41. L61 = A6 'DROIT' 1 A1;
  42. L25 = A2 'DROIT' 1 A5;
  43.  
  44.  
  45. DOM1 = 'DALL' L12 L25 L56 L61
  46. 'PLANE';
  47. DOM2 = 'DALL' L23 L34 L45 ('INVERSE' L25)
  48. 'PLANE';
  49. DOMTOT = DOM1 'ET' DOM2 ;
  50. 'ELIMINATION' 0.0001 DOMTOT ;
  51.  
  52. *
  53. *** Point ou on controlle la consistence
  54. *
  55.  
  56. P1 = 1.0 0.5;
  57.  
  58. $DOMTOT = 'MODELISER' DOMTOT 'EULER';
  59. $DOM1 = 'MODELISER' DOM1 'EULER';
  60. $DOM2 = 'MODELISER' DOM2 'EULER';
  61. TDOMTOT = 'DOMA' $DOMTOT 'VF';
  62. TDOM1 = 'DOMA' $DOM1 'VF';
  63. TDOM2 = 'DOMA' $DOM2 'VF';
  64. MDOM1 = TDOM1 . 'QUAF' ;
  65. MDOM2 = TDOM2 . 'QUAF' ;
  66. MDOMTOT = TDOMTOT . 'QUAF' ;
  67.  
  68. 'ELIM' (MDOMTOT 'ET' MDOM1 'ET' MDOM2) 1.E-6 ;
  69.  
  70. 'SI' GRAPH;
  71. 'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET'
  72. ('DOMA' $DOMTOT 'FACEL') 'ET' P1) 'TITRE' 'Domaine et FACEL';
  73. 'FINSI' ;
  74.  
  75. *
  76. *** Etats gauche et droit
  77. *
  78.  
  79. rog = 1.11;
  80. ung = 1.3;
  81. pg = 1234.7;
  82. gamg = 1.4D0;
  83.  
  84. rod = 11.11;
  85. und = 11.3;
  86. pd =11234.7;
  87. gamd = 1.41D0;
  88.  
  89. *
  90. **** Redefinition de P1 dans $DOMTOT 'FACE'
  91. *
  92.  
  93. P1 = ('DOMA' $DOMTOT 'FACE') 'POIN' 'PROC' P1;
  94.  
  95. ***********************
  96. **** Les CHPOINTs ****
  97. ***********************
  98.  
  99. SN = ('MANUEL' 'CHPO' ('DOMA' $DOM1 'CENTRE') 4 'RN' rog 'UN' ung
  100. 'PN' pg 'GAMN' gamg 'NATURE' 'DISCRET') 'ET'
  101. ('MANUEL' 'CHPO' ('DOMA' $DOM2 'CENTRE') 4 'RN' rod 'UN' und
  102. 'PN' pd 'GAMN' gamd 'NATURE' 'DISCRET') ;
  103.  
  104. UN = 'MANUEL' 'CHPO' ('DOMA' $DOMTOT 'FACE') 2 'UX' 1.0 'UY' 0.0 ;
  105.  
  106. SF = 'PRET' 'CLAUDEIS' 'FACE' 1 $DOMTOT SN ;
  107.  
  108. FLUX DT = 'KONV' 'VF' 'CLAUDEIS' 'FACE' 'FLUX' 'UPWIND'
  109. $DOMTOT SF UN ;
  110.  
  111. FLUX1 DT1 = 'KONV' 'VF' 'CLAUDEIS' 'FACE' 'FLUX' 'CENTERED'
  112. $DOMTOT SF UN ;
  113.  
  114. 'SI' (('ABS' (DT '-' 0.5)) > 1.0D-6) ;
  115. 'MESSAGE' 'DT = ???' ;
  116. 'MESSAGE' 'KONV =???' ;
  117. 'ERREUR' 5 ;
  118. 'FINSI' ;
  119.  
  120. *
  121.  
  122. SURFP1 = 'EXTRAIRE' ('DOMA' $DOMTOT 'XXSURFAC') P1 'SCAL' ;
  123.  
  124.  
  125. FP1 = ('MANUEL' 'CHPO' ('MANUEL' 'POI1' P1) 4 'RN' rog 'UN' ung
  126. 'PN' pg 'GAMN' gamg 'NATURE' 'DISCRET') * SURFP1 * (-1) ;
  127.  
  128. FPC = ('MANUEL' 'CHPO' ('MANUEL' 'POI1' P1) 4 'RN' ((rog '+' rod) '/'
  129. 2.) 'UN' ((ung '+' und) '/' 2.) 'PN' ((pg '+' pd) '/' 2.)
  130. 'GAMN' ((gamg '+' gamd) '/' 2.) 'NATURE' 'DISCRET') '*'
  131. SURFP1 * (-1) ;
  132.  
  133.  
  134. ERRO = FLUX 'ET' FP1 ;
  135.  
  136. ERRO = 'REDU' ERRO ('MANUEL' 'POI1' P1) ;
  137.  
  138. ERROSCAL = 'MAXIMUM' ERRO 'ABS' ;
  139.  
  140. 'SI' (ERROSCAL > 1.0D-6) ;
  141. 'MESSAGE' 'PRET =???' ;
  142. 'MESSAGE' 'KONV UPWIND =???' ;
  143. 'ERREUR' 5 ;
  144. 'FINSI' ;
  145.  
  146. ERRO = FLUX1 'ET' FPC ;
  147. ERRO = 'REDU' ERRO ('MANUEL' 'POI1' P1) ;
  148. ERROSCAL = 'MAXIMUM' ERRO 'ABS' ;
  149.  
  150. 'SI' (ERROSCAL > 1.0D-6) ;
  151. 'MESSAGE' 'PRET =???' ;
  152. 'MESSAGE' 'KONV CENTERED =???' ;
  153. 'ERREUR' 5 ;
  154. 'FINSI' ;
  155.  
  156. *
  157. **** UN = -1
  158. *
  159.  
  160. UN = 'MANUEL' 'CHPO' ('DOMA' $DOMTOT 'FACE') 2 'UX' -1.0 'UY' 0.0 ;
  161.  
  162. FLUX DT = 'KONV' 'VF' 'CLAUDEIS' 'FACE' 'FLUX' 'UPWIND'
  163. $DOMTOT SF UN ;
  164.  
  165. FLUX1 DT1 = 'KONV' 'VF' 'CLAUDEIS' 'FACE' 'FLUX' 'CENTERED'
  166. $DOMTOT SF UN ;
  167.  
  168. SURFP1 = 'EXTRAIRE' ('DOMA' $DOMTOT 'XXSURFAC') P1 'SCAL' ;
  169.  
  170.  
  171. FP1 = ('MANUEL' 'CHPO' ('MANUEL' 'POI1' P1) 4 'RN' rod 'UN' und
  172. 'PN' pd 'GAMN' gamd 'NATURE' 'DISCRET') * SURFP1 ;
  173.  
  174. ERRO = FLUX 'ET' FP1 ;
  175.  
  176. ERRO = 'REDU' ERRO ('MANUEL' 'POI1' P1) ;
  177.  
  178. ERROSCAL = 'MAXIMUM' ERRO 'ABS' ;
  179.  
  180. 'SI' (ERROSCAL > 1.0D-6) ;
  181. 'MESSAGE' 'PRET =???' ;
  182. 'MESSAGE' 'KONV =???' ;
  183. 'ERREUR' 5 ;
  184. 'FINSI' ;
  185.  
  186. 'SI' (('ABS' (DT '-' 0.5)) > 1.0D-6) ;
  187. 'MESSAGE' 'DT = ???' ;
  188. 'MESSAGE' 'KONV =???' ;
  189. 'ERREUR' 5 ;
  190. 'FINSI' ;
  191.  
  192. FPC = ('MANUEL' 'CHPO' ('MANUEL' 'POI1' P1) 4 'RN' ((rog '+' rod) '/'
  193. 2.) 'UN' ((ung '+' und) '/' 2.) 'PN' ((pg '+' pd) '/' 2.)
  194. 'GAMN' ((gamg '+' gamd) '/' 2.) 'NATURE' 'DISCRET') '*'
  195. SURFP1 ;
  196.  
  197. ERRO = FLUX1 'ET' FPC ;
  198. ERRO = 'REDU' ERRO ('MANUEL' 'POI1' P1) ;
  199. ERROSCAL = 'MAXIMUM' ERRO 'ABS' ;
  200.  
  201. 'SI' (ERROSCAL > 1.0D-6) ;
  202. 'MESSAGE' 'PRET =???' ;
  203. 'MESSAGE' 'KONV CENTERED =???' ;
  204. 'ERREUR' 5 ;
  205. 'FINSI' ;
  206.  
  207. 'FIN' ;
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  

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