Télécharger primtest1_3D.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : primtest1_3D.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. **** Cas 3D ****
  11. **** ****
  12. **** A. BECCANTINI DRN/DMT/SEMT/TTMF JANVIER 1999 ****
  13. ***********************************************************
  14.  
  15.  
  16. 'OPTION' 'DIME' 3 ;
  17. 'OPTION' 'ELEM' CUB8 ;
  18. 'OPTION' 'ECHO' 0 ;
  19. 'OPTION' 'TRAC' 'X';
  20.  
  21. *
  22. **** GRAPH
  23. *
  24.  
  25. GRAPH = FAUX ;
  26. * GRAPH = VRAI ;
  27.  
  28.  
  29. ***************************
  30. ***** DOMAINE SPATIAL ****
  31. ***************************
  32.  
  33. ************
  34. * MAILLAGE *
  35. ************
  36.  
  37. NX = 10 ;
  38. NY = 2 ;
  39. NZ = 2 ;
  40.  
  41. L = 1.0D0 ;
  42. DX = L '/' NX '/' 2.0D0 ;
  43. H = NY '*' DX ;
  44. P = NZ '*' DX ;
  45. xD = 0.5D0 '*' L ;
  46. xG = -1.0D0 '*' xD ;
  47. yH = 0.5D0 '*' H ;
  48. yB = -1.0D0 '*' yH ;
  49. zV = 0.5D0 '*' P ;
  50. zR = -1.0D0 '*' zV ;
  51.  
  52. A1 = xG yB zR ;
  53. A2 = 0.0D0 yB zR ;
  54. A7 = xG yB zV ;
  55. A8 = 0.0D0 yB zV ;
  56.  
  57.  
  58. BAS1 = A1 'DROI' NX A2 ;
  59. BAS3 = A7 'DROI' NX A8 ;
  60. BAS5 = A1 'DROI' NZ A7 ;
  61. BAS6 = A2 'DROI' NZ A8 ;
  62.  
  63.  
  64. S11 = 'DALL' BAS3 BAS6 BAS1 BAS5 ;
  65.  
  66.  
  67. DOM1 = S11 'VOLU' NZ 'TRANS' (0.0 H 0.0) ;
  68. DOM2 = S11 'VOLU' NZ 'TRANS' (0.0 (-1.0*H) 0.0) ;
  69.  
  70.  
  71. DOMTOT = DOM1 ET DOM2;
  72. 'ELIMINATION' DOMTOT 1D-6;
  73.  
  74. $DOMTOT = 'DOMA' DOMTOT ;
  75. $DOM1 = 'DOMA' DOM1 'INCL' $DOMTOT ;
  76. $DOM2 = 'DOMA' DOM2 'INCL' $DOMTOT ;
  77.  
  78. 'SI' GRAPH ;
  79. 'TRACER' ($DOMTOT . 'MAILLAGE' ) 'TITRE' 'Maillage';
  80. 'FINSI' ;
  81.  
  82. ***********************
  83. **** Les CHPOINTs ****
  84. ***********************
  85.  
  86. GAMMA = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' 1.4D0;
  87.  
  88. RN1 = 'KCHT' $DOM1 'SCAL' 'CENTRE' 1.9D0;
  89. RN2 = 'KCHT' $DOM2 'SCAL' 'CENTRE' 2.9D0;
  90. RN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (RN1 'ET' RN2);
  91.  
  92. GN1 = 'KCHT' $DOM1 'VECT' 'CENTRE' (4.9D0 7.9D0 11.7);
  93. GN2 = 'KCHT' $DOM2 'VECT' 'CENTRE' (0.9D0 11.7D0 13.2);
  94. GN = 'KCHT' $DOMTOT 'VECT' 'CENTRE' (GN1 'ET' GN2);
  95.  
  96. PN1 = 'KCHT' $DOM1 'SCAL' 'CENTRE' 1.19D2;
  97. PN2 = 'KCHT' $DOM2 'SCAL' 'CENTRE' 2.92D3;
  98. PN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (PN1 'ET' PN2);
  99.  
  100. *
  101. *** La vitesse
  102. *
  103.  
  104. VITX = ('EXCO' 'UX ' GN) '/' RN;
  105. VITY = ('EXCO' 'UY ' GN) '/' RN;
  106. VITZ = ('EXCO' 'UZ ' GN) '/' RN;
  107.  
  108. *
  109. *** L'energie totale (ROET)
  110. *
  111.  
  112.  
  113. GM1 = GAMMA '-' ('KCHT' $DOMTOT 'SCAL' 'CENTRE' 1.0D0);
  114. ETHER = PN '/' GM1;
  115. lcg=mots 'UX' 'UY' 'UZ';
  116. ECIN = (0.5D0 * (GN lcg 'PSCA' GN lcg)) '/' RN;
  117. EN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (ECIN '+' ETHER);
  118.  
  119.  
  120. ************************
  121. **** L'operateur *****
  122. ************************
  123.  
  124. VITESSE PRES = 'PRIM' 'PERFMONO' RN GN EN GAMMA;
  125.  
  126.  
  127. *
  128. **** L'erreur (pas d'integral pour semplifier le calcul);
  129. *
  130.  
  131. VIT1X = 'EXCO' 'UX ' VITESSE;
  132. VIT1Y = 'EXCO' 'UY ' VITESSE;
  133. VIT1Z = 'EXCO' 'UZ ' VITESSE;
  134. ERRVX = 'MAXIMUM' (VIT1X '-' VITX) 'ABS';
  135. ERRVY = 'MAXIMUM' (VIT1Y '-' VITY) 'ABS';
  136. ERRVZ = 'MAXIMUM' (VIT1Z '-' VITZ) 'ABS';
  137. VCELL = ('MAXIMUM' VITX 'ABS') '+'
  138. ('MAXIMUM' VITY 'ABS' )'+'
  139. ('MAXIMUM' VITZ 'ABS' );
  140. 'SI' (VCELL > 0);
  141. ERRVX = ERRVX '/' VCELL;
  142. ERRVY = ERRVY '/' VCELL;
  143. ERRVZ = ERRVZ '/' VCELL;
  144. 'FINSI' ;
  145.  
  146. ERRP = ('MAXIMUM' (PRES '-' PN) 'ABS') '/' ('MAXIMUM' PN);
  147.  
  148.  
  149.  
  150. 'SI' (('MAXIMUM' ('PROG' ERRVX ERRVY ERRVZ ERRP)) '>'
  151. 1.0D-12);
  152. 'MESSAGE' ('CHAINE' 'Erreur maximum');
  153. 'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRVZ ERRP));
  154. 'ERREUR' 5;
  155. 'FINSI' ;
  156.  
  157. 'FIN' ;
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  

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